Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943 (ignoring whitespace)

Files changed:

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

@@ -1,1 +827,1085 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents the input of a <code>Scan</code> operation.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents the input of a <code>Scan</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 ScanInput {
    7         -
    /// <p>The name of the table containing the requested items; or, if you provide <code>IndexName</code>, the name of the table to which that index belongs.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct ScanInput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The name of the table containing the requested items; or, if you provide <code>IndexName</code>, the name of the table to which that index belongs.</p>
    8     10   
    pub table_name: ::std::option::Option<::std::string::String>,
    9         -
    /// <p>The name of a secondary index to scan. This index can be any local secondary index or global secondary index. 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 a secondary index to scan. This index can be any local secondary index or global secondary index. 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>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>
          13  +
    /// /* 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>
   12     14   
    pub attributes_to_get: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
   13         -
    /// <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">Working with Queries</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          15  +
    /// /* 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">Working with Queries</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   14     16   
    pub limit: ::std::option::Option<i32>,
   15         -
    /// <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>
          17  +
    /// /* 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>
   16     18   
    /// <ul>
   17     19   
    /// <li>
   18     20   
    /// <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>
   19     21   
    /// <li>
   20     22   
    /// <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>
   21     23   
    /// <li>
   22     24   
    /// <p><code>COUNT</code> - Returns the number of matching items, rather than the matching items themselves.</p></li>
   23     25   
    /// <li>
   24     26   
    /// <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>
   25     27   
    /// <p>If you query or scan a local secondary index and request only attributes that are projected into that index, the operation reads 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>
   26     28   
    /// <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>
   27     29   
    /// </ul>
   28     30   
    /// <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>
   29     31   
    /// <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>
   30     32   
    /// </note>
   31     33   
    pub select: ::std::option::Option<crate::types::Select>,
   32         -
    /// <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.ScanFilter.html">ScanFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          34  +
    /// /* 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.ScanFilter.html">ScanFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   33     35   
    pub scan_filter: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Condition>>,
   34         -
    /// <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>
          36  +
    /// /* 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>
   35     37   
    pub conditional_operator: ::std::option::Option<crate::types::ConditionalOperator>,
   36         -
    /// <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>
          38  +
    /// /* 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>
   37     39   
    /// <p>The data type for <code>ExclusiveStartKey</code> must be String, Number or Binary. No set data types are allowed.</p>
   38     40   
    /// <p>In a parallel scan, a <code>Scan</code> request that includes <code>ExclusiveStartKey</code> must specify the same segment whose previous <code>Scan</code> returned the corresponding value of <code>LastEvaluatedKey</code>.</p>
   39     41   
    pub exclusive_start_key: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
   40         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
          42  +
    /// /* StructureGenerator.kt:231 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
   41     43   
    /// <ul>
   42     44   
    /// <li>
   43     45   
    /// <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>
   44     46   
    /// <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>
   45     47   
    /// <li>
   46     48   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
   47     49   
    /// <li>
   48     50   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
   49     51   
    /// </ul>
   50     52   
    pub return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
   51         -
    /// <p>For a parallel <code>Scan</code> request, <code>TotalSegments</code> represents the total number of segments into which the <code>Scan</code> operation will be divided. The value of <code>TotalSegments</code> corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a <code>TotalSegments</code> value of 4.</p>
          53  +
    /// /* StructureGenerator.kt:231 */<p>For a parallel <code>Scan</code> request, <code>TotalSegments</code> represents the total number of segments into which the <code>Scan</code> operation will be divided. The value of <code>TotalSegments</code> corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a <code>TotalSegments</code> value of 4.</p>
   52     54   
    /// <p>The value for <code>TotalSegments</code> must be greater than or equal to 1, and less than or equal to 1000000. If you specify a <code>TotalSegments</code> value of 1, the <code>Scan</code> operation will be sequential rather than parallel.</p>
   53     55   
    /// <p>If you specify <code>TotalSegments</code>, you must also specify <code>Segment</code>.</p>
   54     56   
    pub total_segments: ::std::option::Option<i32>,
   55         -
    /// <p>For a parallel <code>Scan</code> request, <code>Segment</code> identifies an individual segment to be scanned by an application worker.</p>
          57  +
    /// /* StructureGenerator.kt:231 */<p>For a parallel <code>Scan</code> request, <code>Segment</code> identifies an individual segment to be scanned by an application worker.</p>
   56     58   
    /// <p>Segment IDs are zero-based, so the first segment is always 0. For example, if you want to use four application threads to scan a table or an index, then the first thread specifies a <code>Segment</code> value of 0, the second thread specifies 1, and so on.</p>
   57     59   
    /// <p>The value of <code>LastEvaluatedKey</code> returned from a parallel <code>Scan</code> request must be used as <code>ExclusiveStartKey</code> with the same segment ID in a subsequent <code>Scan</code> operation.</p>
   58     60   
    /// <p>The value for <code>Segment</code> must be greater than or equal to 0, and less than the value provided for <code>TotalSegments</code>.</p>
   59     61   
    /// <p>If you provide <code>Segment</code>, you must also provide <code>TotalSegments</code>.</p>
   60     62   
    pub segment: ::std::option::Option<i32>,
   61         -
    /// <p>A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
          63  +
    /// /* StructureGenerator.kt:231 */<p>A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
   62     64   
    /// <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>
   63     65   
    /// <p>For more information, 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>
   64     66   
    pub projection_expression: ::std::option::Option<::std::string::String>,
   65         -
    /// <p>A string that contains conditions that DynamoDB applies after the <code>Scan</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p><note>
          67  +
    /// /* StructureGenerator.kt:231 */<p>A string that contains conditions that DynamoDB applies after the <code>Scan</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p><note>
   66     68   
    /// <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>
   67     69   
    /// </note>
   68     70   
    /// <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>
   69     71   
    pub filter_expression: ::std::option::Option<::std::string::String>,
   70         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
          72  +
    /// /* 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>
   71     73   
    /// <ul>
   72     74   
    /// <li>
   73     75   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
   74     76   
    /// <li>
   75     77   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
   76     78   
    /// <li>
   77     79   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
   78     80   
    /// </ul>
   79     81   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
   80     82   
    /// <ul>
   81     83   
    /// <li>
   82     84   
    /// <p><code>Percentile</code></p></li>
   83     85   
    /// </ul>
   84     86   
    /// <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>
   85     87   
    /// <ul>
   86     88   
    /// <li>
   87     89   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
   88     90   
    /// </ul>
   89     91   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
   90     92   
    /// <ul>
   91     93   
    /// <li>
   92     94   
    /// <p><code>#P = :val</code></p></li>
   93     95   
    /// </ul><note>
   94     96   
    /// <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>
   95     97   
    /// </note>
   96     98   
    /// <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>
   97     99   
    pub expression_attribute_names: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
   98         -
    /// <p>One or more values that can be substituted in an expression.</p>
         100  +
    /// /* StructureGenerator.kt:231 */<p>One or more values that can be substituted in an expression.</p>
   99    101   
    /// <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 <code>ProductStatus</code> attribute was one of the following:</p>
  100    102   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  101    103   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  102    104   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  103    105   
    /// <p>You could then use these values in an expression, such as this:</p>
  104    106   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  105    107   
    /// <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>
  106    108   
    pub expression_attribute_values: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  107         -
    /// <p>A Boolean value that determines the read consistency model during the scan:</p>
         109  +
    /// /* StructureGenerator.kt:231 */<p>A Boolean value that determines the read consistency model during the scan:</p>
  108    110   
    /// <ul>
  109    111   
    /// <li>
  110    112   
    /// <p>If <code>ConsistentRead</code> is <code>false</code>, then the data returned from <code>Scan</code> might not contain the results from other recently completed write operations (<code>PutItem</code>, <code>UpdateItem</code>, or <code>DeleteItem</code>).</p></li>
  111    113   
    /// <li>
  112    114   
    /// <p>If <code>ConsistentRead</code> is <code>true</code>, then all of the write operations that completed before the <code>Scan</code> began are guaranteed to be contained in the <code>Scan</code> response.</p></li>
  113    115   
    /// </ul>
  114    116   
    /// <p>The default setting for <code>ConsistentRead</code> is <code>false</code>.</p>
  115    117   
    /// <p>The <code>ConsistentRead</code> parameter is not supported on global secondary indexes. If you scan a global secondary index with <code>ConsistentRead</code> set to true, you will receive a <code>ValidationException</code>.</p>
  116    118   
    pub consistent_read: ::std::option::Option<bool>,
         119  +
    /* StructureGenerator.kt:201 */
  117    120   
}
         121  +
/* StructureGenerator.kt:135 */
  118    122   
impl ScanInput {
  119         -
    /// <p>The name of the table containing the requested items; or, if you provide <code>IndexName</code>, the name of the table to which that index belongs.</p>
         123  +
    /// /* StructureGenerator.kt:231 */<p>The name of the table containing the requested items; or, if you provide <code>IndexName</code>, the name of the table to which that index belongs.</p>
         124  +
    /* StructureGenerator.kt:166 */
  120    125   
    pub fn table_name(&self) -> ::std::option::Option<&str> {
         126  +
        /* StructureGenerator.kt:169 */
  121    127   
        self.table_name.as_deref()
         128  +
        /* StructureGenerator.kt:166 */
  122    129   
    }
  123         -
    /// <p>The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName</code>.</p>
         130  +
    /// /* StructureGenerator.kt:231 */<p>The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName</code>.</p>
         131  +
    /* StructureGenerator.kt:166 */
  124    132   
    pub fn index_name(&self) -> ::std::option::Option<&str> {
         133  +
        /* StructureGenerator.kt:169 */
  125    134   
        self.index_name.as_deref()
         135  +
        /* StructureGenerator.kt:166 */
  126    136   
    }
  127         -
    /// <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>
  128         -
    ///
  129         -
    /// 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()`.
         137  +
    /// /* 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>
         138  +
    /// /* StructureGenerator.kt:162 */
         139  +
    /// /* 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()`.
         140  +
    /* StructureGenerator.kt:166 */
  130    141   
    pub fn attributes_to_get(&self) -> &[::std::string::String] {
  131         -
        self.attributes_to_get.as_deref().unwrap_or_default()
  132         -
    }
  133         -
    /// <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">Working with Queries</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         142  +
        /* StructureGenerator.kt:169 */
         143  +
        self.attributes_to_get
         144  +
            .as_deref()
         145  +
            /* StructureGenerator.kt:175 */
         146  +
            .unwrap_or_default()
         147  +
        /* StructureGenerator.kt:166 */
         148  +
    }
         149  +
    /// /* 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">Working with Queries</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         150  +
    /* StructureGenerator.kt:166 */
  134    151   
    pub fn limit(&self) -> ::std::option::Option<i32> {
         152  +
        /* StructureGenerator.kt:168 */
  135    153   
        self.limit
         154  +
        /* StructureGenerator.kt:166 */
  136    155   
    }
  137         -
    /// <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>
         156  +
    /// /* 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>
  138    157   
    /// <ul>
  139    158   
    /// <li>
  140    159   
    /// <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>
  141    160   
    /// <li>
  142    161   
    /// <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>
  143    162   
    /// <li>
  144    163   
    /// <p><code>COUNT</code> - Returns the number of matching items, rather than the matching items themselves.</p></li>
  145    164   
    /// <li>
  146    165   
    /// <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>
  147    166   
    /// <p>If you query or scan a local secondary index and request only attributes that are projected into that index, the operation reads 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>
  148    167   
    /// <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>
  149    168   
    /// </ul>
  150    169   
    /// <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>
  151    170   
    /// <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>
  152    171   
    /// </note>
         172  +
    /* StructureGenerator.kt:166 */
  153    173   
    pub fn select(&self) -> ::std::option::Option<&crate::types::Select> {
         174  +
        /* StructureGenerator.kt:170 */
  154    175   
        self.select.as_ref()
         176  +
        /* StructureGenerator.kt:166 */
  155    177   
    }
  156         -
    /// <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.ScanFilter.html">ScanFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         178  +
    /// /* 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.ScanFilter.html">ScanFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         179  +
    /* StructureGenerator.kt:166 */
  157    180   
    pub fn scan_filter(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::Condition>> {
         181  +
        /* StructureGenerator.kt:170 */
  158    182   
        self.scan_filter.as_ref()
         183  +
        /* StructureGenerator.kt:166 */
  159    184   
    }
  160         -
    /// <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>
         185  +
    /// /* 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>
         186  +
    /* StructureGenerator.kt:166 */
  161    187   
    pub fn conditional_operator(&self) -> ::std::option::Option<&crate::types::ConditionalOperator> {
         188  +
        /* StructureGenerator.kt:170 */
  162    189   
        self.conditional_operator.as_ref()
         190  +
        /* StructureGenerator.kt:166 */
  163    191   
    }
  164         -
    /// <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>
         192  +
    /// /* 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>
  165    193   
    /// <p>The data type for <code>ExclusiveStartKey</code> must be String, Number or Binary. No set data types are allowed.</p>
  166    194   
    /// <p>In a parallel scan, a <code>Scan</code> request that includes <code>ExclusiveStartKey</code> must specify the same segment whose previous <code>Scan</code> returned the corresponding value of <code>LastEvaluatedKey</code>.</p>
         195  +
    /* StructureGenerator.kt:166 */
  167    196   
    pub fn exclusive_start_key(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         197  +
        /* StructureGenerator.kt:170 */
  168    198   
        self.exclusive_start_key.as_ref()
         199  +
        /* StructureGenerator.kt:166 */
  169    200   
    }
  170         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         201  +
    /// /* StructureGenerator.kt:231 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  171    202   
    /// <ul>
  172    203   
    /// <li>
  173    204   
    /// <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>
  174    205   
    /// <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>
  175    206   
    /// <li>
  176    207   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  177    208   
    /// <li>
  178    209   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  179    210   
    /// </ul>
         211  +
    /* StructureGenerator.kt:166 */
  180    212   
    pub fn return_consumed_capacity(&self) -> ::std::option::Option<&crate::types::ReturnConsumedCapacity> {
         213  +
        /* StructureGenerator.kt:170 */
  181    214   
        self.return_consumed_capacity.as_ref()
         215  +
        /* StructureGenerator.kt:166 */
  182    216   
    }
  183         -
    /// <p>For a parallel <code>Scan</code> request, <code>TotalSegments</code> represents the total number of segments into which the <code>Scan</code> operation will be divided. The value of <code>TotalSegments</code> corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a <code>TotalSegments</code> value of 4.</p>
         217  +
    /// /* StructureGenerator.kt:231 */<p>For a parallel <code>Scan</code> request, <code>TotalSegments</code> represents the total number of segments into which the <code>Scan</code> operation will be divided. The value of <code>TotalSegments</code> corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a <code>TotalSegments</code> value of 4.</p>
  184    218   
    /// <p>The value for <code>TotalSegments</code> must be greater than or equal to 1, and less than or equal to 1000000. If you specify a <code>TotalSegments</code> value of 1, the <code>Scan</code> operation will be sequential rather than parallel.</p>
  185    219   
    /// <p>If you specify <code>TotalSegments</code>, you must also specify <code>Segment</code>.</p>
         220  +
    /* StructureGenerator.kt:166 */
  186    221   
    pub fn total_segments(&self) -> ::std::option::Option<i32> {
         222  +
        /* StructureGenerator.kt:168 */
  187    223   
        self.total_segments
         224  +
        /* StructureGenerator.kt:166 */
  188    225   
    }
  189         -
    /// <p>For a parallel <code>Scan</code> request, <code>Segment</code> identifies an individual segment to be scanned by an application worker.</p>
         226  +
    /// /* StructureGenerator.kt:231 */<p>For a parallel <code>Scan</code> request, <code>Segment</code> identifies an individual segment to be scanned by an application worker.</p>
  190    227   
    /// <p>Segment IDs are zero-based, so the first segment is always 0. For example, if you want to use four application threads to scan a table or an index, then the first thread specifies a <code>Segment</code> value of 0, the second thread specifies 1, and so on.</p>
  191    228   
    /// <p>The value of <code>LastEvaluatedKey</code> returned from a parallel <code>Scan</code> request must be used as <code>ExclusiveStartKey</code> with the same segment ID in a subsequent <code>Scan</code> operation.</p>
  192    229   
    /// <p>The value for <code>Segment</code> must be greater than or equal to 0, and less than the value provided for <code>TotalSegments</code>.</p>
  193    230   
    /// <p>If you provide <code>Segment</code>, you must also provide <code>TotalSegments</code>.</p>
         231  +
    /* StructureGenerator.kt:166 */
  194    232   
    pub fn segment(&self) -> ::std::option::Option<i32> {
         233  +
        /* StructureGenerator.kt:168 */
  195    234   
        self.segment
         235  +
        /* StructureGenerator.kt:166 */
  196    236   
    }
  197         -
    /// <p>A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         237  +
    /// /* StructureGenerator.kt:231 */<p>A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  198    238   
    /// <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>
  199    239   
    /// <p>For more information, 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>
         240  +
    /* StructureGenerator.kt:166 */
  200    241   
    pub fn projection_expression(&self) -> ::std::option::Option<&str> {
         242  +
        /* StructureGenerator.kt:169 */
  201    243   
        self.projection_expression.as_deref()
         244  +
        /* StructureGenerator.kt:166 */
  202    245   
    }
  203         -
    /// <p>A string that contains conditions that DynamoDB applies after the <code>Scan</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p><note>
         246  +
    /// /* StructureGenerator.kt:231 */<p>A string that contains conditions that DynamoDB applies after the <code>Scan</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p><note>
  204    247   
    /// <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>
  205    248   
    /// </note>
  206    249   
    /// <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>
         250  +
    /* StructureGenerator.kt:166 */
  207    251   
    pub fn filter_expression(&self) -> ::std::option::Option<&str> {
         252  +
        /* StructureGenerator.kt:169 */
  208    253   
        self.filter_expression.as_deref()
         254  +
        /* StructureGenerator.kt:166 */
  209    255   
    }
  210         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         256  +
    /// /* 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>
  211    257   
    /// <ul>
  212    258   
    /// <li>
  213    259   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  214    260   
    /// <li>
  215    261   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  216    262   
    /// <li>
  217    263   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  218    264   
    /// </ul>
  219    265   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  220    266   
    /// <ul>
  221    267   
    /// <li>
  222    268   
    /// <p><code>Percentile</code></p></li>
  223    269   
    /// </ul>
  224    270   
    /// <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>
  225    271   
    /// <ul>
  226    272   
    /// <li>
  227    273   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  228    274   
    /// </ul>
  229    275   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  230    276   
    /// <ul>
  231    277   
    /// <li>
  232    278   
    /// <p><code>#P = :val</code></p></li>
  233    279   
    /// </ul><note>
  234    280   
    /// <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>
  235    281   
    /// </note>
  236    282   
    /// <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>
         283  +
    /* StructureGenerator.kt:166 */
  237    284   
    pub fn expression_attribute_names(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
         285  +
        /* StructureGenerator.kt:170 */
  238    286   
        self.expression_attribute_names.as_ref()
         287  +
        /* StructureGenerator.kt:166 */
  239    288   
    }
  240         -
    /// <p>One or more values that can be substituted in an expression.</p>
         289  +
    /// /* StructureGenerator.kt:231 */<p>One or more values that can be substituted in an expression.</p>
  241    290   
    /// <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 <code>ProductStatus</code> attribute was one of the following:</p>
  242    291   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  243    292   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  244    293   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  245    294   
    /// <p>You could then use these values in an expression, such as this:</p>
  246    295   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  247    296   
    /// <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>
         297  +
    /* StructureGenerator.kt:166 */
  248    298   
    pub fn expression_attribute_values(
  249    299   
        &self,
  250    300   
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         301  +
        /* StructureGenerator.kt:170 */
  251    302   
        self.expression_attribute_values.as_ref()
         303  +
        /* StructureGenerator.kt:166 */
  252    304   
    }
  253         -
    /// <p>A Boolean value that determines the read consistency model during the scan:</p>
         305  +
    /// /* StructureGenerator.kt:231 */<p>A Boolean value that determines the read consistency model during the scan:</p>
  254    306   
    /// <ul>
  255    307   
    /// <li>
  256    308   
    /// <p>If <code>ConsistentRead</code> is <code>false</code>, then the data returned from <code>Scan</code> might not contain the results from other recently completed write operations (<code>PutItem</code>, <code>UpdateItem</code>, or <code>DeleteItem</code>).</p></li>
  257    309   
    /// <li>
  258    310   
    /// <p>If <code>ConsistentRead</code> is <code>true</code>, then all of the write operations that completed before the <code>Scan</code> began are guaranteed to be contained in the <code>Scan</code> response.</p></li>
  259    311   
    /// </ul>
  260    312   
    /// <p>The default setting for <code>ConsistentRead</code> is <code>false</code>.</p>
  261    313   
    /// <p>The <code>ConsistentRead</code> parameter is not supported on global secondary indexes. If you scan a global secondary index with <code>ConsistentRead</code> set to true, you will receive a <code>ValidationException</code>.</p>
         314  +
    /* StructureGenerator.kt:166 */
  262    315   
    pub fn consistent_read(&self) -> ::std::option::Option<bool> {
         316  +
        /* StructureGenerator.kt:168 */
  263    317   
        self.consistent_read
         318  +
        /* StructureGenerator.kt:166 */
  264    319   
    }
         320  +
    /* StructureGenerator.kt:135 */
  265    321   
}
         322  +
/* ClientCodegenVisitor.kt:237 */
  266    323   
impl ScanInput {
  267         -
    /// Creates a new builder-style object to manufacture [`ScanInput`](crate::operation::scan::ScanInput).
         324  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`ScanInput`](crate::operation::scan::ScanInput).
         325  +
    /* BuilderGenerator.kt:175 */
  268    326   
    pub fn builder() -> crate::operation::scan::builders::ScanInputBuilder {
         327  +
        /* BuilderGenerator.kt:176 */
  269    328   
        crate::operation::scan::builders::ScanInputBuilder::default()
         329  +
        /* BuilderGenerator.kt:175 */
  270    330   
    }
         331  +
    /* ClientCodegenVisitor.kt:237 */
  271    332   
}
  272    333   
  273         -
/// A builder for [`ScanInput`](crate::operation::scan::ScanInput).
         334  +
/// /* BuilderGenerator.kt:342 */A builder for [`ScanInput`](crate::operation::scan::ScanInput).
         335  +
/* RustType.kt:516 */
  274    336   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         337  +
/* RustType.kt:516 */
  275    338   
#[non_exhaustive]
         339  +
/* BuilderGenerator.kt:345 */
  276    340   
pub struct ScanInputBuilder {
  277         -
    pub(crate) table_name: ::std::option::Option<::std::string::String>,
  278         -
    pub(crate) index_name: ::std::option::Option<::std::string::String>,
  279         -
    pub(crate) attributes_to_get: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
  280         -
    pub(crate) limit: ::std::option::Option<i32>,
  281         -
    pub(crate) select: ::std::option::Option<crate::types::Select>,
         341  +
    /* BuilderGenerator.kt:275 */ pub(crate) table_name: ::std::option::Option<::std::string::String>,
         342  +
    /* BuilderGenerator.kt:275 */ pub(crate) index_name: ::std::option::Option<::std::string::String>,
         343  +
    /* BuilderGenerator.kt:275 */ pub(crate) attributes_to_get: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         344  +
    /* BuilderGenerator.kt:275 */ pub(crate) limit: ::std::option::Option<i32>,
         345  +
    /* BuilderGenerator.kt:275 */ pub(crate) select: ::std::option::Option<crate::types::Select>,
         346  +
    /* BuilderGenerator.kt:275 */
  282    347   
    pub(crate) scan_filter: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Condition>>,
  283         -
    pub(crate) conditional_operator: ::std::option::Option<crate::types::ConditionalOperator>,
         348  +
    /* BuilderGenerator.kt:275 */ pub(crate) conditional_operator: ::std::option::Option<crate::types::ConditionalOperator>,
         349  +
    /* BuilderGenerator.kt:275 */
  284    350   
    pub(crate) exclusive_start_key: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  285         -
    pub(crate) return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
  286         -
    pub(crate) total_segments: ::std::option::Option<i32>,
  287         -
    pub(crate) segment: ::std::option::Option<i32>,
  288         -
    pub(crate) projection_expression: ::std::option::Option<::std::string::String>,
  289         -
    pub(crate) filter_expression: ::std::option::Option<::std::string::String>,
         351  +
    /* BuilderGenerator.kt:275 */ pub(crate) return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
         352  +
    /* BuilderGenerator.kt:275 */ pub(crate) total_segments: ::std::option::Option<i32>,
         353  +
    /* BuilderGenerator.kt:275 */ pub(crate) segment: ::std::option::Option<i32>,
         354  +
    /* BuilderGenerator.kt:275 */ pub(crate) projection_expression: ::std::option::Option<::std::string::String>,
         355  +
    /* BuilderGenerator.kt:275 */ pub(crate) filter_expression: ::std::option::Option<::std::string::String>,
         356  +
    /* BuilderGenerator.kt:275 */
  290    357   
    pub(crate) expression_attribute_names: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
         358  +
    /* BuilderGenerator.kt:275 */
  291    359   
    pub(crate) expression_attribute_values: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  292         -
    pub(crate) consistent_read: ::std::option::Option<bool>,
         360  +
    /* BuilderGenerator.kt:275 */ pub(crate) consistent_read: ::std::option::Option<bool>,
         361  +
    /* BuilderGenerator.kt:345 */
  293    362   
}
         363  +
/* BuilderGenerator.kt:355 */
  294    364   
impl ScanInputBuilder {
  295         -
    /// <p>The name of the table containing the requested items; or, if you provide <code>IndexName</code>, the name of the table to which that index belongs.</p>
  296         -
    /// This field is required.
         365  +
    /// /* BuilderGenerator.kt:286 */<p>The name of the table containing the requested items; or, if you provide <code>IndexName</code>, the name of the table to which that index belongs.</p>
         366  +
    /// /* BuilderGenerator.kt:288 */This field is required.
         367  +
    /* BuilderGenerator.kt:291 */
  297    368   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         369  +
        /* BuilderGenerator.kt:292 */
  298    370   
        self.table_name = ::std::option::Option::Some(input.into());
         371  +
        /* BuilderGenerator.kt:293 */
  299    372   
        self
         373  +
        /* BuilderGenerator.kt:291 */
  300    374   
    }
  301         -
    /// <p>The name of the table containing the requested items; or, if you provide <code>IndexName</code>, the name of the table to which that index belongs.</p>
         375  +
    /// /* BuilderGenerator.kt:312 */<p>The name of the table containing the requested items; or, if you provide <code>IndexName</code>, the name of the table to which that index belongs.</p>
         376  +
    /* BuilderGenerator.kt:314 */
  302    377   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         378  +
        /* BuilderGenerator.kt:315 */
  303    379   
        self.table_name = input;
  304    380   
        self
         381  +
        /* BuilderGenerator.kt:314 */
  305    382   
    }
  306         -
    /// <p>The name of the table containing the requested items; or, if you provide <code>IndexName</code>, the name of the table to which that index belongs.</p>
         383  +
    /// /* BuilderGenerator.kt:334 */<p>The name of the table containing the requested items; or, if you provide <code>IndexName</code>, the name of the table to which that index belongs.</p>
         384  +
    /* BuilderGenerator.kt:336 */
  307    385   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
         386  +
        /* BuilderGenerator.kt:337 */
  308    387   
        &self.table_name
         388  +
        /* BuilderGenerator.kt:336 */
  309    389   
    }
  310         -
    /// <p>The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName</code>.</p>
         390  +
    /// /* BuilderGenerator.kt:286 */<p>The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName</code>.</p>
         391  +
    /* BuilderGenerator.kt:291 */
  311    392   
    pub fn index_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         393  +
        /* BuilderGenerator.kt:292 */
  312    394   
        self.index_name = ::std::option::Option::Some(input.into());
         395  +
        /* BuilderGenerator.kt:293 */
  313    396   
        self
         397  +
        /* BuilderGenerator.kt:291 */
  314    398   
    }
  315         -
    /// <p>The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName</code>.</p>
         399  +
    /// /* BuilderGenerator.kt:312 */<p>The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName</code>.</p>
         400  +
    /* BuilderGenerator.kt:314 */
  316    401   
    pub fn set_index_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         402  +
        /* BuilderGenerator.kt:315 */
  317    403   
        self.index_name = input;
  318    404   
        self
         405  +
        /* BuilderGenerator.kt:314 */
  319    406   
    }
  320         -
    /// <p>The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName</code>.</p>
         407  +
    /// /* BuilderGenerator.kt:334 */<p>The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName</code>.</p>
         408  +
    /* BuilderGenerator.kt:336 */
  321    409   
    pub fn get_index_name(&self) -> &::std::option::Option<::std::string::String> {
         410  +
        /* BuilderGenerator.kt:337 */
  322    411   
        &self.index_name
         412  +
        /* BuilderGenerator.kt:336 */
  323    413   
    }
  324         -
    /// Appends an item to `attributes_to_get`.
         414  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `attributes_to_get`.
         415  +
    /* BuilderGenerator.kt:411 */
  325    416   
    ///
  326         -
    /// To override the contents of this collection use [`set_attributes_to_get`](Self::set_attributes_to_get).
         417  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_attributes_to_get`](Self::set_attributes_to_get).
         418  +
    /* BuilderGenerator.kt:413 */
  327    419   
    ///
  328         -
    /// <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>
         420  +
    /// /* 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>
         421  +
    /* BuilderGenerator.kt:418 */
  329    422   
    pub fn attributes_to_get(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         423  +
        /* BuilderGenerator.kt:419 */
  330    424   
        let mut v = self.attributes_to_get.unwrap_or_default();
  331    425   
        v.push(input.into());
  332    426   
        self.attributes_to_get = ::std::option::Option::Some(v);
  333    427   
        self
         428  +
        /* BuilderGenerator.kt:418 */
  334    429   
    }
  335         -
    /// <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>
         430  +
    /// /* 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>
         431  +
    /* BuilderGenerator.kt:314 */
  336    432   
    pub fn set_attributes_to_get(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
         433  +
        /* BuilderGenerator.kt:315 */
  337    434   
        self.attributes_to_get = input;
  338    435   
        self
         436  +
        /* BuilderGenerator.kt:314 */
  339    437   
    }
  340         -
    /// <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>
         438  +
    /// /* 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>
         439  +
    /* BuilderGenerator.kt:336 */
  341    440   
    pub fn get_attributes_to_get(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
         441  +
        /* BuilderGenerator.kt:337 */
  342    442   
        &self.attributes_to_get
         443  +
        /* BuilderGenerator.kt:336 */
  343    444   
    }
  344         -
    /// <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">Working with Queries</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         445  +
    /// /* 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">Working with Queries</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         446  +
    /* BuilderGenerator.kt:291 */
  345    447   
    pub fn limit(mut self, input: i32) -> Self {
         448  +
        /* BuilderGenerator.kt:292 */
  346    449   
        self.limit = ::std::option::Option::Some(input);
         450  +
        /* BuilderGenerator.kt:293 */
  347    451   
        self
         452  +
        /* BuilderGenerator.kt:291 */
  348    453   
    }
  349         -
    /// <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">Working with Queries</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         454  +
    /// /* 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">Working with Queries</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         455  +
    /* BuilderGenerator.kt:314 */
  350    456   
    pub fn set_limit(mut self, input: ::std::option::Option<i32>) -> Self {
         457  +
        /* BuilderGenerator.kt:315 */
  351    458   
        self.limit = input;
  352    459   
        self
         460  +
        /* BuilderGenerator.kt:314 */
  353    461   
    }
  354         -
    /// <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">Working with Queries</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         462  +
    /// /* 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">Working with Queries</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         463  +
    /* BuilderGenerator.kt:336 */
  355    464   
    pub fn get_limit(&self) -> &::std::option::Option<i32> {
         465  +
        /* BuilderGenerator.kt:337 */
  356    466   
        &self.limit
         467  +
        /* BuilderGenerator.kt:336 */
  357    468   
    }
  358         -
    /// <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>
         469  +
    /// /* 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>
  359    470   
    /// <ul>
  360    471   
    /// <li>
  361    472   
    /// <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>
  362    473   
    /// <li>
  363    474   
    /// <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>
  364    475   
    /// <li>
  365    476   
    /// <p><code>COUNT</code> - Returns the number of matching items, rather than the matching items themselves.</p></li>
  366    477   
    /// <li>
  367    478   
    /// <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>
  368    479   
    /// <p>If you query or scan a local secondary index and request only attributes that are projected into that index, the operation reads 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>
  369    480   
    /// <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>
  370    481   
    /// </ul>
  371    482   
    /// <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>
  372    483   
    /// <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>
  373    484   
    /// </note>
         485  +
    /* BuilderGenerator.kt:291 */
  374    486   
    pub fn select(mut self, input: crate::types::Select) -> Self {
         487  +
        /* BuilderGenerator.kt:292 */
  375    488   
        self.select = ::std::option::Option::Some(input);
         489  +
        /* BuilderGenerator.kt:293 */
  376    490   
        self
         491  +
        /* BuilderGenerator.kt:291 */
  377    492   
    }
  378         -
    /// <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>
         493  +
    /// /* 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>
  379    494   
    /// <ul>
  380    495   
    /// <li>
  381    496   
    /// <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>
  382    497   
    /// <li>
  383    498   
    /// <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>
  384    499   
    /// <li>
  385    500   
    /// <p><code>COUNT</code> - Returns the number of matching items, rather than the matching items themselves.</p></li>
  386    501   
    /// <li>
  387    502   
    /// <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>
  388    503   
    /// <p>If you query or scan a local secondary index and request only attributes that are projected into that index, the operation reads 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>
  389    504   
    /// <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>
  390    505   
    /// </ul>
  391    506   
    /// <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>
  392    507   
    /// <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>
  393    508   
    /// </note>
         509  +
    /* BuilderGenerator.kt:314 */
  394    510   
    pub fn set_select(mut self, input: ::std::option::Option<crate::types::Select>) -> Self {
         511  +
        /* BuilderGenerator.kt:315 */
  395    512   
        self.select = input;
  396    513   
        self
         514  +
        /* BuilderGenerator.kt:314 */
  397    515   
    }
  398         -
    /// <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>
         516  +
    /// /* 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>
  399    517   
    /// <ul>
  400    518   
    /// <li>
  401    519   
    /// <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>
  402    520   
    /// <li>
  403    521   
    /// <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>
  404    522   
    /// <li>
  405    523   
    /// <p><code>COUNT</code> - Returns the number of matching items, rather than the matching items themselves.</p></li>
  406    524   
    /// <li>
  407    525   
    /// <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>
  408    526   
    /// <p>If you query or scan a local secondary index and request only attributes that are projected into that index, the operation reads 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>
  409    527   
    /// <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>
  410    528   
    /// </ul>
  411    529   
    /// <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>
  412    530   
    /// <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>
  413    531   
    /// </note>
         532  +
    /* BuilderGenerator.kt:336 */
  414    533   
    pub fn get_select(&self) -> &::std::option::Option<crate::types::Select> {
         534  +
        /* BuilderGenerator.kt:337 */
  415    535   
        &self.select
         536  +
        /* BuilderGenerator.kt:336 */
  416    537   
    }
  417         -
    /// Adds a key-value pair to `scan_filter`.
         538  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `scan_filter`.
         539  +
    /* BuilderGenerator.kt:437 */
  418    540   
    ///
  419         -
    /// To override the contents of this collection use [`set_scan_filter`](Self::set_scan_filter).
         541  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_scan_filter`](Self::set_scan_filter).
         542  +
    /* BuilderGenerator.kt:439 */
  420    543   
    ///
  421         -
    /// <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.ScanFilter.html">ScanFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         544  +
    /// /* 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.ScanFilter.html">ScanFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         545  +
    /* BuilderGenerator.kt:445 */
  422    546   
    pub fn scan_filter(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::Condition) -> Self {
         547  +
        /* BuilderGenerator.kt:448 */
  423    548   
        let mut hash_map = self.scan_filter.unwrap_or_default();
  424    549   
        hash_map.insert(k.into(), v);
  425    550   
        self.scan_filter = ::std::option::Option::Some(hash_map);
  426    551   
        self
         552  +
        /* BuilderGenerator.kt:445 */
  427    553   
    }
  428         -
    /// <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.ScanFilter.html">ScanFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         554  +
    /// /* 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.ScanFilter.html">ScanFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         555  +
    /* BuilderGenerator.kt:314 */
  429    556   
    pub fn set_scan_filter(
  430    557   
        mut self,
  431    558   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Condition>>,
  432    559   
    ) -> Self {
         560  +
        /* BuilderGenerator.kt:315 */
  433    561   
        self.scan_filter = input;
  434    562   
        self
         563  +
        /* BuilderGenerator.kt:314 */
  435    564   
    }
  436         -
    /// <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.ScanFilter.html">ScanFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         565  +
    /// /* 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.ScanFilter.html">ScanFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         566  +
    /* BuilderGenerator.kt:336 */
  437    567   
    pub fn get_scan_filter(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Condition>> {
         568  +
        /* BuilderGenerator.kt:337 */
  438    569   
        &self.scan_filter
         570  +
        /* BuilderGenerator.kt:336 */
  439    571   
    }
  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.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         572  +
    /// /* 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>
         573  +
    /* BuilderGenerator.kt:291 */
  441    574   
    pub fn conditional_operator(mut self, input: crate::types::ConditionalOperator) -> Self {
         575  +
        /* BuilderGenerator.kt:292 */
  442    576   
        self.conditional_operator = ::std::option::Option::Some(input);
         577  +
        /* BuilderGenerator.kt:293 */
  443    578   
        self
         579  +
        /* BuilderGenerator.kt:291 */
  444    580   
    }
  445         -
    /// <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>
         581  +
    /// /* 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>
         582  +
    /* BuilderGenerator.kt:314 */
  446    583   
    pub fn set_conditional_operator(mut self, input: ::std::option::Option<crate::types::ConditionalOperator>) -> Self {
         584  +
        /* BuilderGenerator.kt:315 */
  447    585   
        self.conditional_operator = input;
  448    586   
        self
         587  +
        /* BuilderGenerator.kt:314 */
  449    588   
    }
  450         -
    /// <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>
         589  +
    /// /* 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>
         590  +
    /* BuilderGenerator.kt:336 */
  451    591   
    pub fn get_conditional_operator(&self) -> &::std::option::Option<crate::types::ConditionalOperator> {
         592  +
        /* BuilderGenerator.kt:337 */
  452    593   
        &self.conditional_operator
         594  +
        /* BuilderGenerator.kt:336 */
  453    595   
    }
  454         -
    /// Adds a key-value pair to `exclusive_start_key`.
         596  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `exclusive_start_key`.
         597  +
    /* BuilderGenerator.kt:437 */
  455    598   
    ///
  456         -
    /// To override the contents of this collection use [`set_exclusive_start_key`](Self::set_exclusive_start_key).
         599  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_exclusive_start_key`](Self::set_exclusive_start_key).
         600  +
    /* BuilderGenerator.kt:439 */
  457    601   
    ///
  458         -
    /// <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>
         602  +
    /// /* 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>
  459    603   
    /// <p>The data type for <code>ExclusiveStartKey</code> must be String, Number or Binary. No set data types are allowed.</p>
  460    604   
    /// <p>In a parallel scan, a <code>Scan</code> request that includes <code>ExclusiveStartKey</code> must specify the same segment whose previous <code>Scan</code> returned the corresponding value of <code>LastEvaluatedKey</code>.</p>
         605  +
    /* BuilderGenerator.kt:445 */
  461    606   
    pub fn exclusive_start_key(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
         607  +
        /* BuilderGenerator.kt:448 */
  462    608   
        let mut hash_map = self.exclusive_start_key.unwrap_or_default();
  463    609   
        hash_map.insert(k.into(), v);
  464    610   
        self.exclusive_start_key = ::std::option::Option::Some(hash_map);
  465    611   
        self
         612  +
        /* BuilderGenerator.kt:445 */
  466    613   
    }
  467         -
    /// <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>
         614  +
    /// /* 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>
  468    615   
    /// <p>The data type for <code>ExclusiveStartKey</code> must be String, Number or Binary. No set data types are allowed.</p>
  469    616   
    /// <p>In a parallel scan, a <code>Scan</code> request that includes <code>ExclusiveStartKey</code> must specify the same segment whose previous <code>Scan</code> returned the corresponding value of <code>LastEvaluatedKey</code>.</p>
         617  +
    /* BuilderGenerator.kt:314 */
  470    618   
    pub fn set_exclusive_start_key(
  471    619   
        mut self,
  472    620   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  473    621   
    ) -> Self {
         622  +
        /* BuilderGenerator.kt:315 */
  474    623   
        self.exclusive_start_key = input;
  475    624   
        self
         625  +
        /* BuilderGenerator.kt:314 */
  476    626   
    }
  477         -
    /// <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>
         627  +
    /// /* 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>
  478    628   
    /// <p>The data type for <code>ExclusiveStartKey</code> must be String, Number or Binary. No set data types are allowed.</p>
  479    629   
    /// <p>In a parallel scan, a <code>Scan</code> request that includes <code>ExclusiveStartKey</code> must specify the same segment whose previous <code>Scan</code> returned the corresponding value of <code>LastEvaluatedKey</code>.</p>
         630  +
    /* BuilderGenerator.kt:336 */
  480    631   
    pub fn get_exclusive_start_key(
  481    632   
        &self,
  482    633   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         634  +
        /* BuilderGenerator.kt:337 */
  483    635   
        &self.exclusive_start_key
         636  +
        /* BuilderGenerator.kt:336 */
  484    637   
    }
  485         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         638  +
    /// /* BuilderGenerator.kt:286 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  486    639   
    /// <ul>
  487    640   
    /// <li>
  488    641   
    /// <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>
  489    642   
    /// <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>
  490    643   
    /// <li>
  491    644   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  492    645   
    /// <li>
  493    646   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  494    647   
    /// </ul>
         648  +
    /* BuilderGenerator.kt:291 */
  495    649   
    pub fn return_consumed_capacity(mut self, input: crate::types::ReturnConsumedCapacity) -> Self {
         650  +
        /* BuilderGenerator.kt:292 */
  496    651   
        self.return_consumed_capacity = ::std::option::Option::Some(input);
         652  +
        /* BuilderGenerator.kt:293 */
  497    653   
        self
         654  +
        /* BuilderGenerator.kt:291 */
  498    655   
    }
  499         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         656  +
    /// /* BuilderGenerator.kt:312 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  500    657   
    /// <ul>
  501    658   
    /// <li>
  502    659   
    /// <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>
  503    660   
    /// <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>
  504    661   
    /// <li>
  505    662   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  506    663   
    /// <li>
  507    664   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  508    665   
    /// </ul>
         666  +
    /* BuilderGenerator.kt:314 */
  509    667   
    pub fn set_return_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ReturnConsumedCapacity>) -> Self {
         668  +
        /* BuilderGenerator.kt:315 */
  510    669   
        self.return_consumed_capacity = input;
  511    670   
        self
         671  +
        /* BuilderGenerator.kt:314 */
  512    672   
    }
  513         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         673  +
    /// /* BuilderGenerator.kt:334 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  514    674   
    /// <ul>
  515    675   
    /// <li>
  516    676   
    /// <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>
  517    677   
    /// <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>
  518    678   
    /// <li>
  519    679   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  520    680   
    /// <li>
  521    681   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  522    682   
    /// </ul>
         683  +
    /* BuilderGenerator.kt:336 */
  523    684   
    pub fn get_return_consumed_capacity(&self) -> &::std::option::Option<crate::types::ReturnConsumedCapacity> {
         685  +
        /* BuilderGenerator.kt:337 */
  524    686   
        &self.return_consumed_capacity
         687  +
        /* BuilderGenerator.kt:336 */
  525    688   
    }
  526         -
    /// <p>For a parallel <code>Scan</code> request, <code>TotalSegments</code> represents the total number of segments into which the <code>Scan</code> operation will be divided. The value of <code>TotalSegments</code> corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a <code>TotalSegments</code> value of 4.</p>
         689  +
    /// /* BuilderGenerator.kt:286 */<p>For a parallel <code>Scan</code> request, <code>TotalSegments</code> represents the total number of segments into which the <code>Scan</code> operation will be divided. The value of <code>TotalSegments</code> corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a <code>TotalSegments</code> value of 4.</p>
  527    690   
    /// <p>The value for <code>TotalSegments</code> must be greater than or equal to 1, and less than or equal to 1000000. If you specify a <code>TotalSegments</code> value of 1, the <code>Scan</code> operation will be sequential rather than parallel.</p>
  528    691   
    /// <p>If you specify <code>TotalSegments</code>, you must also specify <code>Segment</code>.</p>
         692  +
    /* BuilderGenerator.kt:291 */
  529    693   
    pub fn total_segments(mut self, input: i32) -> Self {
         694  +
        /* BuilderGenerator.kt:292 */
  530    695   
        self.total_segments = ::std::option::Option::Some(input);
         696  +
        /* BuilderGenerator.kt:293 */
  531    697   
        self
         698  +
        /* BuilderGenerator.kt:291 */
  532    699   
    }
  533         -
    /// <p>For a parallel <code>Scan</code> request, <code>TotalSegments</code> represents the total number of segments into which the <code>Scan</code> operation will be divided. The value of <code>TotalSegments</code> corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a <code>TotalSegments</code> value of 4.</p>
         700  +
    /// /* BuilderGenerator.kt:312 */<p>For a parallel <code>Scan</code> request, <code>TotalSegments</code> represents the total number of segments into which the <code>Scan</code> operation will be divided. The value of <code>TotalSegments</code> corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a <code>TotalSegments</code> value of 4.</p>
  534    701   
    /// <p>The value for <code>TotalSegments</code> must be greater than or equal to 1, and less than or equal to 1000000. If you specify a <code>TotalSegments</code> value of 1, the <code>Scan</code> operation will be sequential rather than parallel.</p>
  535    702   
    /// <p>If you specify <code>TotalSegments</code>, you must also specify <code>Segment</code>.</p>
         703  +
    /* BuilderGenerator.kt:314 */
  536    704   
    pub fn set_total_segments(mut self, input: ::std::option::Option<i32>) -> Self {
         705  +
        /* BuilderGenerator.kt:315 */
  537    706   
        self.total_segments = input;
  538    707   
        self
         708  +
        /* BuilderGenerator.kt:314 */
  539    709   
    }
  540         -
    /// <p>For a parallel <code>Scan</code> request, <code>TotalSegments</code> represents the total number of segments into which the <code>Scan</code> operation will be divided. The value of <code>TotalSegments</code> corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a <code>TotalSegments</code> value of 4.</p>
         710  +
    /// /* BuilderGenerator.kt:334 */<p>For a parallel <code>Scan</code> request, <code>TotalSegments</code> represents the total number of segments into which the <code>Scan</code> operation will be divided. The value of <code>TotalSegments</code> corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a <code>TotalSegments</code> value of 4.</p>
  541    711   
    /// <p>The value for <code>TotalSegments</code> must be greater than or equal to 1, and less than or equal to 1000000. If you specify a <code>TotalSegments</code> value of 1, the <code>Scan</code> operation will be sequential rather than parallel.</p>
  542    712   
    /// <p>If you specify <code>TotalSegments</code>, you must also specify <code>Segment</code>.</p>
         713  +
    /* BuilderGenerator.kt:336 */
  543    714   
    pub fn get_total_segments(&self) -> &::std::option::Option<i32> {
         715  +
        /* BuilderGenerator.kt:337 */
  544    716   
        &self.total_segments
         717  +
        /* BuilderGenerator.kt:336 */
  545    718   
    }
  546         -
    /// <p>For a parallel <code>Scan</code> request, <code>Segment</code> identifies an individual segment to be scanned by an application worker.</p>
         719  +
    /// /* BuilderGenerator.kt:286 */<p>For a parallel <code>Scan</code> request, <code>Segment</code> identifies an individual segment to be scanned by an application worker.</p>
  547    720   
    /// <p>Segment IDs are zero-based, so the first segment is always 0. For example, if you want to use four application threads to scan a table or an index, then the first thread specifies a <code>Segment</code> value of 0, the second thread specifies 1, and so on.</p>
  548    721   
    /// <p>The value of <code>LastEvaluatedKey</code> returned from a parallel <code>Scan</code> request must be used as <code>ExclusiveStartKey</code> with the same segment ID in a subsequent <code>Scan</code> operation.</p>
  549    722   
    /// <p>The value for <code>Segment</code> must be greater than or equal to 0, and less than the value provided for <code>TotalSegments</code>.</p>
  550    723   
    /// <p>If you provide <code>Segment</code>, you must also provide <code>TotalSegments</code>.</p>
         724  +
    /* BuilderGenerator.kt:291 */
  551    725   
    pub fn segment(mut self, input: i32) -> Self {
         726  +
        /* BuilderGenerator.kt:292 */
  552    727   
        self.segment = ::std::option::Option::Some(input);
         728  +
        /* BuilderGenerator.kt:293 */
  553    729   
        self
         730  +
        /* BuilderGenerator.kt:291 */
  554    731   
    }
  555         -
    /// <p>For a parallel <code>Scan</code> request, <code>Segment</code> identifies an individual segment to be scanned by an application worker.</p>
         732  +
    /// /* BuilderGenerator.kt:312 */<p>For a parallel <code>Scan</code> request, <code>Segment</code> identifies an individual segment to be scanned by an application worker.</p>
  556    733   
    /// <p>Segment IDs are zero-based, so the first segment is always 0. For example, if you want to use four application threads to scan a table or an index, then the first thread specifies a <code>Segment</code> value of 0, the second thread specifies 1, and so on.</p>
  557    734   
    /// <p>The value of <code>LastEvaluatedKey</code> returned from a parallel <code>Scan</code> request must be used as <code>ExclusiveStartKey</code> with the same segment ID in a subsequent <code>Scan</code> operation.</p>
  558    735   
    /// <p>The value for <code>Segment</code> must be greater than or equal to 0, and less than the value provided for <code>TotalSegments</code>.</p>
  559    736   
    /// <p>If you provide <code>Segment</code>, you must also provide <code>TotalSegments</code>.</p>
         737  +
    /* BuilderGenerator.kt:314 */
  560    738   
    pub fn set_segment(mut self, input: ::std::option::Option<i32>) -> Self {
         739  +
        /* BuilderGenerator.kt:315 */
  561    740   
        self.segment = input;
  562    741   
        self
         742  +
        /* BuilderGenerator.kt:314 */
  563    743   
    }
  564         -
    /// <p>For a parallel <code>Scan</code> request, <code>Segment</code> identifies an individual segment to be scanned by an application worker.</p>
         744  +
    /// /* BuilderGenerator.kt:334 */<p>For a parallel <code>Scan</code> request, <code>Segment</code> identifies an individual segment to be scanned by an application worker.</p>
  565    745   
    /// <p>Segment IDs are zero-based, so the first segment is always 0. For example, if you want to use four application threads to scan a table or an index, then the first thread specifies a <code>Segment</code> value of 0, the second thread specifies 1, and so on.</p>
  566    746   
    /// <p>The value of <code>LastEvaluatedKey</code> returned from a parallel <code>Scan</code> request must be used as <code>ExclusiveStartKey</code> with the same segment ID in a subsequent <code>Scan</code> operation.</p>
  567    747   
    /// <p>The value for <code>Segment</code> must be greater than or equal to 0, and less than the value provided for <code>TotalSegments</code>.</p>
  568    748   
    /// <p>If you provide <code>Segment</code>, you must also provide <code>TotalSegments</code>.</p>
         749  +
    /* BuilderGenerator.kt:336 */
  569    750   
    pub fn get_segment(&self) -> &::std::option::Option<i32> {
         751  +
        /* BuilderGenerator.kt:337 */
  570    752   
        &self.segment
         753  +
        /* BuilderGenerator.kt:336 */
  571    754   
    }
  572         -
    /// <p>A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         755  +
    /// /* BuilderGenerator.kt:286 */<p>A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  573    756   
    /// <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>
  574    757   
    /// <p>For more information, 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>
         758  +
    /* BuilderGenerator.kt:291 */
  575    759   
    pub fn projection_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         760  +
        /* BuilderGenerator.kt:292 */
  576    761   
        self.projection_expression = ::std::option::Option::Some(input.into());
         762  +
        /* BuilderGenerator.kt:293 */
  577    763   
        self
         764  +
        /* BuilderGenerator.kt:291 */
  578    765   
    }
  579         -
    /// <p>A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         766  +
    /// /* BuilderGenerator.kt:312 */<p>A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  580    767   
    /// <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>
  581    768   
    /// <p>For more information, 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>
         769  +
    /* BuilderGenerator.kt:314 */
  582    770   
    pub fn set_projection_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         771  +
        /* BuilderGenerator.kt:315 */
  583    772   
        self.projection_expression = input;
  584    773   
        self
         774  +
        /* BuilderGenerator.kt:314 */
  585    775   
    }
  586         -
    /// <p>A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         776  +
    /// /* BuilderGenerator.kt:334 */<p>A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  587    777   
    /// <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>
  588    778   
    /// <p>For more information, 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>
         779  +
    /* BuilderGenerator.kt:336 */
  589    780   
    pub fn get_projection_expression(&self) -> &::std::option::Option<::std::string::String> {
         781  +
        /* BuilderGenerator.kt:337 */
  590    782   
        &self.projection_expression
         783  +
        /* BuilderGenerator.kt:336 */
  591    784   
    }
  592         -
    /// <p>A string that contains conditions that DynamoDB applies after the <code>Scan</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p><note>
         785  +
    /// /* BuilderGenerator.kt:286 */<p>A string that contains conditions that DynamoDB applies after the <code>Scan</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p><note>
  593    786   
    /// <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>
  594    787   
    /// </note>
  595    788   
    /// <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>
         789  +
    /* BuilderGenerator.kt:291 */
  596    790   
    pub fn filter_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         791  +
        /* BuilderGenerator.kt:292 */
  597    792   
        self.filter_expression = ::std::option::Option::Some(input.into());
         793  +
        /* BuilderGenerator.kt:293 */
  598    794   
        self
         795  +
        /* BuilderGenerator.kt:291 */
  599    796   
    }
  600         -
    /// <p>A string that contains conditions that DynamoDB applies after the <code>Scan</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p><note>
         797  +
    /// /* BuilderGenerator.kt:312 */<p>A string that contains conditions that DynamoDB applies after the <code>Scan</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p><note>
  601    798   
    /// <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>
  602    799   
    /// </note>
  603    800   
    /// <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>
         801  +
    /* BuilderGenerator.kt:314 */
  604    802   
    pub fn set_filter_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         803  +
        /* BuilderGenerator.kt:315 */
  605    804   
        self.filter_expression = input;
  606    805   
        self
         806  +
        /* BuilderGenerator.kt:314 */
  607    807   
    }
  608         -
    /// <p>A string that contains conditions that DynamoDB applies after the <code>Scan</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p><note>
         808  +
    /// /* BuilderGenerator.kt:334 */<p>A string that contains conditions that DynamoDB applies after the <code>Scan</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p><note>
  609    809   
    /// <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>
  610    810   
    /// </note>
  611    811   
    /// <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>
         812  +
    /* BuilderGenerator.kt:336 */
  612    813   
    pub fn get_filter_expression(&self) -> &::std::option::Option<::std::string::String> {
         814  +
        /* BuilderGenerator.kt:337 */
  613    815   
        &self.filter_expression
         816  +
        /* BuilderGenerator.kt:336 */
  614    817   
    }
  615         -
    /// Adds a key-value pair to `expression_attribute_names`.
         818  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `expression_attribute_names`.
         819  +
    /* BuilderGenerator.kt:437 */
  616    820   
    ///
  617         -
    /// To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
         821  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
         822  +
    /* BuilderGenerator.kt:439 */
  618    823   
    ///
  619         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         824  +
    /// /* 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>
  620    825   
    /// <ul>
  621    826   
    /// <li>
  622    827   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  623    828   
    /// <li>
  624    829   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  625    830   
    /// <li>
  626    831   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  627    832   
    /// </ul>
  628    833   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  629    834   
    /// <ul>
  630    835   
    /// <li>
  631    836   
    /// <p><code>Percentile</code></p></li>
  632    837   
    /// </ul>
  633    838   
    /// <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>
  634    839   
    /// <ul>
  635    840   
    /// <li>
  636    841   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  637    842   
    /// </ul>
  638    843   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  639    844   
    /// <ul>
  640    845   
    /// <li>
  641    846   
    /// <p><code>#P = :val</code></p></li>
  642    847   
    /// </ul><note>
  643    848   
    /// <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>
  644    849   
    /// </note>
  645    850   
    /// <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>
         851  +
    /* BuilderGenerator.kt:445 */
  646    852   
    pub fn expression_attribute_names(
  647    853   
        mut self,
  648    854   
        k: impl ::std::convert::Into<::std::string::String>,
  649    855   
        v: impl ::std::convert::Into<::std::string::String>,
  650    856   
    ) -> Self {
         857  +
        /* BuilderGenerator.kt:448 */
  651    858   
        let mut hash_map = self.expression_attribute_names.unwrap_or_default();
  652    859   
        hash_map.insert(k.into(), v.into());
  653    860   
        self.expression_attribute_names = ::std::option::Option::Some(hash_map);
  654    861   
        self
         862  +
        /* BuilderGenerator.kt:445 */
  655    863   
    }
  656         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         864  +
    /// /* 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>
  657    865   
    /// <ul>
  658    866   
    /// <li>
  659    867   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  660    868   
    /// <li>
  661    869   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  662    870   
    /// <li>
  663    871   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  664    872   
    /// </ul>
  665    873   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  666    874   
    /// <ul>
  667    875   
    /// <li>
  668    876   
    /// <p><code>Percentile</code></p></li>
  669    877   
    /// </ul>
  670    878   
    /// <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>
  671    879   
    /// <ul>
  672    880   
    /// <li>
  673    881   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  674    882   
    /// </ul>
  675    883   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  676    884   
    /// <ul>
  677    885   
    /// <li>
  678    886   
    /// <p><code>#P = :val</code></p></li>
  679    887   
    /// </ul><note>
  680    888   
    /// <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>
  681    889   
    /// </note>
  682    890   
    /// <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>
         891  +
    /* BuilderGenerator.kt:314 */
  683    892   
    pub fn set_expression_attribute_names(
  684    893   
        mut self,
  685    894   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
  686    895   
    ) -> Self {
         896  +
        /* BuilderGenerator.kt:315 */
  687    897   
        self.expression_attribute_names = input;
  688    898   
        self
         899  +
        /* BuilderGenerator.kt:314 */
  689    900   
    }
  690         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         901  +
    /// /* 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>
  691    902   
    /// <ul>
  692    903   
    /// <li>
  693    904   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  694    905   
    /// <li>
  695    906   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  696    907   
    /// <li>
  697    908   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  698    909   
    /// </ul>
  699    910   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  700    911   
    /// <ul>
  701    912   
    /// <li>
  702    913   
    /// <p><code>Percentile</code></p></li>
  703    914   
    /// </ul>
  704    915   
    /// <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>
  705    916   
    /// <ul>
  706    917   
    /// <li>
  707    918   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  708    919   
    /// </ul>
  709    920   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  710    921   
    /// <ul>
  711    922   
    /// <li>
  712    923   
    /// <p><code>#P = :val</code></p></li>
  713    924   
    /// </ul><note>
  714    925   
    /// <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>
  715    926   
    /// </note>
  716    927   
    /// <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>
         928  +
    /* BuilderGenerator.kt:336 */
  717    929   
    pub fn get_expression_attribute_names(
  718    930   
        &self,
  719    931   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
         932  +
        /* BuilderGenerator.kt:337 */
  720    933   
        &self.expression_attribute_names
         934  +
        /* BuilderGenerator.kt:336 */
  721    935   
    }
  722         -
    /// Adds a key-value pair to `expression_attribute_values`.
         936  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `expression_attribute_values`.
         937  +
    /* BuilderGenerator.kt:437 */
  723    938   
    ///
  724         -
    /// To override the contents of this collection use [`set_expression_attribute_values`](Self::set_expression_attribute_values).
         939  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_expression_attribute_values`](Self::set_expression_attribute_values).
         940  +
    /* BuilderGenerator.kt:439 */
  725    941   
    ///
  726         -
    /// <p>One or more values that can be substituted in an expression.</p>
         942  +
    /// /* BuilderGenerator.kt:440 */<p>One or more values that can be substituted in an expression.</p>
  727    943   
    /// <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 <code>ProductStatus</code> attribute was one of the following:</p>
  728    944   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  729    945   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  730    946   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  731    947   
    /// <p>You could then use these values in an expression, such as this:</p>
  732    948   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  733    949   
    /// <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>
         950  +
    /* BuilderGenerator.kt:445 */
  734    951   
    pub fn expression_attribute_values(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
         952  +
        /* BuilderGenerator.kt:448 */
  735    953   
        let mut hash_map = self.expression_attribute_values.unwrap_or_default();
  736    954   
        hash_map.insert(k.into(), v);
  737    955   
        self.expression_attribute_values = ::std::option::Option::Some(hash_map);
  738    956   
        self
         957  +
        /* BuilderGenerator.kt:445 */
  739    958   
    }
  740         -
    /// <p>One or more values that can be substituted in an expression.</p>
         959  +
    /// /* BuilderGenerator.kt:312 */<p>One or more values that can be substituted in an expression.</p>
  741    960   
    /// <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 <code>ProductStatus</code> attribute was one of the following:</p>
  742    961   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  743    962   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  744    963   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  745    964   
    /// <p>You could then use these values in an expression, such as this:</p>
  746    965   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  747    966   
    /// <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>
         967  +
    /* BuilderGenerator.kt:314 */
  748    968   
    pub fn set_expression_attribute_values(
  749    969   
        mut self,
  750    970   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  751    971   
    ) -> Self {
         972  +
        /* BuilderGenerator.kt:315 */
  752    973   
        self.expression_attribute_values = input;
  753    974   
        self
         975  +
        /* BuilderGenerator.kt:314 */
  754    976   
    }
  755         -
    /// <p>One or more values that can be substituted in an expression.</p>
         977  +
    /// /* BuilderGenerator.kt:334 */<p>One or more values that can be substituted in an expression.</p>
  756    978   
    /// <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 <code>ProductStatus</code> attribute was one of the following:</p>
  757    979   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  758    980   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  759    981   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  760    982   
    /// <p>You could then use these values in an expression, such as this:</p>
  761    983   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  762    984   
    /// <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>
         985  +
    /* BuilderGenerator.kt:336 */
  763    986   
    pub fn get_expression_attribute_values(
  764    987   
        &self,
  765    988   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         989  +
        /* BuilderGenerator.kt:337 */
  766    990   
        &self.expression_attribute_values
         991  +
        /* BuilderGenerator.kt:336 */
  767    992   
    }
  768         -
    /// <p>A Boolean value that determines the read consistency model during the scan:</p>
         993  +
    /// /* BuilderGenerator.kt:286 */<p>A Boolean value that determines the read consistency model during the scan:</p>
  769    994   
    /// <ul>
  770    995   
    /// <li>
  771    996   
    /// <p>If <code>ConsistentRead</code> is <code>false</code>, then the data returned from <code>Scan</code> might not contain the results from other recently completed write operations (<code>PutItem</code>, <code>UpdateItem</code>, or <code>DeleteItem</code>).</p></li>
  772    997   
    /// <li>
  773    998   
    /// <p>If <code>ConsistentRead</code> is <code>true</code>, then all of the write operations that completed before the <code>Scan</code> began are guaranteed to be contained in the <code>Scan</code> response.</p></li>
  774    999   
    /// </ul>
  775   1000   
    /// <p>The default setting for <code>ConsistentRead</code> is <code>false</code>.</p>
  776   1001   
    /// <p>The <code>ConsistentRead</code> parameter is not supported on global secondary indexes. If you scan a global secondary index with <code>ConsistentRead</code> set to true, you will receive a <code>ValidationException</code>.</p>
        1002  +
    /* BuilderGenerator.kt:291 */
  777   1003   
    pub fn consistent_read(mut self, input: bool) -> Self {
        1004  +
        /* BuilderGenerator.kt:292 */
  778   1005   
        self.consistent_read = ::std::option::Option::Some(input);
        1006  +
        /* BuilderGenerator.kt:293 */
  779   1007   
        self
        1008  +
        /* BuilderGenerator.kt:291 */
  780   1009   
    }
  781         -
    /// <p>A Boolean value that determines the read consistency model during the scan:</p>
        1010  +
    /// /* BuilderGenerator.kt:312 */<p>A Boolean value that determines the read consistency model during the scan:</p>
  782   1011   
    /// <ul>
  783   1012   
    /// <li>
  784   1013   
    /// <p>If <code>ConsistentRead</code> is <code>false</code>, then the data returned from <code>Scan</code> might not contain the results from other recently completed write operations (<code>PutItem</code>, <code>UpdateItem</code>, or <code>DeleteItem</code>).</p></li>
  785   1014   
    /// <li>
  786   1015   
    /// <p>If <code>ConsistentRead</code> is <code>true</code>, then all of the write operations that completed before the <code>Scan</code> began are guaranteed to be contained in the <code>Scan</code> response.</p></li>
  787   1016   
    /// </ul>
  788   1017   
    /// <p>The default setting for <code>ConsistentRead</code> is <code>false</code>.</p>
  789   1018   
    /// <p>The <code>ConsistentRead</code> parameter is not supported on global secondary indexes. If you scan a global secondary index with <code>ConsistentRead</code> set to true, you will receive a <code>ValidationException</code>.</p>
        1019  +
    /* BuilderGenerator.kt:314 */
  790   1020   
    pub fn set_consistent_read(mut self, input: ::std::option::Option<bool>) -> Self {
        1021  +
        /* BuilderGenerator.kt:315 */
  791   1022   
        self.consistent_read = input;
  792   1023   
        self
        1024  +
        /* BuilderGenerator.kt:314 */
  793   1025   
    }
  794         -
    /// <p>A Boolean value that determines the read consistency model during the scan:</p>
        1026  +
    /// /* BuilderGenerator.kt:334 */<p>A Boolean value that determines the read consistency model during the scan:</p>
  795   1027   
    /// <ul>
  796   1028   
    /// <li>
  797   1029   
    /// <p>If <code>ConsistentRead</code> is <code>false</code>, then the data returned from <code>Scan</code> might not contain the results from other recently completed write operations (<code>PutItem</code>, <code>UpdateItem</code>, or <code>DeleteItem</code>).</p></li>
  798   1030   
    /// <li>
  799   1031   
    /// <p>If <code>ConsistentRead</code> is <code>true</code>, then all of the write operations that completed before the <code>Scan</code> began are guaranteed to be contained in the <code>Scan</code> response.</p></li>
  800   1032   
    /// </ul>
  801   1033   
    /// <p>The default setting for <code>ConsistentRead</code> is <code>false</code>.</p>
  802   1034   
    /// <p>The <code>ConsistentRead</code> parameter is not supported on global secondary indexes. If you scan a global secondary index with <code>ConsistentRead</code> set to true, you will receive a <code>ValidationException</code>.</p>
        1035  +
    /* BuilderGenerator.kt:336 */
  803   1036   
    pub fn get_consistent_read(&self) -> &::std::option::Option<bool> {
        1037  +
        /* BuilderGenerator.kt:337 */
  804   1038   
        &self.consistent_read
        1039  +
        /* BuilderGenerator.kt:336 */
  805   1040   
    }
  806         -
    /// Consumes the builder and constructs a [`ScanInput`](crate::operation::scan::ScanInput).
        1041  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`ScanInput`](crate::operation::scan::ScanInput).
        1042  +
    /* BuilderGenerator.kt:253 */
  807   1043   
    pub fn build(self) -> ::std::result::Result<crate::operation::scan::ScanInput, ::aws_smithy_types::error::operation::BuildError> {
  808         -
        ::std::result::Result::Ok(crate::operation::scan::ScanInput {
  809         -
            table_name: self.table_name,
        1044  +
        /* BuilderGenerator.kt:254 */
        1045  +
        ::std::result::Result::Ok(
        1046  +
            /* BuilderGenerator.kt:477 */
        1047  +
            crate::operation::scan::ScanInput {
        1048  +
                /* BuilderGenerator.kt:481 */ table_name: self.table_name,
        1049  +
                /* BuilderGenerator.kt:481 */
  810   1050   
                index_name: self.index_name,
        1051  +
                /* BuilderGenerator.kt:481 */
  811   1052   
                attributes_to_get: self.attributes_to_get,
        1053  +
                /* BuilderGenerator.kt:481 */
  812   1054   
                limit: self.limit,
        1055  +
                /* BuilderGenerator.kt:481 */
  813   1056   
                select: self.select,
        1057  +
                /* BuilderGenerator.kt:481 */
  814   1058   
                scan_filter: self.scan_filter,
        1059  +
                /* BuilderGenerator.kt:481 */
  815   1060   
                conditional_operator: self.conditional_operator,
        1061  +
                /* BuilderGenerator.kt:481 */
  816   1062   
                exclusive_start_key: self.exclusive_start_key,
        1063  +
                /* BuilderGenerator.kt:481 */
  817   1064   
                return_consumed_capacity: self.return_consumed_capacity,
        1065  +
                /* BuilderGenerator.kt:481 */
  818   1066   
                total_segments: self.total_segments,
        1067  +
                /* BuilderGenerator.kt:481 */
  819   1068   
                segment: self.segment,
        1069  +
                /* BuilderGenerator.kt:481 */
  820   1070   
                projection_expression: self.projection_expression,
        1071  +
                /* BuilderGenerator.kt:481 */
  821   1072   
                filter_expression: self.filter_expression,
        1073  +
                /* BuilderGenerator.kt:481 */
  822   1074   
                expression_attribute_names: self.expression_attribute_names,
        1075  +
                /* BuilderGenerator.kt:481 */
  823   1076   
                expression_attribute_values: self.expression_attribute_values,
        1077  +
                /* BuilderGenerator.kt:481 */
  824   1078   
                consistent_read: self.consistent_read,
  825         -
        })
        1079  +
                /* BuilderGenerator.kt:477 */
        1080  +
            }, /* BuilderGenerator.kt:254 */
        1081  +
        )
        1082  +
        /* BuilderGenerator.kt:253 */
  826   1083   
    }
        1084  +
    /* BuilderGenerator.kt:355 */
  827   1085   
}

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

@@ -1,1 +185,288 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents the output of a <code>Scan</code> operation.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents the output of a <code>Scan</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 ScanOutput {
    7         -
    /// <p>An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct ScanOutput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute.</p>
    8     10   
    pub items: ::std::option::Option<::std::vec::Vec<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>>,
    9         -
    /// <p>The number of items in the response.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>The number of items in the response.</p>
   10     12   
    /// <p>If you set <code>ScanFilter</code> in the request, then <code>Count</code> is the number of items returned after the filter was applied, and <code>ScannedCount</code> is the number of matching items before the filter was applied.</p>
   11     13   
    /// <p>If you did not use a filter in the request, then <code>Count</code> is the same as <code>ScannedCount</code>.</p>
   12     14   
    pub count: i32,
   13         -
    /// <p>The number of items evaluated, before any <code>ScanFilter</code> is applied. A high <code>ScannedCount</code> value with few, or no, <code>Count</code> results indicates an inefficient <code>Scan</code> operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count">Count and ScannedCount</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          15  +
    /// /* StructureGenerator.kt:231 */<p>The number of items evaluated, before any <code>ScanFilter</code> is applied. A high <code>ScannedCount</code> value with few, or no, <code>Count</code> results indicates an inefficient <code>Scan</code> operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count">Count and ScannedCount</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   14     16   
    /// <p>If you did not use a filter in the request, then <code>ScannedCount</code> is the same as <code>Count</code>.</p>
   15     17   
    pub scanned_count: i32,
   16         -
    /// <p>The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.</p>
          18  +
    /// /* StructureGenerator.kt:231 */<p>The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.</p>
   17     19   
    /// <p>If <code>LastEvaluatedKey</code> is empty, then the "last page" of results has been processed and there is no more data to be retrieved.</p>
   18     20   
    /// <p>If <code>LastEvaluatedKey</code> is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when <code>LastEvaluatedKey</code> is empty.</p>
   19     21   
    pub last_evaluated_key: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
   20         -
    /// <p>The capacity units consumed by the <code>Scan</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">Provisioned Throughput</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          22  +
    /// /* StructureGenerator.kt:231 */<p>The capacity units consumed by the <code>Scan</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">Provisioned Throughput</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   21     23   
    pub consumed_capacity: ::std::option::Option<crate::types::ConsumedCapacity>,
          24  +
    /* StructureGenerator.kt:201 */
   22     25   
}
          26  +
/* StructureGenerator.kt:135 */
   23     27   
impl ScanOutput {
   24         -
    /// <p>An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute.</p>
   25         -
    ///
   26         -
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.items.is_none()`.
          28  +
    /// /* StructureGenerator.kt:231 */<p>An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute.</p>
          29  +
    /// /* StructureGenerator.kt:162 */
          30  +
    /// /* 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 `.items.is_none()`.
          31  +
    /* StructureGenerator.kt:166 */
   27     32   
    pub fn items(&self) -> &[::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>] {
   28         -
        self.items.as_deref().unwrap_or_default()
          33  +
        /* StructureGenerator.kt:169 */
          34  +
        self.items
          35  +
            .as_deref()
          36  +
            /* StructureGenerator.kt:175 */
          37  +
            .unwrap_or_default()
          38  +
        /* StructureGenerator.kt:166 */
   29     39   
    }
   30         -
    /// <p>The number of items in the response.</p>
          40  +
    /// /* StructureGenerator.kt:231 */<p>The number of items in the response.</p>
   31     41   
    /// <p>If you set <code>ScanFilter</code> in the request, then <code>Count</code> is the number of items returned after the filter was applied, and <code>ScannedCount</code> is the number of matching items before the filter was applied.</p>
   32     42   
    /// <p>If you did not use a filter in the request, then <code>Count</code> is the same as <code>ScannedCount</code>.</p>
          43  +
    /* StructureGenerator.kt:166 */
   33     44   
    pub fn count(&self) -> i32 {
          45  +
        /* StructureGenerator.kt:168 */
   34     46   
        self.count
          47  +
        /* StructureGenerator.kt:166 */
   35     48   
    }
   36         -
    /// <p>The number of items evaluated, before any <code>ScanFilter</code> is applied. A high <code>ScannedCount</code> value with few, or no, <code>Count</code> results indicates an inefficient <code>Scan</code> operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count">Count and ScannedCount</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          49  +
    /// /* StructureGenerator.kt:231 */<p>The number of items evaluated, before any <code>ScanFilter</code> is applied. A high <code>ScannedCount</code> value with few, or no, <code>Count</code> results indicates an inefficient <code>Scan</code> operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count">Count and ScannedCount</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   37     50   
    /// <p>If you did not use a filter in the request, then <code>ScannedCount</code> is the same as <code>Count</code>.</p>
          51  +
    /* StructureGenerator.kt:166 */
   38     52   
    pub fn scanned_count(&self) -> i32 {
          53  +
        /* StructureGenerator.kt:168 */
   39     54   
        self.scanned_count
          55  +
        /* StructureGenerator.kt:166 */
   40     56   
    }
   41         -
    /// <p>The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.</p>
          57  +
    /// /* StructureGenerator.kt:231 */<p>The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.</p>
   42     58   
    /// <p>If <code>LastEvaluatedKey</code> is empty, then the "last page" of results has been processed and there is no more data to be retrieved.</p>
   43     59   
    /// <p>If <code>LastEvaluatedKey</code> is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when <code>LastEvaluatedKey</code> is empty.</p>
          60  +
    /* StructureGenerator.kt:166 */
   44     61   
    pub fn last_evaluated_key(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
          62  +
        /* StructureGenerator.kt:170 */
   45     63   
        self.last_evaluated_key.as_ref()
          64  +
        /* StructureGenerator.kt:166 */
   46     65   
    }
   47         -
    /// <p>The capacity units consumed by the <code>Scan</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">Provisioned Throughput</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          66  +
    /// /* StructureGenerator.kt:231 */<p>The capacity units consumed by the <code>Scan</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">Provisioned Throughput</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          67  +
    /* StructureGenerator.kt:166 */
   48     68   
    pub fn consumed_capacity(&self) -> ::std::option::Option<&crate::types::ConsumedCapacity> {
          69  +
        /* StructureGenerator.kt:170 */
   49     70   
        self.consumed_capacity.as_ref()
          71  +
        /* StructureGenerator.kt:166 */
   50     72   
    }
          73  +
    /* StructureGenerator.kt:135 */
   51     74   
}
          75  +
/* ClientCodegenVisitor.kt:237 */
   52     76   
impl ScanOutput {
   53         -
    /// Creates a new builder-style object to manufacture [`ScanOutput`](crate::operation::scan::ScanOutput).
          77  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`ScanOutput`](crate::operation::scan::ScanOutput).
          78  +
    /* BuilderGenerator.kt:175 */
   54     79   
    pub fn builder() -> crate::operation::scan::builders::ScanOutputBuilder {
          80  +
        /* BuilderGenerator.kt:176 */
   55     81   
        crate::operation::scan::builders::ScanOutputBuilder::default()
          82  +
        /* BuilderGenerator.kt:175 */
   56     83   
    }
          84  +
    /* ClientCodegenVisitor.kt:237 */
   57     85   
}
   58     86   
   59         -
/// A builder for [`ScanOutput`](crate::operation::scan::ScanOutput).
          87  +
/// /* BuilderGenerator.kt:342 */A builder for [`ScanOutput`](crate::operation::scan::ScanOutput).
          88  +
/* RustType.kt:516 */
   60     89   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          90  +
/* RustType.kt:516 */
   61     91   
#[non_exhaustive]
          92  +
/* BuilderGenerator.kt:345 */
   62     93   
pub struct ScanOutputBuilder {
          94  +
    /* BuilderGenerator.kt:275 */
   63     95   
    pub(crate) items: ::std::option::Option<::std::vec::Vec<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>>,
   64         -
    pub(crate) count: ::std::option::Option<i32>,
   65         -
    pub(crate) scanned_count: ::std::option::Option<i32>,
          96  +
    /* BuilderGenerator.kt:275 */ pub(crate) count: ::std::option::Option<i32>,
          97  +
    /* BuilderGenerator.kt:275 */ pub(crate) scanned_count: ::std::option::Option<i32>,
          98  +
    /* BuilderGenerator.kt:275 */
   66     99   
    pub(crate) last_evaluated_key: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
         100  +
    /* BuilderGenerator.kt:275 */
   67    101   
    pub(crate) consumed_capacity: ::std::option::Option<crate::types::ConsumedCapacity>,
         102  +
    /* BuilderGenerator.kt:345 */
   68    103   
}
         104  +
/* BuilderGenerator.kt:355 */
   69    105   
impl ScanOutputBuilder {
   70         -
    /// Appends an item to `items`.
         106  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `items`.
         107  +
    /* BuilderGenerator.kt:411 */
   71    108   
    ///
   72         -
    /// To override the contents of this collection use [`set_items`](Self::set_items).
         109  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_items`](Self::set_items).
         110  +
    /* BuilderGenerator.kt:413 */
   73    111   
    ///
   74         -
    /// <p>An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute.</p>
         112  +
    /// /* BuilderGenerator.kt:414 */<p>An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute.</p>
         113  +
    /* BuilderGenerator.kt:418 */
   75    114   
    pub fn items(mut self, input: ::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>) -> Self {
         115  +
        /* BuilderGenerator.kt:419 */
   76    116   
        let mut v = self.items.unwrap_or_default();
   77    117   
        v.push(input);
   78    118   
        self.items = ::std::option::Option::Some(v);
   79    119   
        self
         120  +
        /* BuilderGenerator.kt:418 */
   80    121   
    }
   81         -
    /// <p>An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute.</p>
         122  +
    /// /* BuilderGenerator.kt:312 */<p>An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute.</p>
         123  +
    /* BuilderGenerator.kt:314 */
   82    124   
    pub fn set_items(
   83    125   
        mut self,
   84    126   
        input: ::std::option::Option<::std::vec::Vec<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>>,
   85    127   
    ) -> Self {
         128  +
        /* BuilderGenerator.kt:315 */
   86    129   
        self.items = input;
   87    130   
        self
         131  +
        /* BuilderGenerator.kt:314 */
   88    132   
    }
   89         -
    /// <p>An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute.</p>
         133  +
    /// /* BuilderGenerator.kt:334 */<p>An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute.</p>
         134  +
    /* BuilderGenerator.kt:336 */
   90    135   
    pub fn get_items(
   91    136   
        &self,
   92    137   
    ) -> &::std::option::Option<::std::vec::Vec<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>> {
         138  +
        /* BuilderGenerator.kt:337 */
   93    139   
        &self.items
         140  +
        /* BuilderGenerator.kt:336 */
   94    141   
    }
   95         -
    /// <p>The number of items in the response.</p>
         142  +
    /// /* BuilderGenerator.kt:286 */<p>The number of items in the response.</p>
   96    143   
    /// <p>If you set <code>ScanFilter</code> in the request, then <code>Count</code> is the number of items returned after the filter was applied, and <code>ScannedCount</code> is the number of matching items before the filter was applied.</p>
   97    144   
    /// <p>If you did not use a filter in the request, then <code>Count</code> is the same as <code>ScannedCount</code>.</p>
         145  +
    /* BuilderGenerator.kt:291 */
   98    146   
    pub fn count(mut self, input: i32) -> Self {
         147  +
        /* BuilderGenerator.kt:292 */
   99    148   
        self.count = ::std::option::Option::Some(input);
         149  +
        /* BuilderGenerator.kt:293 */
  100    150   
        self
         151  +
        /* BuilderGenerator.kt:291 */
  101    152   
    }
  102         -
    /// <p>The number of items in the response.</p>
         153  +
    /// /* BuilderGenerator.kt:312 */<p>The number of items in the response.</p>
  103    154   
    /// <p>If you set <code>ScanFilter</code> in the request, then <code>Count</code> is the number of items returned after the filter was applied, and <code>ScannedCount</code> is the number of matching items before the filter was applied.</p>
  104    155   
    /// <p>If you did not use a filter in the request, then <code>Count</code> is the same as <code>ScannedCount</code>.</p>
         156  +
    /* BuilderGenerator.kt:314 */
  105    157   
    pub fn set_count(mut self, input: ::std::option::Option<i32>) -> Self {
         158  +
        /* BuilderGenerator.kt:315 */
  106    159   
        self.count = input;
  107    160   
        self
         161  +
        /* BuilderGenerator.kt:314 */
  108    162   
    }
  109         -
    /// <p>The number of items in the response.</p>
         163  +
    /// /* BuilderGenerator.kt:334 */<p>The number of items in the response.</p>
  110    164   
    /// <p>If you set <code>ScanFilter</code> in the request, then <code>Count</code> is the number of items returned after the filter was applied, and <code>ScannedCount</code> is the number of matching items before the filter was applied.</p>
  111    165   
    /// <p>If you did not use a filter in the request, then <code>Count</code> is the same as <code>ScannedCount</code>.</p>
         166  +
    /* BuilderGenerator.kt:336 */
  112    167   
    pub fn get_count(&self) -> &::std::option::Option<i32> {
         168  +
        /* BuilderGenerator.kt:337 */
  113    169   
        &self.count
         170  +
        /* BuilderGenerator.kt:336 */
  114    171   
    }
  115         -
    /// <p>The number of items evaluated, before any <code>ScanFilter</code> is applied. A high <code>ScannedCount</code> value with few, or no, <code>Count</code> results indicates an inefficient <code>Scan</code> operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count">Count and ScannedCount</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         172  +
    /// /* BuilderGenerator.kt:286 */<p>The number of items evaluated, before any <code>ScanFilter</code> is applied. A high <code>ScannedCount</code> value with few, or no, <code>Count</code> results indicates an inefficient <code>Scan</code> operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count">Count and ScannedCount</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
  116    173   
    /// <p>If you did not use a filter in the request, then <code>ScannedCount</code> is the same as <code>Count</code>.</p>
         174  +
    /* BuilderGenerator.kt:291 */
  117    175   
    pub fn scanned_count(mut self, input: i32) -> Self {
         176  +
        /* BuilderGenerator.kt:292 */
  118    177   
        self.scanned_count = ::std::option::Option::Some(input);
         178  +
        /* BuilderGenerator.kt:293 */
  119    179   
        self
         180  +
        /* BuilderGenerator.kt:291 */
  120    181   
    }
  121         -
    /// <p>The number of items evaluated, before any <code>ScanFilter</code> is applied. A high <code>ScannedCount</code> value with few, or no, <code>Count</code> results indicates an inefficient <code>Scan</code> operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count">Count and ScannedCount</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         182  +
    /// /* BuilderGenerator.kt:312 */<p>The number of items evaluated, before any <code>ScanFilter</code> is applied. A high <code>ScannedCount</code> value with few, or no, <code>Count</code> results indicates an inefficient <code>Scan</code> operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count">Count and ScannedCount</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
  122    183   
    /// <p>If you did not use a filter in the request, then <code>ScannedCount</code> is the same as <code>Count</code>.</p>
         184  +
    /* BuilderGenerator.kt:314 */
  123    185   
    pub fn set_scanned_count(mut self, input: ::std::option::Option<i32>) -> Self {
         186  +
        /* BuilderGenerator.kt:315 */
  124    187   
        self.scanned_count = input;
  125    188   
        self
         189  +
        /* BuilderGenerator.kt:314 */
  126    190   
    }
  127         -
    /// <p>The number of items evaluated, before any <code>ScanFilter</code> is applied. A high <code>ScannedCount</code> value with few, or no, <code>Count</code> results indicates an inefficient <code>Scan</code> operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count">Count and ScannedCount</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         191  +
    /// /* BuilderGenerator.kt:334 */<p>The number of items evaluated, before any <code>ScanFilter</code> is applied. A high <code>ScannedCount</code> value with few, or no, <code>Count</code> results indicates an inefficient <code>Scan</code> operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count">Count and ScannedCount</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
  128    192   
    /// <p>If you did not use a filter in the request, then <code>ScannedCount</code> is the same as <code>Count</code>.</p>
         193  +
    /* BuilderGenerator.kt:336 */
  129    194   
    pub fn get_scanned_count(&self) -> &::std::option::Option<i32> {
         195  +
        /* BuilderGenerator.kt:337 */
  130    196   
        &self.scanned_count
         197  +
        /* BuilderGenerator.kt:336 */
  131    198   
    }
  132         -
    /// Adds a key-value pair to `last_evaluated_key`.
         199  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `last_evaluated_key`.
         200  +
    /* BuilderGenerator.kt:437 */
  133    201   
    ///
  134         -
    /// To override the contents of this collection use [`set_last_evaluated_key`](Self::set_last_evaluated_key).
         202  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_last_evaluated_key`](Self::set_last_evaluated_key).
         203  +
    /* BuilderGenerator.kt:439 */
  135    204   
    ///
  136         -
    /// <p>The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.</p>
         205  +
    /// /* BuilderGenerator.kt:440 */<p>The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.</p>
  137    206   
    /// <p>If <code>LastEvaluatedKey</code> is empty, then the "last page" of results has been processed and there is no more data to be retrieved.</p>
  138    207   
    /// <p>If <code>LastEvaluatedKey</code> is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when <code>LastEvaluatedKey</code> is empty.</p>
         208  +
    /* BuilderGenerator.kt:445 */
  139    209   
    pub fn last_evaluated_key(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
         210  +
        /* BuilderGenerator.kt:448 */
  140    211   
        let mut hash_map = self.last_evaluated_key.unwrap_or_default();
  141    212   
        hash_map.insert(k.into(), v);
  142    213   
        self.last_evaluated_key = ::std::option::Option::Some(hash_map);
  143    214   
        self
         215  +
        /* BuilderGenerator.kt:445 */
  144    216   
    }
  145         -
    /// <p>The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.</p>
         217  +
    /// /* BuilderGenerator.kt:312 */<p>The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.</p>
  146    218   
    /// <p>If <code>LastEvaluatedKey</code> is empty, then the "last page" of results has been processed and there is no more data to be retrieved.</p>
  147    219   
    /// <p>If <code>LastEvaluatedKey</code> is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when <code>LastEvaluatedKey</code> is empty.</p>
         220  +
    /* BuilderGenerator.kt:314 */
  148    221   
    pub fn set_last_evaluated_key(
  149    222   
        mut self,
  150    223   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  151    224   
    ) -> Self {
         225  +
        /* BuilderGenerator.kt:315 */
  152    226   
        self.last_evaluated_key = input;
  153    227   
        self
         228  +
        /* BuilderGenerator.kt:314 */
  154    229   
    }
  155         -
    /// <p>The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.</p>
         230  +
    /// /* BuilderGenerator.kt:334 */<p>The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.</p>
  156    231   
    /// <p>If <code>LastEvaluatedKey</code> is empty, then the "last page" of results has been processed and there is no more data to be retrieved.</p>
  157    232   
    /// <p>If <code>LastEvaluatedKey</code> is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when <code>LastEvaluatedKey</code> is empty.</p>
         233  +
    /* BuilderGenerator.kt:336 */
  158    234   
    pub fn get_last_evaluated_key(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         235  +
        /* BuilderGenerator.kt:337 */
  159    236   
        &self.last_evaluated_key
         237  +
        /* BuilderGenerator.kt:336 */
  160    238   
    }
  161         -
    /// <p>The capacity units consumed by the <code>Scan</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">Provisioned Throughput</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         239  +
    /// /* BuilderGenerator.kt:286 */<p>The capacity units consumed by the <code>Scan</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">Provisioned Throughput</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         240  +
    /* BuilderGenerator.kt:291 */
  162    241   
    pub fn consumed_capacity(mut self, input: crate::types::ConsumedCapacity) -> Self {
         242  +
        /* BuilderGenerator.kt:292 */
  163    243   
        self.consumed_capacity = ::std::option::Option::Some(input);
         244  +
        /* BuilderGenerator.kt:293 */
  164    245   
        self
         246  +
        /* BuilderGenerator.kt:291 */
  165    247   
    }
  166         -
    /// <p>The capacity units consumed by the <code>Scan</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">Provisioned Throughput</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         248  +
    /// /* BuilderGenerator.kt:312 */<p>The capacity units consumed by the <code>Scan</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">Provisioned Throughput</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         249  +
    /* BuilderGenerator.kt:314 */
  167    250   
    pub fn set_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ConsumedCapacity>) -> Self {
         251  +
        /* BuilderGenerator.kt:315 */
  168    252   
        self.consumed_capacity = input;
  169    253   
        self
         254  +
        /* BuilderGenerator.kt:314 */
  170    255   
    }
  171         -
    /// <p>The capacity units consumed by the <code>Scan</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">Provisioned Throughput</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         256  +
    /// /* BuilderGenerator.kt:334 */<p>The capacity units consumed by the <code>Scan</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">Provisioned Throughput</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         257  +
    /* BuilderGenerator.kt:336 */
  172    258   
    pub fn get_consumed_capacity(&self) -> &::std::option::Option<crate::types::ConsumedCapacity> {
         259  +
        /* BuilderGenerator.kt:337 */
  173    260   
        &self.consumed_capacity
         261  +
        /* BuilderGenerator.kt:336 */
  174    262   
    }
  175         -
    /// Consumes the builder and constructs a [`ScanOutput`](crate::operation::scan::ScanOutput).
         263  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`ScanOutput`](crate::operation::scan::ScanOutput).
         264  +
    /* BuilderGenerator.kt:253 */
  176    265   
    pub fn build(self) -> crate::operation::scan::ScanOutput {
         266  +
        /* BuilderGenerator.kt:477 */
  177    267   
        crate::operation::scan::ScanOutput {
  178         -
            items: self.items,
  179         -
            count: self.count.unwrap_or_default(),
  180         -
            scanned_count: self.scanned_count.unwrap_or_default(),
         268  +
            /* BuilderGenerator.kt:481 */ items: self.items,
         269  +
            /* BuilderGenerator.kt:481 */
         270  +
            count: self
         271  +
                .count
         272  +
                /* BuilderGenerator.kt:487 */
         273  +
                .unwrap_or_default(),
         274  +
            /* BuilderGenerator.kt:481 */
         275  +
            scanned_count: self
         276  +
                .scanned_count
         277  +
                /* BuilderGenerator.kt:487 */
         278  +
                .unwrap_or_default(),
         279  +
            /* BuilderGenerator.kt:481 */
  181    280   
            last_evaluated_key: self.last_evaluated_key,
         281  +
            /* BuilderGenerator.kt:481 */
  182    282   
            consumed_capacity: self.consumed_capacity,
         283  +
            /* BuilderGenerator.kt:477 */
  183    284   
        }
         285  +
        /* BuilderGenerator.kt:253 */
  184    286   
    }
         287  +
    /* BuilderGenerator.kt:355 */
  185    288   
}

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

@@ -1,1 +613,674 @@
    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::scan::_scan_output::ScanOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::scan::_scan_input::ScanInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::scan::builders::ScanInputBuilder {
    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::scan::ScanOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::scan::ScanError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.scan();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `Scan`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `Scan`.
   24     27   
///
   25         -
/// <p>The <code>Scan</code> operation returns one or more items and item attributes by accessing every item in a table or a secondary index. To have DynamoDB return fewer items, you can provide a <code>FilterExpression</code> operation.</p>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p>The <code>Scan</code> operation returns one or more items and item attributes by accessing every item in a table or a secondary index. To have DynamoDB return fewer items, you can provide a <code>FilterExpression</code> operation.</p>
   26     29   
/// <p>If the total number of scanned items exceeds the maximum dataset size limit of 1 MB, the scan stops and results are returned to the user as a <code>LastEvaluatedKey</code> value to continue the scan in a subsequent operation. The results also include the number of items exceeding the limit. A scan can result in no table data meeting the filter criteria.</p>
   27     30   
/// <p>A single <code>Scan</code> operation reads up to the maximum number of items set (if using the <code>Limit</code> parameter) or a maximum of 1 MB of data and then apply any filtering to the results using <code>FilterExpression</code>. If <code>LastEvaluatedKey</code> is present in the response, you need to paginate the result set. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.Pagination">Paginating the Results</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   28     31   
/// <p><code>Scan</code> operations proceed sequentially; however, for faster performance on a large table or secondary index, applications can request a parallel <code>Scan</code> operation by providing the <code>Segment</code> and <code>TotalSegments</code> parameters. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.ParallelScan">Parallel Scan</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   29     32   
/// <p><code>Scan</code> uses eventually consistent reads when accessing the data in a table; therefore, the result set might not include the changes to data in the table immediately before the operation began. If you need a consistent copy of the data, as of the time that the <code>Scan</code> begins, you can set the <code>ConsistentRead</code> parameter to <code>true</code>.</p>
          33  +
/* RustType.kt:516 */
   30     34   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          35  +
/* FluentBuilderGenerator.kt:270 */
   31     36   
pub struct ScanFluentBuilder {
   32     37   
    handle: ::std::sync::Arc<crate::client::Handle>,
   33     38   
    inner: crate::operation::scan::builders::ScanInputBuilder,
   34     39   
    config_override: ::std::option::Option<crate::config::Builder>,
   35     40   
}
          41  +
/* FluentBuilderGenerator.kt:381 */
   36     42   
impl crate::client::customize::internal::CustomizableSend<crate::operation::scan::ScanOutput, crate::operation::scan::ScanError>
   37     43   
    for ScanFluentBuilder
   38     44   
{
   39     45   
    fn send(
   40     46   
        self,
   41     47   
        config_override: crate::config::Builder,
   42     48   
    ) -> crate::client::customize::internal::BoxFuture<
   43     49   
        crate::client::customize::internal::SendResult<crate::operation::scan::ScanOutput, crate::operation::scan::ScanError>,
   44     50   
    > {
   45     51   
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
   46     52   
    }
   47     53   
}
          54  +
/* FluentBuilderGenerator.kt:282 */
   48     55   
impl ScanFluentBuilder {
          56  +
    /* FluentBuilderGenerator.kt:288 */
   49     57   
    /// Creates a new `ScanFluentBuilder`.
   50     58   
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
   51     59   
        Self {
   52     60   
            handle,
   53     61   
            inner: ::std::default::Default::default(),
   54     62   
            config_override: ::std::option::Option::None,
   55     63   
        }
   56     64   
    }
          65  +
    /* FluentBuilderGenerator.kt:301 */
   57     66   
    /// Access the Scan as a reference.
   58     67   
    pub fn as_input(&self) -> &crate::operation::scan::builders::ScanInputBuilder {
   59     68   
        &self.inner
   60     69   
    }
          70  +
    /* FluentBuilderGenerator.kt:145 */
   61     71   
    /// Sends the request and returns the response.
   62     72   
    ///
   63     73   
    /// If an error occurs, an `SdkError` will be returned with additional details that
   64     74   
    /// can be matched against.
   65     75   
    ///
   66     76   
    /// By default, any retryable failures will be retried twice. Retry behavior
   67     77   
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
   68     78   
    /// set when configuring the client.
   69     79   
    pub async fn send(
   70     80   
        self,
   71     81   
    ) -> ::std::result::Result<
   72     82   
        crate::operation::scan::ScanOutput,
   73     83   
        ::aws_smithy_runtime_api::client::result::SdkError<
   74     84   
            crate::operation::scan::ScanError,
   75     85   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   76     86   
        >,
   77     87   
    > {
   78     88   
        let input = self
   79     89   
            .inner
   80     90   
            .build()
   81     91   
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
   82     92   
        let runtime_plugins =
   83     93   
            crate::operation::scan::Scan::operation_runtime_plugins(self.handle.runtime_plugins.clone(), &self.handle.conf, self.config_override);
   84     94   
        crate::operation::scan::Scan::orchestrate(&runtime_plugins, input).await
   85     95   
    }
   86     96   
   87     97   
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
   88     98   
    pub fn customize(
   89     99   
        self,
   90    100   
    ) -> crate::client::customize::CustomizableOperation<crate::operation::scan::ScanOutput, crate::operation::scan::ScanError, Self> {
   91    101   
        crate::client::customize::CustomizableOperation::new(self)
   92    102   
    }
         103  +
    /* FluentBuilderGenerator.kt:315 */
   93    104   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
   94    105   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
   95    106   
        self
   96    107   
    }
   97    108   
   98    109   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
   99    110   
        self.config_override = config_override;
  100    111   
        self
  101    112   
    }
         113  +
    /* FluentBuilderGenerator.kt:340 */
  102    114   
    /// Create a paginator for this request
  103    115   
    ///
  104    116   
    /// Paginators are used by calling [`send().await`](crate::operation::scan::paginator::ScanPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
  105    117   
    pub fn into_paginator(self) -> crate::operation::scan::paginator::ScanPaginator {
  106    118   
        crate::operation::scan::paginator::ScanPaginator::new(self.handle, self.inner)
  107    119   
    }
  108         -
    /// <p>The name of the table containing the requested items; or, if you provide <code>IndexName</code>, the name of the table to which that index belongs.</p>
         120  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the table containing the requested items; or, if you provide <code>IndexName</code>, the name of the table to which that index belongs.</p>
         121  +
    /* FluentBuilderGenerator.kt:500 */
  109    122   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  110    123   
        self.inner = self.inner.table_name(input.into());
  111    124   
        self
  112    125   
    }
  113         -
    /// <p>The name of the table containing the requested items; or, if you provide <code>IndexName</code>, the name of the table to which that index belongs.</p>
         126  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the table containing the requested items; or, if you provide <code>IndexName</code>, the name of the table to which that index belongs.</p>
         127  +
    /* FluentBuilderGenerator.kt:500 */
  114    128   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  115    129   
        self.inner = self.inner.set_table_name(input);
  116    130   
        self
  117    131   
    }
  118         -
    /// <p>The name of the table containing the requested items; or, if you provide <code>IndexName</code>, the name of the table to which that index belongs.</p>
         132  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The name of the table containing the requested items; or, if you provide <code>IndexName</code>, the name of the table to which that index belongs.</p>
         133  +
    /* FluentBuilderGenerator.kt:520 */
  119    134   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
  120    135   
        self.inner.get_table_name()
  121    136   
    }
  122         -
    /// <p>The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName</code>.</p>
         137  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName</code>.</p>
         138  +
    /* FluentBuilderGenerator.kt:500 */
  123    139   
    pub fn index_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  124    140   
        self.inner = self.inner.index_name(input.into());
  125    141   
        self
  126    142   
    }
  127         -
    /// <p>The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName</code>.</p>
         143  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName</code>.</p>
         144  +
    /* FluentBuilderGenerator.kt:500 */
  128    145   
    pub fn set_index_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  129    146   
        self.inner = self.inner.set_index_name(input);
  130    147   
        self
  131    148   
    }
  132         -
    /// <p>The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName</code>.</p>
         149  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName</code>.</p>
         150  +
    /* FluentBuilderGenerator.kt:520 */
  133    151   
    pub fn get_index_name(&self) -> &::std::option::Option<::std::string::String> {
  134    152   
        self.inner.get_index_name()
  135    153   
    }
  136         -
    ///
         154  +
    /// /* FluentBuilderGenerator.kt:436 */
  137    155   
    /// Appends an item to `AttributesToGet`.
  138    156   
    ///
  139    157   
    /// To override the contents of this collection use [`set_attributes_to_get`](Self::set_attributes_to_get).
  140    158   
    ///
  141         -
    /// <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>
         159  +
    /// /* FluentBuilderGenerator.kt:443 */<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>
         160  +
    /* FluentBuilderGenerator.kt:446 */
  142    161   
    pub fn attributes_to_get(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  143    162   
        self.inner = self.inner.attributes_to_get(input.into());
  144    163   
        self
  145    164   
    }
  146         -
    /// <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>
         165  +
    /// /* FluentBuilderGenerator.kt:498 */<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>
         166  +
    /* FluentBuilderGenerator.kt:500 */
  147    167   
    pub fn set_attributes_to_get(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
  148    168   
        self.inner = self.inner.set_attributes_to_get(input);
  149    169   
        self
  150    170   
    }
  151         -
    /// <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>
         171  +
    /// /* FluentBuilderGenerator.kt:518 */<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>
         172  +
    /* FluentBuilderGenerator.kt:520 */
  152    173   
    pub fn get_attributes_to_get(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
  153    174   
        self.inner.get_attributes_to_get()
  154    175   
    }
  155         -
    /// <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">Working with Queries</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         176  +
    /// /* FluentBuilderGenerator.kt:498 */<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">Working with Queries</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         177  +
    /* FluentBuilderGenerator.kt:500 */
  156    178   
    pub fn limit(mut self, input: i32) -> Self {
  157    179   
        self.inner = self.inner.limit(input);
  158    180   
        self
  159    181   
    }
  160         -
    /// <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">Working with Queries</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         182  +
    /// /* FluentBuilderGenerator.kt:498 */<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">Working with Queries</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         183  +
    /* FluentBuilderGenerator.kt:500 */
  161    184   
    pub fn set_limit(mut self, input: ::std::option::Option<i32>) -> Self {
  162    185   
        self.inner = self.inner.set_limit(input);
  163    186   
        self
  164    187   
    }
  165         -
    /// <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">Working with Queries</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         188  +
    /// /* FluentBuilderGenerator.kt:518 */<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">Working with Queries</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         189  +
    /* FluentBuilderGenerator.kt:520 */
  166    190   
    pub fn get_limit(&self) -> &::std::option::Option<i32> {
  167    191   
        self.inner.get_limit()
  168    192   
    }
  169         -
    /// <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>
         193  +
    /// /* FluentBuilderGenerator.kt:498 */<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>
  170    194   
    /// <ul>
  171    195   
    /// <li>
  172    196   
    /// <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>
  173    197   
    /// <li>
  174    198   
    /// <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>
  175    199   
    /// <li>
  176    200   
    /// <p><code>COUNT</code> - Returns the number of matching items, rather than the matching items themselves.</p></li>
  177    201   
    /// <li>
  178    202   
    /// <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>
  179    203   
    /// <p>If you query or scan a local secondary index and request only attributes that are projected into that index, the operation reads 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>
  180    204   
    /// <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>
  181    205   
    /// </ul>
  182    206   
    /// <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>
  183    207   
    /// <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>
  184    208   
    /// </note>
         209  +
    /* FluentBuilderGenerator.kt:500 */
  185    210   
    pub fn select(mut self, input: crate::types::Select) -> Self {
  186    211   
        self.inner = self.inner.select(input);
  187    212   
        self
  188    213   
    }
  189         -
    /// <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>
         214  +
    /// /* FluentBuilderGenerator.kt:498 */<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>
  190    215   
    /// <ul>
  191    216   
    /// <li>
  192    217   
    /// <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>
  193    218   
    /// <li>
  194    219   
    /// <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>
  195    220   
    /// <li>
  196    221   
    /// <p><code>COUNT</code> - Returns the number of matching items, rather than the matching items themselves.</p></li>
  197    222   
    /// <li>
  198    223   
    /// <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>
  199    224   
    /// <p>If you query or scan a local secondary index and request only attributes that are projected into that index, the operation reads 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>
  200    225   
    /// <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>
  201    226   
    /// </ul>
  202    227   
    /// <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>
  203    228   
    /// <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>
  204    229   
    /// </note>
         230  +
    /* FluentBuilderGenerator.kt:500 */
  205    231   
    pub fn set_select(mut self, input: ::std::option::Option<crate::types::Select>) -> Self {
  206    232   
        self.inner = self.inner.set_select(input);
  207    233   
        self
  208    234   
    }
  209         -
    /// <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>
         235  +
    /// /* FluentBuilderGenerator.kt:518 */<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>
  210    236   
    /// <ul>
  211    237   
    /// <li>
  212    238   
    /// <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>
  213    239   
    /// <li>
  214    240   
    /// <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>
  215    241   
    /// <li>
  216    242   
    /// <p><code>COUNT</code> - Returns the number of matching items, rather than the matching items themselves.</p></li>
  217    243   
    /// <li>
  218    244   
    /// <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>
  219    245   
    /// <p>If you query or scan a local secondary index and request only attributes that are projected into that index, the operation reads 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>
  220    246   
    /// <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>
  221    247   
    /// </ul>
  222    248   
    /// <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>
  223    249   
    /// <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>
  224    250   
    /// </note>
         251  +
    /* FluentBuilderGenerator.kt:520 */
  225    252   
    pub fn get_select(&self) -> &::std::option::Option<crate::types::Select> {
  226    253   
        self.inner.get_select()
  227    254   
    }
  228         -
    ///
         255  +
    /// /* FluentBuilderGenerator.kt:466 */
  229    256   
    /// Adds a key-value pair to `ScanFilter`.
  230    257   
    ///
  231    258   
    /// To override the contents of this collection use [`set_scan_filter`](Self::set_scan_filter).
  232    259   
    ///
  233         -
    /// <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.ScanFilter.html">ScanFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         260  +
    /// /* FluentBuilderGenerator.kt:473 */<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.ScanFilter.html">ScanFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         261  +
    /* FluentBuilderGenerator.kt:475 */
  234    262   
    pub fn scan_filter(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::Condition) -> Self {
  235    263   
        self.inner = self.inner.scan_filter(k.into(), v);
  236    264   
        self
  237    265   
    }
  238         -
    /// <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.ScanFilter.html">ScanFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         266  +
    /// /* FluentBuilderGenerator.kt:498 */<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.ScanFilter.html">ScanFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         267  +
    /* FluentBuilderGenerator.kt:500 */
  239    268   
    pub fn set_scan_filter(
  240    269   
        mut self,
  241    270   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Condition>>,
  242    271   
    ) -> Self {
  243    272   
        self.inner = self.inner.set_scan_filter(input);
  244    273   
        self
  245    274   
    }
  246         -
    /// <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.ScanFilter.html">ScanFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         275  +
    /// /* FluentBuilderGenerator.kt: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.ScanFilter.html">ScanFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         276  +
    /* FluentBuilderGenerator.kt:520 */
  247    277   
    pub fn get_scan_filter(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Condition>> {
  248    278   
        self.inner.get_scan_filter()
  249    279   
    }
  250         -
    /// <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>
         280  +
    /// /* FluentBuilderGenerator.kt:498 */<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>
         281  +
    /* FluentBuilderGenerator.kt:500 */
  251    282   
    pub fn conditional_operator(mut self, input: crate::types::ConditionalOperator) -> Self {
  252    283   
        self.inner = self.inner.conditional_operator(input);
  253    284   
        self
  254    285   
    }
  255         -
    /// <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>
         286  +
    /// /* FluentBuilderGenerator.kt:498 */<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>
         287  +
    /* FluentBuilderGenerator.kt:500 */
  256    288   
    pub fn set_conditional_operator(mut self, input: ::std::option::Option<crate::types::ConditionalOperator>) -> Self {
  257    289   
        self.inner = self.inner.set_conditional_operator(input);
  258    290   
        self
  259    291   
    }
  260         -
    /// <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>
         292  +
    /// /* FluentBuilderGenerator.kt: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.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         293  +
    /* FluentBuilderGenerator.kt:520 */
  261    294   
    pub fn get_conditional_operator(&self) -> &::std::option::Option<crate::types::ConditionalOperator> {
  262    295   
        self.inner.get_conditional_operator()
  263    296   
    }
  264         -
    ///
         297  +
    /// /* FluentBuilderGenerator.kt:466 */
  265    298   
    /// Adds a key-value pair to `ExclusiveStartKey`.
  266    299   
    ///
  267    300   
    /// To override the contents of this collection use [`set_exclusive_start_key`](Self::set_exclusive_start_key).
  268    301   
    ///
  269         -
    /// <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>
         302  +
    /// /* FluentBuilderGenerator.kt:473 */<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>
  270    303   
    /// <p>The data type for <code>ExclusiveStartKey</code> must be String, Number or Binary. No set data types are allowed.</p>
  271    304   
    /// <p>In a parallel scan, a <code>Scan</code> request that includes <code>ExclusiveStartKey</code> must specify the same segment whose previous <code>Scan</code> returned the corresponding value of <code>LastEvaluatedKey</code>.</p>
         305  +
    /* FluentBuilderGenerator.kt:475 */
  272    306   
    pub fn exclusive_start_key(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
  273    307   
        self.inner = self.inner.exclusive_start_key(k.into(), v);
  274    308   
        self
  275    309   
    }
  276         -
    /// <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>
         310  +
    /// /* FluentBuilderGenerator.kt:498 */<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>
  277    311   
    /// <p>The data type for <code>ExclusiveStartKey</code> must be String, Number or Binary. No set data types are allowed.</p>
  278    312   
    /// <p>In a parallel scan, a <code>Scan</code> request that includes <code>ExclusiveStartKey</code> must specify the same segment whose previous <code>Scan</code> returned the corresponding value of <code>LastEvaluatedKey</code>.</p>
         313  +
    /* FluentBuilderGenerator.kt:500 */
  279    314   
    pub fn set_exclusive_start_key(
  280    315   
        mut self,
  281    316   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  282    317   
    ) -> Self {
  283    318   
        self.inner = self.inner.set_exclusive_start_key(input);
  284    319   
        self
  285    320   
    }
  286         -
    /// <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>
         321  +
    /// /* FluentBuilderGenerator.kt:518 */<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>
  287    322   
    /// <p>The data type for <code>ExclusiveStartKey</code> must be String, Number or Binary. No set data types are allowed.</p>
  288    323   
    /// <p>In a parallel scan, a <code>Scan</code> request that includes <code>ExclusiveStartKey</code> must specify the same segment whose previous <code>Scan</code> returned the corresponding value of <code>LastEvaluatedKey</code>.</p>
         324  +
    /* FluentBuilderGenerator.kt:520 */
  289    325   
    pub fn get_exclusive_start_key(
  290    326   
        &self,
  291    327   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
  292    328   
        self.inner.get_exclusive_start_key()
  293    329   
    }
  294         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         330  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  295    331   
    /// <ul>
  296    332   
    /// <li>
  297    333   
    /// <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>
  298    334   
    /// <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>
  299    335   
    /// <li>
  300    336   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  301    337   
    /// <li>
  302    338   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  303    339   
    /// </ul>
         340  +
    /* FluentBuilderGenerator.kt:500 */
  304    341   
    pub fn return_consumed_capacity(mut self, input: crate::types::ReturnConsumedCapacity) -> Self {
  305    342   
        self.inner = self.inner.return_consumed_capacity(input);
  306    343   
        self
  307    344   
    }
  308         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         345  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  309    346   
    /// <ul>
  310    347   
    /// <li>
  311    348   
    /// <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>
  312    349   
    /// <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>
  313    350   
    /// <li>
  314    351   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  315    352   
    /// <li>
  316    353   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  317    354   
    /// </ul>
         355  +
    /* FluentBuilderGenerator.kt:500 */
  318    356   
    pub fn set_return_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ReturnConsumedCapacity>) -> Self {
  319    357   
        self.inner = self.inner.set_return_consumed_capacity(input);
  320    358   
        self
  321    359   
    }
  322         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         360  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  323    361   
    /// <ul>
  324    362   
    /// <li>
  325    363   
    /// <p><code>INDEXES</code> - The response includes the aggregate <code>ConsumedCapacity</code> for the operation, together with <code>ConsumedCapacity</code> for each table and secondary index that was accessed.</p>
  326    364   
    /// <p>Note that some operations, such as <code>GetItem</code> and <code>BatchGetItem</code>, do not access any indexes at all. In these cases, specifying <code>INDEXES</code> will only return <code>ConsumedCapacity</code> information for table(s).</p></li>
  327    365   
    /// <li>
  328    366   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  329    367   
    /// <li>
  330    368   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  331    369   
    /// </ul>
         370  +
    /* FluentBuilderGenerator.kt:520 */
  332    371   
    pub fn get_return_consumed_capacity(&self) -> &::std::option::Option<crate::types::ReturnConsumedCapacity> {
  333    372   
        self.inner.get_return_consumed_capacity()
  334    373   
    }
  335         -
    /// <p>For a parallel <code>Scan</code> request, <code>TotalSegments</code> represents the total number of segments into which the <code>Scan</code> operation will be divided. The value of <code>TotalSegments</code> corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a <code>TotalSegments</code> value of 4.</p>
         374  +
    /// /* FluentBuilderGenerator.kt:498 */<p>For a parallel <code>Scan</code> request, <code>TotalSegments</code> represents the total number of segments into which the <code>Scan</code> operation will be divided. The value of <code>TotalSegments</code> corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a <code>TotalSegments</code> value of 4.</p>
  336    375   
    /// <p>The value for <code>TotalSegments</code> must be greater than or equal to 1, and less than or equal to 1000000. If you specify a <code>TotalSegments</code> value of 1, the <code>Scan</code> operation will be sequential rather than parallel.</p>
  337    376   
    /// <p>If you specify <code>TotalSegments</code>, you must also specify <code>Segment</code>.</p>
         377  +
    /* FluentBuilderGenerator.kt:500 */
  338    378   
    pub fn total_segments(mut self, input: i32) -> Self {
  339    379   
        self.inner = self.inner.total_segments(input);
  340    380   
        self
  341    381   
    }
  342         -
    /// <p>For a parallel <code>Scan</code> request, <code>TotalSegments</code> represents the total number of segments into which the <code>Scan</code> operation will be divided. The value of <code>TotalSegments</code> corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a <code>TotalSegments</code> value of 4.</p>
         382  +
    /// /* FluentBuilderGenerator.kt:498 */<p>For a parallel <code>Scan</code> request, <code>TotalSegments</code> represents the total number of segments into which the <code>Scan</code> operation will be divided. The value of <code>TotalSegments</code> corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a <code>TotalSegments</code> value of 4.</p>
  343    383   
    /// <p>The value for <code>TotalSegments</code> must be greater than or equal to 1, and less than or equal to 1000000. If you specify a <code>TotalSegments</code> value of 1, the <code>Scan</code> operation will be sequential rather than parallel.</p>
  344    384   
    /// <p>If you specify <code>TotalSegments</code>, you must also specify <code>Segment</code>.</p>
         385  +
    /* FluentBuilderGenerator.kt:500 */
  345    386   
    pub fn set_total_segments(mut self, input: ::std::option::Option<i32>) -> Self {
  346    387   
        self.inner = self.inner.set_total_segments(input);
  347    388   
        self
  348    389   
    }
  349         -
    /// <p>For a parallel <code>Scan</code> request, <code>TotalSegments</code> represents the total number of segments into which the <code>Scan</code> operation will be divided. The value of <code>TotalSegments</code> corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a <code>TotalSegments</code> value of 4.</p>
         390  +
    /// /* FluentBuilderGenerator.kt:518 */<p>For a parallel <code>Scan</code> request, <code>TotalSegments</code> represents the total number of segments into which the <code>Scan</code> operation will be divided. The value of <code>TotalSegments</code> corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a <code>TotalSegments</code> value of 4.</p>
  350    391   
    /// <p>The value for <code>TotalSegments</code> must be greater than or equal to 1, and less than or equal to 1000000. If you specify a <code>TotalSegments</code> value of 1, the <code>Scan</code> operation will be sequential rather than parallel.</p>
  351    392   
    /// <p>If you specify <code>TotalSegments</code>, you must also specify <code>Segment</code>.</p>
         393  +
    /* FluentBuilderGenerator.kt:520 */
  352    394   
    pub fn get_total_segments(&self) -> &::std::option::Option<i32> {
  353    395   
        self.inner.get_total_segments()
  354    396   
    }
  355         -
    /// <p>For a parallel <code>Scan</code> request, <code>Segment</code> identifies an individual segment to be scanned by an application worker.</p>
         397  +
    /// /* FluentBuilderGenerator.kt:498 */<p>For a parallel <code>Scan</code> request, <code>Segment</code> identifies an individual segment to be scanned by an application worker.</p>
  356    398   
    /// <p>Segment IDs are zero-based, so the first segment is always 0. For example, if you want to use four application threads to scan a table or an index, then the first thread specifies a <code>Segment</code> value of 0, the second thread specifies 1, and so on.</p>
  357    399   
    /// <p>The value of <code>LastEvaluatedKey</code> returned from a parallel <code>Scan</code> request must be used as <code>ExclusiveStartKey</code> with the same segment ID in a subsequent <code>Scan</code> operation.</p>
  358    400   
    /// <p>The value for <code>Segment</code> must be greater than or equal to 0, and less than the value provided for <code>TotalSegments</code>.</p>
  359    401   
    /// <p>If you provide <code>Segment</code>, you must also provide <code>TotalSegments</code>.</p>
         402  +
    /* FluentBuilderGenerator.kt:500 */
  360    403   
    pub fn segment(mut self, input: i32) -> Self {
  361    404   
        self.inner = self.inner.segment(input);
  362    405   
        self
  363    406   
    }
  364         -
    /// <p>For a parallel <code>Scan</code> request, <code>Segment</code> identifies an individual segment to be scanned by an application worker.</p>
         407  +
    /// /* FluentBuilderGenerator.kt:498 */<p>For a parallel <code>Scan</code> request, <code>Segment</code> identifies an individual segment to be scanned by an application worker.</p>
  365    408   
    /// <p>Segment IDs are zero-based, so the first segment is always 0. For example, if you want to use four application threads to scan a table or an index, then the first thread specifies a <code>Segment</code> value of 0, the second thread specifies 1, and so on.</p>
  366    409   
    /// <p>The value of <code>LastEvaluatedKey</code> returned from a parallel <code>Scan</code> request must be used as <code>ExclusiveStartKey</code> with the same segment ID in a subsequent <code>Scan</code> operation.</p>
  367    410   
    /// <p>The value for <code>Segment</code> must be greater than or equal to 0, and less than the value provided for <code>TotalSegments</code>.</p>
  368    411   
    /// <p>If you provide <code>Segment</code>, you must also provide <code>TotalSegments</code>.</p>
         412  +
    /* FluentBuilderGenerator.kt:500 */
  369    413   
    pub fn set_segment(mut self, input: ::std::option::Option<i32>) -> Self {
  370    414   
        self.inner = self.inner.set_segment(input);
  371    415   
        self
  372    416   
    }
  373         -
    /// <p>For a parallel <code>Scan</code> request, <code>Segment</code> identifies an individual segment to be scanned by an application worker.</p>
         417  +
    /// /* FluentBuilderGenerator.kt:518 */<p>For a parallel <code>Scan</code> request, <code>Segment</code> identifies an individual segment to be scanned by an application worker.</p>
  374    418   
    /// <p>Segment IDs are zero-based, so the first segment is always 0. For example, if you want to use four application threads to scan a table or an index, then the first thread specifies a <code>Segment</code> value of 0, the second thread specifies 1, and so on.</p>
  375    419   
    /// <p>The value of <code>LastEvaluatedKey</code> returned from a parallel <code>Scan</code> request must be used as <code>ExclusiveStartKey</code> with the same segment ID in a subsequent <code>Scan</code> operation.</p>
  376    420   
    /// <p>The value for <code>Segment</code> must be greater than or equal to 0, and less than the value provided for <code>TotalSegments</code>.</p>
  377    421   
    /// <p>If you provide <code>Segment</code>, you must also provide <code>TotalSegments</code>.</p>
         422  +
    /* FluentBuilderGenerator.kt:520 */
  378    423   
    pub fn get_segment(&self) -> &::std::option::Option<i32> {
  379    424   
        self.inner.get_segment()
  380    425   
    }
  381         -
    /// <p>A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         426  +
    /// /* FluentBuilderGenerator.kt:498 */<p>A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  382    427   
    /// <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>
  383    428   
    /// <p>For more information, 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>
         429  +
    /* FluentBuilderGenerator.kt:500 */
  384    430   
    pub fn projection_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  385    431   
        self.inner = self.inner.projection_expression(input.into());
  386    432   
        self
  387    433   
    }
  388         -
    /// <p>A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         434  +
    /// /* FluentBuilderGenerator.kt:498 */<p>A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  389    435   
    /// <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>
  390    436   
    /// <p>For more information, 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>
         437  +
    /* FluentBuilderGenerator.kt:500 */
  391    438   
    pub fn set_projection_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  392    439   
        self.inner = self.inner.set_projection_expression(input);
  393    440   
        self
  394    441   
    }
  395         -
    /// <p>A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         442  +
    /// /* FluentBuilderGenerator.kt:518 */<p>A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  396    443   
    /// <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>
  397    444   
    /// <p>For more information, 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>
         445  +
    /* FluentBuilderGenerator.kt:520 */
  398    446   
    pub fn get_projection_expression(&self) -> &::std::option::Option<::std::string::String> {
  399    447   
        self.inner.get_projection_expression()
  400    448   
    }
  401         -
    /// <p>A string that contains conditions that DynamoDB applies after the <code>Scan</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p><note>
         449  +
    /// /* FluentBuilderGenerator.kt:498 */<p>A string that contains conditions that DynamoDB applies after the <code>Scan</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p><note>
  402    450   
    /// <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>
  403    451   
    /// </note>
  404    452   
    /// <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>
         453  +
    /* FluentBuilderGenerator.kt:500 */
  405    454   
    pub fn filter_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  406    455   
        self.inner = self.inner.filter_expression(input.into());
  407    456   
        self
  408    457   
    }
  409         -
    /// <p>A string that contains conditions that DynamoDB applies after the <code>Scan</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p><note>
         458  +
    /// /* FluentBuilderGenerator.kt:498 */<p>A string that contains conditions that DynamoDB applies after the <code>Scan</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p><note>
  410    459   
    /// <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>
  411    460   
    /// </note>
  412    461   
    /// <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>
         462  +
    /* FluentBuilderGenerator.kt:500 */
  413    463   
    pub fn set_filter_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  414    464   
        self.inner = self.inner.set_filter_expression(input);
  415    465   
        self
  416    466   
    }
  417         -
    /// <p>A string that contains conditions that DynamoDB applies after the <code>Scan</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p><note>
         467  +
    /// /* FluentBuilderGenerator.kt:518 */<p>A string that contains conditions that DynamoDB applies after the <code>Scan</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p><note>
  418    468   
    /// <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>
  419    469   
    /// </note>
  420    470   
    /// <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>
         471  +
    /* FluentBuilderGenerator.kt:520 */
  421    472   
    pub fn get_filter_expression(&self) -> &::std::option::Option<::std::string::String> {
  422    473   
        self.inner.get_filter_expression()
  423    474   
    }
  424         -
    ///
         475  +
    /// /* FluentBuilderGenerator.kt:466 */
  425    476   
    /// Adds a key-value pair to `ExpressionAttributeNames`.
  426    477   
    ///
  427    478   
    /// To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
  428    479   
    ///
  429         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         480  +
    /// /* 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>
  430    481   
    /// <ul>
  431    482   
    /// <li>
  432    483   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  433    484   
    /// <li>
  434    485   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  435    486   
    /// <li>
  436    487   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  437    488   
    /// </ul>
  438    489   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  439    490   
    /// <ul>
  440    491   
    /// <li>
  441    492   
    /// <p><code>Percentile</code></p></li>
  442    493   
    /// </ul>
  443    494   
    /// <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>
  444    495   
    /// <ul>
  445    496   
    /// <li>
  446    497   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  447    498   
    /// </ul>
  448    499   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  449    500   
    /// <ul>
  450    501   
    /// <li>
  451    502   
    /// <p><code>#P = :val</code></p></li>
  452    503   
    /// </ul><note>
  453    504   
    /// <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>
  454    505   
    /// </note>
  455    506   
    /// <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>
         507  +
    /* FluentBuilderGenerator.kt:475 */
  456    508   
    pub fn expression_attribute_names(
  457    509   
        mut self,
  458    510   
        k: impl ::std::convert::Into<::std::string::String>,
  459    511   
        v: impl ::std::convert::Into<::std::string::String>,
  460    512   
    ) -> Self {
  461    513   
        self.inner = self.inner.expression_attribute_names(k.into(), v.into());
  462    514   
        self
  463    515   
    }
  464         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         516  +
    /// /* 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>
  465    517   
    /// <ul>
  466    518   
    /// <li>
  467    519   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  468    520   
    /// <li>
  469    521   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  470    522   
    /// <li>
  471    523   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  472    524   
    /// </ul>
  473    525   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  474    526   
    /// <ul>
  475    527   
    /// <li>
  476    528   
    /// <p><code>Percentile</code></p></li>
  477    529   
    /// </ul>
  478    530   
    /// <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>
  479    531   
    /// <ul>
  480    532   
    /// <li>
  481    533   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  482    534   
    /// </ul>
  483    535   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  484    536   
    /// <ul>
  485    537   
    /// <li>
  486    538   
    /// <p><code>#P = :val</code></p></li>
  487    539   
    /// </ul><note>
  488    540   
    /// <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>
  489    541   
    /// </note>
  490    542   
    /// <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>
         543  +
    /* FluentBuilderGenerator.kt:500 */
  491    544   
    pub fn set_expression_attribute_names(
  492    545   
        mut self,
  493    546   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
  494    547   
    ) -> Self {
  495    548   
        self.inner = self.inner.set_expression_attribute_names(input);
  496    549   
        self
  497    550   
    }
  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>
         551  +
    /// /* 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>
  499    552   
    /// <ul>
  500    553   
    /// <li>
  501    554   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  502    555   
    /// <li>
  503    556   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  504    557   
    /// <li>
  505    558   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  506    559   
    /// </ul>
  507    560   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  508    561   
    /// <ul>
  509    562   
    /// <li>
  510    563   
    /// <p><code>Percentile</code></p></li>
  511    564   
    /// </ul>
  512    565   
    /// <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    566   
    /// <ul>
  514    567   
    /// <li>
  515    568   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  516    569   
    /// </ul>
  517    570   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  518    571   
    /// <ul>
  519    572   
    /// <li>
  520    573   
    /// <p><code>#P = :val</code></p></li>
  521    574   
    /// </ul><note>
  522    575   
    /// <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    576   
    /// </note>
  524    577   
    /// <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>
         578  +
    /* FluentBuilderGenerator.kt:520 */
  525    579   
    pub fn get_expression_attribute_names(
  526    580   
        &self,
  527    581   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
  528    582   
        self.inner.get_expression_attribute_names()
  529    583   
    }
  530         -
    ///
         584  +
    /// /* FluentBuilderGenerator.kt:466 */
  531    585   
    /// Adds a key-value pair to `ExpressionAttributeValues`.
  532    586   
    ///
  533    587   
    /// To override the contents of this collection use [`set_expression_attribute_values`](Self::set_expression_attribute_values).
  534    588   
    ///
  535         -
    /// <p>One or more values that can be substituted in an expression.</p>
         589  +
    /// /* FluentBuilderGenerator.kt:473 */<p>One or more values that can be substituted in an expression.</p>
  536    590   
    /// <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 <code>ProductStatus</code> attribute was one of the following:</p>
  537    591   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  538    592   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  539    593   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  540    594   
    /// <p>You could then use these values in an expression, such as this:</p>
  541    595   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  542    596   
    /// <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>
         597  +
    /* FluentBuilderGenerator.kt:475 */
  543    598   
    pub fn expression_attribute_values(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
  544    599   
        self.inner = self.inner.expression_attribute_values(k.into(), v);
  545    600   
        self
  546    601   
    }
  547         -
    /// <p>One or more values that can be substituted in an expression.</p>
         602  +
    /// /* FluentBuilderGenerator.kt:498 */<p>One or more values that can be substituted in an expression.</p>
  548    603   
    /// <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 <code>ProductStatus</code> attribute was one of the following:</p>
  549    604   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  550    605   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  551    606   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  552    607   
    /// <p>You could then use these values in an expression, such as this:</p>
  553    608   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  554    609   
    /// <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>
         610  +
    /* FluentBuilderGenerator.kt:500 */
  555    611   
    pub fn set_expression_attribute_values(
  556    612   
        mut self,
  557    613   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  558    614   
    ) -> Self {
  559    615   
        self.inner = self.inner.set_expression_attribute_values(input);
  560    616   
        self
  561    617   
    }
  562         -
    /// <p>One or more values that can be substituted in an expression.</p>
         618  +
    /// /* FluentBuilderGenerator.kt:518 */<p>One or more values that can be substituted in an expression.</p>
  563    619   
    /// <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 <code>ProductStatus</code> attribute was one of the following:</p>
  564    620   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  565    621   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  566    622   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  567    623   
    /// <p>You could then use these values in an expression, such as this:</p>
  568    624   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  569    625   
    /// <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>
         626  +
    /* FluentBuilderGenerator.kt:520 */
  570    627   
    pub fn get_expression_attribute_values(
  571    628   
        &self,
  572    629   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
  573    630   
        self.inner.get_expression_attribute_values()
  574    631   
    }
  575         -
    /// <p>A Boolean value that determines the read consistency model during the scan:</p>
         632  +
    /// /* FluentBuilderGenerator.kt:498 */<p>A Boolean value that determines the read consistency model during the scan:</p>
  576    633   
    /// <ul>
  577    634   
    /// <li>
  578    635   
    /// <p>If <code>ConsistentRead</code> is <code>false</code>, then the data returned from <code>Scan</code> might not contain the results from other recently completed write operations (<code>PutItem</code>, <code>UpdateItem</code>, or <code>DeleteItem</code>).</p></li>
  579    636   
    /// <li>
  580    637   
    /// <p>If <code>ConsistentRead</code> is <code>true</code>, then all of the write operations that completed before the <code>Scan</code> began are guaranteed to be contained in the <code>Scan</code> response.</p></li>
  581    638   
    /// </ul>
  582    639   
    /// <p>The default setting for <code>ConsistentRead</code> is <code>false</code>.</p>
  583    640   
    /// <p>The <code>ConsistentRead</code> parameter is not supported on global secondary indexes. If you scan a global secondary index with <code>ConsistentRead</code> set to true, you will receive a <code>ValidationException</code>.</p>
         641  +
    /* FluentBuilderGenerator.kt:500 */
  584    642   
    pub fn consistent_read(mut self, input: bool) -> Self {
  585    643   
        self.inner = self.inner.consistent_read(input);
  586    644   
        self
  587    645   
    }
  588         -
    /// <p>A Boolean value that determines the read consistency model during the scan:</p>
         646  +
    /// /* FluentBuilderGenerator.kt:498 */<p>A Boolean value that determines the read consistency model during the scan:</p>
  589    647   
    /// <ul>
  590    648   
    /// <li>
  591    649   
    /// <p>If <code>ConsistentRead</code> is <code>false</code>, then the data returned from <code>Scan</code> might not contain the results from other recently completed write operations (<code>PutItem</code>, <code>UpdateItem</code>, or <code>DeleteItem</code>).</p></li>
  592    650   
    /// <li>
  593    651   
    /// <p>If <code>ConsistentRead</code> is <code>true</code>, then all of the write operations that completed before the <code>Scan</code> began are guaranteed to be contained in the <code>Scan</code> response.</p></li>
  594    652   
    /// </ul>
  595    653   
    /// <p>The default setting for <code>ConsistentRead</code> is <code>false</code>.</p>
  596    654   
    /// <p>The <code>ConsistentRead</code> parameter is not supported on global secondary indexes. If you scan a global secondary index with <code>ConsistentRead</code> set to true, you will receive a <code>ValidationException</code>.</p>
         655  +
    /* FluentBuilderGenerator.kt:500 */
  597    656   
    pub fn set_consistent_read(mut self, input: ::std::option::Option<bool>) -> Self {
  598    657   
        self.inner = self.inner.set_consistent_read(input);
  599    658   
        self
  600    659   
    }
  601         -
    /// <p>A Boolean value that determines the read consistency model during the scan:</p>
         660  +
    /// /* FluentBuilderGenerator.kt:518 */<p>A Boolean value that determines the read consistency model during the scan:</p>
  602    661   
    /// <ul>
  603    662   
    /// <li>
  604    663   
    /// <p>If <code>ConsistentRead</code> is <code>false</code>, then the data returned from <code>Scan</code> might not contain the results from other recently completed write operations (<code>PutItem</code>, <code>UpdateItem</code>, or <code>DeleteItem</code>).</p></li>
  605    664   
    /// <li>
  606    665   
    /// <p>If <code>ConsistentRead</code> is <code>true</code>, then all of the write operations that completed before the <code>Scan</code> began are guaranteed to be contained in the <code>Scan</code> response.</p></li>
  607    666   
    /// </ul>
  608    667   
    /// <p>The default setting for <code>ConsistentRead</code> is <code>false</code>.</p>
  609    668   
    /// <p>The <code>ConsistentRead</code> parameter is not supported on global secondary indexes. If you scan a global secondary index with <code>ConsistentRead</code> set to true, you will receive a <code>ValidationException</code>.</p>
         669  +
    /* FluentBuilderGenerator.kt:520 */
  610    670   
    pub fn get_consistent_read(&self) -> &::std::option::Option<bool> {
  611    671   
        self.inner.get_consistent_read()
  612    672   
    }
         673  +
    /* FluentBuilderGenerator.kt:282 */
  613    674   
}

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

@@ -1,1 +31,32 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* PaginatorGenerator.kt:121 */
    2      3   
/// Paginator for [`Scan`](crate::operation::scan::Scan)
    3      4   
pub struct ScanPaginator {
    4      5   
    handle: std::sync::Arc<crate::client::Handle>,
    5      6   
    builder: crate::operation::scan::builders::ScanInputBuilder,
    6      7   
    stop_on_duplicate_token: bool,
    7      8   
}
    8      9   
    9     10   
impl ScanPaginator {
   10     11   
    /// Create a new paginator-wrapper
   11     12   
    pub(crate) fn new(handle: std::sync::Arc<crate::client::Handle>, builder: crate::operation::scan::builders::ScanInputBuilder) -> Self {
@@ -83,84 +139,141 @@
  103    104   
                        if done {
  104    105   
                            return;
  105    106   
                        }
  106    107   
                    }
  107    108   
                })
  108    109   
            },
  109    110   
        ))
  110    111   
    }
  111    112   
}
  112    113   
         114  +
/* PaginatorGenerator.kt:301 */
  113    115   
/// Flattened paginator for `ScanPaginator`
  114    116   
///
  115    117   
/// This is created with [`.items()`](ScanPaginator::items)
  116    118   
pub struct ScanPaginatorItems(ScanPaginator);
  117    119   
  118    120   
impl ScanPaginatorItems {
  119    121   
    /// Create the pagination stream
  120    122   
    ///
  121    123   
    /// _Note_: No requests will be dispatched until the stream is used
  122    124   
    /// (e.g. with the [`.next().await`](aws_smithy_async::future::pagination_stream::PaginationStream::next) method).

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