Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943 (ignoring whitespace)

Files changed:

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

@@ -1,1 +402,530 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents the input of a <code>GetItem</code> operation.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents the input of a <code>GetItem</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 GetItemInput {
    7         -
    /// <p>The name of the table containing the requested item.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct GetItemInput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The name of the table containing the requested item.</p>
    8     10   
    pub table_name: ::std::option::Option<::std::string::String>,
    9         -
    /// <p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to retrieve.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to retrieve.</p>
   10     12   
    /// <p>For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.</p>
   11     13   
    pub key: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
   12         -
    /// <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>
          14  +
    /// /* 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>
   13     15   
    pub attributes_to_get: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
   14         -
    /// <p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
          16  +
    /// /* StructureGenerator.kt:231 */<p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
   15     17   
    pub consistent_read: ::std::option::Option<bool>,
   16         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
          18  +
    /// /* StructureGenerator.kt:231 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
   17     19   
    /// <ul>
   18     20   
    /// <li>
   19     21   
    /// <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>
   20     22   
    /// <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>
   21     23   
    /// <li>
   22     24   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
   23     25   
    /// <li>
   24     26   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
   25     27   
    /// </ul>
   26     28   
    pub return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
   27         -
    /// <p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
          29  +
    /// /* StructureGenerator.kt:231 */<p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
   28     30   
    /// <p>If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.</p>
   29     31   
    /// <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>
   30     32   
    pub projection_expression: ::std::option::Option<::std::string::String>,
   31         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
          33  +
    /// /* 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>
   32     34   
    /// <ul>
   33     35   
    /// <li>
   34     36   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
   35     37   
    /// <li>
   36     38   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
   37     39   
    /// <li>
   38     40   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
   39     41   
    /// </ul>
   40     42   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
   41     43   
    /// <ul>
   42     44   
    /// <li>
   43     45   
    /// <p><code>Percentile</code></p></li>
   44     46   
    /// </ul>
   45     47   
    /// <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>
   46     48   
    /// <ul>
   47     49   
    /// <li>
   48     50   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
   49     51   
    /// </ul>
   50     52   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
   51     53   
    /// <ul>
   52     54   
    /// <li>
   53     55   
    /// <p><code>#P = :val</code></p></li>
   54     56   
    /// </ul><note>
   55     57   
    /// <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>
   56     58   
    /// </note>
   57     59   
    /// <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>
   58     60   
    pub expression_attribute_names: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
          61  +
    /* StructureGenerator.kt:201 */
   59     62   
}
          63  +
/* StructureGenerator.kt:135 */
   60     64   
impl GetItemInput {
   61         -
    /// <p>The name of the table containing the requested item.</p>
          65  +
    /// /* StructureGenerator.kt:231 */<p>The name of the table containing the requested item.</p>
          66  +
    /* StructureGenerator.kt:166 */
   62     67   
    pub fn table_name(&self) -> ::std::option::Option<&str> {
          68  +
        /* StructureGenerator.kt:169 */
   63     69   
        self.table_name.as_deref()
          70  +
        /* StructureGenerator.kt:166 */
   64     71   
    }
   65         -
    /// <p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to retrieve.</p>
          72  +
    /// /* StructureGenerator.kt:231 */<p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to retrieve.</p>
   66     73   
    /// <p>For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.</p>
          74  +
    /* StructureGenerator.kt:166 */
   67     75   
    pub fn key(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
          76  +
        /* StructureGenerator.kt:170 */
   68     77   
        self.key.as_ref()
          78  +
        /* StructureGenerator.kt:166 */
   69     79   
    }
   70         -
    /// <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>
   71         -
    ///
   72         -
    /// 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()`.
          80  +
    /// /* 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>
          81  +
    /// /* StructureGenerator.kt:162 */
          82  +
    /// /* 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()`.
          83  +
    /* StructureGenerator.kt:166 */
   73     84   
    pub fn attributes_to_get(&self) -> &[::std::string::String] {
   74         -
        self.attributes_to_get.as_deref().unwrap_or_default()
          85  +
        /* StructureGenerator.kt:169 */
          86  +
        self.attributes_to_get
          87  +
            .as_deref()
          88  +
            /* StructureGenerator.kt:175 */
          89  +
            .unwrap_or_default()
          90  +
        /* StructureGenerator.kt:166 */
   75     91   
    }
   76         -
    /// <p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
          92  +
    /// /* StructureGenerator.kt:231 */<p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
          93  +
    /* StructureGenerator.kt:166 */
   77     94   
    pub fn consistent_read(&self) -> ::std::option::Option<bool> {
          95  +
        /* StructureGenerator.kt:168 */
   78     96   
        self.consistent_read
          97  +
        /* StructureGenerator.kt:166 */
   79     98   
    }
   80         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
          99  +
    /// /* StructureGenerator.kt:231 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
   81    100   
    /// <ul>
   82    101   
    /// <li>
   83    102   
    /// <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>
   84    103   
    /// <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>
   85    104   
    /// <li>
   86    105   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
   87    106   
    /// <li>
   88    107   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
   89    108   
    /// </ul>
         109  +
    /* StructureGenerator.kt:166 */
   90    110   
    pub fn return_consumed_capacity(&self) -> ::std::option::Option<&crate::types::ReturnConsumedCapacity> {
         111  +
        /* StructureGenerator.kt:170 */
   91    112   
        self.return_consumed_capacity.as_ref()
         113  +
        /* StructureGenerator.kt:166 */
   92    114   
    }
   93         -
    /// <p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         115  +
    /// /* StructureGenerator.kt:231 */<p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
   94    116   
    /// <p>If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.</p>
   95    117   
    /// <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>
         118  +
    /* StructureGenerator.kt:166 */
   96    119   
    pub fn projection_expression(&self) -> ::std::option::Option<&str> {
         120  +
        /* StructureGenerator.kt:169 */
   97    121   
        self.projection_expression.as_deref()
         122  +
        /* StructureGenerator.kt:166 */
   98    123   
    }
   99         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         124  +
    /// /* 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>
  100    125   
    /// <ul>
  101    126   
    /// <li>
  102    127   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  103    128   
    /// <li>
  104    129   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  105    130   
    /// <li>
  106    131   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  107    132   
    /// </ul>
  108    133   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  109    134   
    /// <ul>
  110    135   
    /// <li>
  111    136   
    /// <p><code>Percentile</code></p></li>
  112    137   
    /// </ul>
  113    138   
    /// <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>
  114    139   
    /// <ul>
  115    140   
    /// <li>
  116    141   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  117    142   
    /// </ul>
  118    143   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  119    144   
    /// <ul>
  120    145   
    /// <li>
  121    146   
    /// <p><code>#P = :val</code></p></li>
  122    147   
    /// </ul><note>
  123    148   
    /// <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>
  124    149   
    /// </note>
  125    150   
    /// <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>
         151  +
    /* StructureGenerator.kt:166 */
  126    152   
    pub fn expression_attribute_names(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
         153  +
        /* StructureGenerator.kt:170 */
  127    154   
        self.expression_attribute_names.as_ref()
         155  +
        /* StructureGenerator.kt:166 */
  128    156   
    }
         157  +
    /* StructureGenerator.kt:135 */
  129    158   
}
         159  +
/* ClientCodegenVisitor.kt:237 */
  130    160   
impl GetItemInput {
  131         -
    /// Creates a new builder-style object to manufacture [`GetItemInput`](crate::operation::get_item::GetItemInput).
         161  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`GetItemInput`](crate::operation::get_item::GetItemInput).
         162  +
    /* BuilderGenerator.kt:175 */
  132    163   
    pub fn builder() -> crate::operation::get_item::builders::GetItemInputBuilder {
         164  +
        /* BuilderGenerator.kt:176 */
  133    165   
        crate::operation::get_item::builders::GetItemInputBuilder::default()
         166  +
        /* BuilderGenerator.kt:175 */
  134    167   
    }
         168  +
    /* ClientCodegenVisitor.kt:237 */
  135    169   
}
  136    170   
  137         -
/// A builder for [`GetItemInput`](crate::operation::get_item::GetItemInput).
         171  +
/// /* BuilderGenerator.kt:342 */A builder for [`GetItemInput`](crate::operation::get_item::GetItemInput).
         172  +
/* RustType.kt:516 */
  138    173   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         174  +
/* RustType.kt:516 */
  139    175   
#[non_exhaustive]
         176  +
/* BuilderGenerator.kt:345 */
  140    177   
pub struct GetItemInputBuilder {
  141         -
    pub(crate) table_name: ::std::option::Option<::std::string::String>,
         178  +
    /* BuilderGenerator.kt:275 */ pub(crate) table_name: ::std::option::Option<::std::string::String>,
         179  +
    /* BuilderGenerator.kt:275 */
  142    180   
    pub(crate) key: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  143         -
    pub(crate) attributes_to_get: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
  144         -
    pub(crate) consistent_read: ::std::option::Option<bool>,
  145         -
    pub(crate) return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
  146         -
    pub(crate) projection_expression: ::std::option::Option<::std::string::String>,
         181  +
    /* BuilderGenerator.kt:275 */ pub(crate) attributes_to_get: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         182  +
    /* BuilderGenerator.kt:275 */ pub(crate) consistent_read: ::std::option::Option<bool>,
         183  +
    /* BuilderGenerator.kt:275 */ pub(crate) return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
         184  +
    /* BuilderGenerator.kt:275 */ pub(crate) projection_expression: ::std::option::Option<::std::string::String>,
         185  +
    /* BuilderGenerator.kt:275 */
  147    186   
    pub(crate) expression_attribute_names: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
         187  +
    /* BuilderGenerator.kt:345 */
  148    188   
}
         189  +
/* BuilderGenerator.kt:355 */
  149    190   
impl GetItemInputBuilder {
  150         -
    /// <p>The name of the table containing the requested item.</p>
  151         -
    /// This field is required.
         191  +
    /// /* BuilderGenerator.kt:286 */<p>The name of the table containing the requested item.</p>
         192  +
    /// /* BuilderGenerator.kt:288 */This field is required.
         193  +
    /* BuilderGenerator.kt:291 */
  152    194   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         195  +
        /* BuilderGenerator.kt:292 */
  153    196   
        self.table_name = ::std::option::Option::Some(input.into());
         197  +
        /* BuilderGenerator.kt:293 */
  154    198   
        self
         199  +
        /* BuilderGenerator.kt:291 */
  155    200   
    }
  156         -
    /// <p>The name of the table containing the requested item.</p>
         201  +
    /// /* BuilderGenerator.kt:312 */<p>The name of the table containing the requested item.</p>
         202  +
    /* BuilderGenerator.kt:314 */
  157    203   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         204  +
        /* BuilderGenerator.kt:315 */
  158    205   
        self.table_name = input;
  159    206   
        self
         207  +
        /* BuilderGenerator.kt:314 */
  160    208   
    }
  161         -
    /// <p>The name of the table containing the requested item.</p>
         209  +
    /// /* BuilderGenerator.kt:334 */<p>The name of the table containing the requested item.</p>
         210  +
    /* BuilderGenerator.kt:336 */
  162    211   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
         212  +
        /* BuilderGenerator.kt:337 */
  163    213   
        &self.table_name
         214  +
        /* BuilderGenerator.kt:336 */
  164    215   
    }
  165         -
    /// Adds a key-value pair to `key`.
         216  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `key`.
         217  +
    /* BuilderGenerator.kt:437 */
  166    218   
    ///
  167         -
    /// To override the contents of this collection use [`set_key`](Self::set_key).
         219  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_key`](Self::set_key).
         220  +
    /* BuilderGenerator.kt:439 */
  168    221   
    ///
  169         -
    /// <p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to retrieve.</p>
         222  +
    /// /* BuilderGenerator.kt:440 */<p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to retrieve.</p>
  170    223   
    /// <p>For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.</p>
         224  +
    /* BuilderGenerator.kt:445 */
  171    225   
    pub fn key(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
         226  +
        /* BuilderGenerator.kt:448 */
  172    227   
        let mut hash_map = self.key.unwrap_or_default();
  173    228   
        hash_map.insert(k.into(), v);
  174    229   
        self.key = ::std::option::Option::Some(hash_map);
  175    230   
        self
         231  +
        /* BuilderGenerator.kt:445 */
  176    232   
    }
  177         -
    /// <p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to retrieve.</p>
         233  +
    /// /* BuilderGenerator.kt:312 */<p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to retrieve.</p>
  178    234   
    /// <p>For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.</p>
         235  +
    /* BuilderGenerator.kt:314 */
  179    236   
    pub fn set_key(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>) -> Self {
         237  +
        /* BuilderGenerator.kt:315 */
  180    238   
        self.key = input;
  181    239   
        self
         240  +
        /* BuilderGenerator.kt:314 */
  182    241   
    }
  183         -
    /// <p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to retrieve.</p>
         242  +
    /// /* BuilderGenerator.kt:334 */<p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to retrieve.</p>
  184    243   
    /// <p>For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.</p>
         244  +
    /* BuilderGenerator.kt:336 */
  185    245   
    pub fn get_key(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         246  +
        /* BuilderGenerator.kt:337 */
  186    247   
        &self.key
         248  +
        /* BuilderGenerator.kt:336 */
  187    249   
    }
  188         -
    /// Appends an item to `attributes_to_get`.
         250  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `attributes_to_get`.
         251  +
    /* BuilderGenerator.kt:411 */
  189    252   
    ///
  190         -
    /// To override the contents of this collection use [`set_attributes_to_get`](Self::set_attributes_to_get).
         253  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_attributes_to_get`](Self::set_attributes_to_get).
         254  +
    /* BuilderGenerator.kt:413 */
  191    255   
    ///
  192         -
    /// <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>
         256  +
    /// /* 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>
         257  +
    /* BuilderGenerator.kt:418 */
  193    258   
    pub fn attributes_to_get(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         259  +
        /* BuilderGenerator.kt:419 */
  194    260   
        let mut v = self.attributes_to_get.unwrap_or_default();
  195    261   
        v.push(input.into());
  196    262   
        self.attributes_to_get = ::std::option::Option::Some(v);
  197    263   
        self
         264  +
        /* BuilderGenerator.kt:418 */
  198    265   
    }
  199         -
    /// <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>
         266  +
    /// /* 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>
         267  +
    /* BuilderGenerator.kt:314 */
  200    268   
    pub fn set_attributes_to_get(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
         269  +
        /* BuilderGenerator.kt:315 */
  201    270   
        self.attributes_to_get = input;
  202    271   
        self
         272  +
        /* BuilderGenerator.kt:314 */
  203    273   
    }
  204         -
    /// <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>
         274  +
    /// /* 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>
         275  +
    /* BuilderGenerator.kt:336 */
  205    276   
    pub fn get_attributes_to_get(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
         277  +
        /* BuilderGenerator.kt:337 */
  206    278   
        &self.attributes_to_get
         279  +
        /* BuilderGenerator.kt:336 */
  207    280   
    }
  208         -
    /// <p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
         281  +
    /// /* BuilderGenerator.kt:286 */<p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
         282  +
    /* BuilderGenerator.kt:291 */
  209    283   
    pub fn consistent_read(mut self, input: bool) -> Self {
         284  +
        /* BuilderGenerator.kt:292 */
  210    285   
        self.consistent_read = ::std::option::Option::Some(input);
         286  +
        /* BuilderGenerator.kt:293 */
  211    287   
        self
         288  +
        /* BuilderGenerator.kt:291 */
  212    289   
    }
  213         -
    /// <p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
         290  +
    /// /* BuilderGenerator.kt:312 */<p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
         291  +
    /* BuilderGenerator.kt:314 */
  214    292   
    pub fn set_consistent_read(mut self, input: ::std::option::Option<bool>) -> Self {
         293  +
        /* BuilderGenerator.kt:315 */
  215    294   
        self.consistent_read = input;
  216    295   
        self
         296  +
        /* BuilderGenerator.kt:314 */
  217    297   
    }
  218         -
    /// <p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
         298  +
    /// /* BuilderGenerator.kt:334 */<p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
         299  +
    /* BuilderGenerator.kt:336 */
  219    300   
    pub fn get_consistent_read(&self) -> &::std::option::Option<bool> {
         301  +
        /* BuilderGenerator.kt:337 */
  220    302   
        &self.consistent_read
         303  +
        /* BuilderGenerator.kt:336 */
  221    304   
    }
  222         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         305  +
    /// /* BuilderGenerator.kt:286 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  223    306   
    /// <ul>
  224    307   
    /// <li>
  225    308   
    /// <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>
  226    309   
    /// <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>
  227    310   
    /// <li>
  228    311   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  229    312   
    /// <li>
  230    313   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  231    314   
    /// </ul>
         315  +
    /* BuilderGenerator.kt:291 */
  232    316   
    pub fn return_consumed_capacity(mut self, input: crate::types::ReturnConsumedCapacity) -> Self {
         317  +
        /* BuilderGenerator.kt:292 */
  233    318   
        self.return_consumed_capacity = ::std::option::Option::Some(input);
         319  +
        /* BuilderGenerator.kt:293 */
  234    320   
        self
         321  +
        /* BuilderGenerator.kt:291 */
  235    322   
    }
  236         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         323  +
    /// /* BuilderGenerator.kt:312 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  237    324   
    /// <ul>
  238    325   
    /// <li>
  239    326   
    /// <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>
  240    327   
    /// <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>
  241    328   
    /// <li>
  242    329   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  243    330   
    /// <li>
  244    331   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  245    332   
    /// </ul>
         333  +
    /* BuilderGenerator.kt:314 */
  246    334   
    pub fn set_return_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ReturnConsumedCapacity>) -> Self {
         335  +
        /* BuilderGenerator.kt:315 */
  247    336   
        self.return_consumed_capacity = input;
  248    337   
        self
         338  +
        /* BuilderGenerator.kt:314 */
  249    339   
    }
  250         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         340  +
    /// /* BuilderGenerator.kt:334 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  251    341   
    /// <ul>
  252    342   
    /// <li>
  253    343   
    /// <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>
  254    344   
    /// <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>
  255    345   
    /// <li>
  256    346   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  257    347   
    /// <li>
  258    348   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  259    349   
    /// </ul>
         350  +
    /* BuilderGenerator.kt:336 */
  260    351   
    pub fn get_return_consumed_capacity(&self) -> &::std::option::Option<crate::types::ReturnConsumedCapacity> {
         352  +
        /* BuilderGenerator.kt:337 */
  261    353   
        &self.return_consumed_capacity
         354  +
        /* BuilderGenerator.kt:336 */
  262    355   
    }
  263         -
    /// <p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         356  +
    /// /* BuilderGenerator.kt:286 */<p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  264    357   
    /// <p>If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.</p>
  265    358   
    /// <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>
         359  +
    /* BuilderGenerator.kt:291 */
  266    360   
    pub fn projection_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         361  +
        /* BuilderGenerator.kt:292 */
  267    362   
        self.projection_expression = ::std::option::Option::Some(input.into());
         363  +
        /* BuilderGenerator.kt:293 */
  268    364   
        self
         365  +
        /* BuilderGenerator.kt:291 */
  269    366   
    }
  270         -
    /// <p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         367  +
    /// /* BuilderGenerator.kt:312 */<p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  271    368   
    /// <p>If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.</p>
  272    369   
    /// <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>
         370  +
    /* BuilderGenerator.kt:314 */
  273    371   
    pub fn set_projection_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         372  +
        /* BuilderGenerator.kt:315 */
  274    373   
        self.projection_expression = input;
  275    374   
        self
         375  +
        /* BuilderGenerator.kt:314 */
  276    376   
    }
  277         -
    /// <p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         377  +
    /// /* BuilderGenerator.kt:334 */<p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  278    378   
    /// <p>If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.</p>
  279    379   
    /// <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>
         380  +
    /* BuilderGenerator.kt:336 */
  280    381   
    pub fn get_projection_expression(&self) -> &::std::option::Option<::std::string::String> {
         382  +
        /* BuilderGenerator.kt:337 */
  281    383   
        &self.projection_expression
         384  +
        /* BuilderGenerator.kt:336 */
  282    385   
    }
  283         -
    /// Adds a key-value pair to `expression_attribute_names`.
         386  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `expression_attribute_names`.
         387  +
    /* BuilderGenerator.kt:437 */
  284    388   
    ///
  285         -
    /// To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
         389  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
         390  +
    /* BuilderGenerator.kt:439 */
  286    391   
    ///
  287         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         392  +
    /// /* 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>
  288    393   
    /// <ul>
  289    394   
    /// <li>
  290    395   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  291    396   
    /// <li>
  292    397   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  293    398   
    /// <li>
  294    399   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  295    400   
    /// </ul>
  296    401   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  297    402   
    /// <ul>
  298    403   
    /// <li>
  299    404   
    /// <p><code>Percentile</code></p></li>
  300    405   
    /// </ul>
  301    406   
    /// <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>
  302    407   
    /// <ul>
  303    408   
    /// <li>
  304    409   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  305    410   
    /// </ul>
  306    411   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  307    412   
    /// <ul>
  308    413   
    /// <li>
  309    414   
    /// <p><code>#P = :val</code></p></li>
  310    415   
    /// </ul><note>
  311    416   
    /// <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>
  312    417   
    /// </note>
  313    418   
    /// <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>
         419  +
    /* BuilderGenerator.kt:445 */
  314    420   
    pub fn expression_attribute_names(
  315    421   
        mut self,
  316    422   
        k: impl ::std::convert::Into<::std::string::String>,
  317    423   
        v: impl ::std::convert::Into<::std::string::String>,
  318    424   
    ) -> Self {
         425  +
        /* BuilderGenerator.kt:448 */
  319    426   
        let mut hash_map = self.expression_attribute_names.unwrap_or_default();
  320    427   
        hash_map.insert(k.into(), v.into());
  321    428   
        self.expression_attribute_names = ::std::option::Option::Some(hash_map);
  322    429   
        self
         430  +
        /* BuilderGenerator.kt:445 */
  323    431   
    }
  324         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         432  +
    /// /* 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>
  325    433   
    /// <ul>
  326    434   
    /// <li>
  327    435   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  328    436   
    /// <li>
  329    437   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  330    438   
    /// <li>
  331    439   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  332    440   
    /// </ul>
  333    441   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  334    442   
    /// <ul>
  335    443   
    /// <li>
  336    444   
    /// <p><code>Percentile</code></p></li>
  337    445   
    /// </ul>
  338    446   
    /// <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>
  339    447   
    /// <ul>
  340    448   
    /// <li>
  341    449   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  342    450   
    /// </ul>
  343    451   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  344    452   
    /// <ul>
  345    453   
    /// <li>
  346    454   
    /// <p><code>#P = :val</code></p></li>
  347    455   
    /// </ul><note>
  348    456   
    /// <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>
  349    457   
    /// </note>
  350    458   
    /// <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>
         459  +
    /* BuilderGenerator.kt:314 */
  351    460   
    pub fn set_expression_attribute_names(
  352    461   
        mut self,
  353    462   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
  354    463   
    ) -> Self {
         464  +
        /* BuilderGenerator.kt:315 */
  355    465   
        self.expression_attribute_names = input;
  356    466   
        self
         467  +
        /* BuilderGenerator.kt:314 */
  357    468   
    }
  358         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         469  +
    /// /* 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>
  359    470   
    /// <ul>
  360    471   
    /// <li>
  361    472   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  362    473   
    /// <li>
  363    474   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  364    475   
    /// <li>
  365    476   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  366    477   
    /// </ul>
  367    478   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  368    479   
    /// <ul>
  369    480   
    /// <li>
  370    481   
    /// <p><code>Percentile</code></p></li>
  371    482   
    /// </ul>
  372    483   
    /// <p>The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html">Reserved Words</a> in the <i>Amazon DynamoDB Developer Guide</i>). To work around this, you could specify the following for <code>ExpressionAttributeNames</code>:</p>
  373    484   
    /// <ul>
  374    485   
    /// <li>
  375    486   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  376    487   
    /// </ul>
  377    488   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  378    489   
    /// <ul>
  379    490   
    /// <li>
  380    491   
    /// <p><code>#P = :val</code></p></li>
  381    492   
    /// </ul><note>
  382    493   
    /// <p>Tokens that begin with the <b>:</b> character are <i>expression attribute values</i>, which are placeholders for the actual value at runtime.</p>
  383    494   
    /// </note>
  384    495   
    /// <p>For more information on expression attribute names, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html">Specifying Item Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         496  +
    /* BuilderGenerator.kt:336 */
  385    497   
    pub fn get_expression_attribute_names(
  386    498   
        &self,
  387    499   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
         500  +
        /* BuilderGenerator.kt:337 */
  388    501   
        &self.expression_attribute_names
         502  +
        /* BuilderGenerator.kt:336 */
  389    503   
    }
  390         -
    /// Consumes the builder and constructs a [`GetItemInput`](crate::operation::get_item::GetItemInput).
         504  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`GetItemInput`](crate::operation::get_item::GetItemInput).
         505  +
    /* BuilderGenerator.kt:253 */
  391    506   
    pub fn build(self) -> ::std::result::Result<crate::operation::get_item::GetItemInput, ::aws_smithy_types::error::operation::BuildError> {
  392         -
        ::std::result::Result::Ok(crate::operation::get_item::GetItemInput {
  393         -
            table_name: self.table_name,
         507  +
        /* BuilderGenerator.kt:254 */
         508  +
        ::std::result::Result::Ok(
         509  +
            /* BuilderGenerator.kt:477 */
         510  +
            crate::operation::get_item::GetItemInput {
         511  +
                /* BuilderGenerator.kt:481 */ table_name: self.table_name,
         512  +
                /* BuilderGenerator.kt:481 */
  394    513   
                key: self.key,
         514  +
                /* BuilderGenerator.kt:481 */
  395    515   
                attributes_to_get: self.attributes_to_get,
         516  +
                /* BuilderGenerator.kt:481 */
  396    517   
                consistent_read: self.consistent_read,
         518  +
                /* BuilderGenerator.kt:481 */
  397    519   
                return_consumed_capacity: self.return_consumed_capacity,
         520  +
                /* BuilderGenerator.kt:481 */
  398    521   
                projection_expression: self.projection_expression,
         522  +
                /* BuilderGenerator.kt:481 */
  399    523   
                expression_attribute_names: self.expression_attribute_names,
  400         -
        })
         524  +
                /* BuilderGenerator.kt:477 */
         525  +
            }, /* BuilderGenerator.kt:254 */
         526  +
        )
         527  +
        /* BuilderGenerator.kt:253 */
  401    528   
    }
         529  +
    /* BuilderGenerator.kt:355 */
  402    530   
}

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

@@ -1,1 +81,131 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents the output of a <code>GetItem</code> operation.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents the output of a <code>GetItem</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 GetItemOutput {
    7         -
    /// <p>A map of attribute names to <code>AttributeValue</code> objects, as specified by <code>ProjectionExpression</code>.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct GetItemOutput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>A map of attribute names to <code>AttributeValue</code> objects, as specified by <code>ProjectionExpression</code>.</p>
    8     10   
    pub item: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
    9         -
    /// <p>The capacity units consumed by the <code>GetItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>The capacity units consumed by the <code>GetItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   10     12   
    pub consumed_capacity: ::std::option::Option<crate::types::ConsumedCapacity>,
          13  +
    /* StructureGenerator.kt:201 */
   11     14   
}
          15  +
/* StructureGenerator.kt:135 */
   12     16   
impl GetItemOutput {
   13         -
    /// <p>A map of attribute names to <code>AttributeValue</code> objects, as specified by <code>ProjectionExpression</code>.</p>
          17  +
    /// /* StructureGenerator.kt:231 */<p>A map of attribute names to <code>AttributeValue</code> objects, as specified by <code>ProjectionExpression</code>.</p>
          18  +
    /* StructureGenerator.kt:166 */
   14     19   
    pub fn item(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
          20  +
        /* StructureGenerator.kt:170 */
   15     21   
        self.item.as_ref()
          22  +
        /* StructureGenerator.kt:166 */
   16     23   
    }
   17         -
    /// <p>The capacity units consumed by the <code>GetItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          24  +
    /// /* StructureGenerator.kt:231 */<p>The capacity units consumed by the <code>GetItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          25  +
    /* StructureGenerator.kt:166 */
   18     26   
    pub fn consumed_capacity(&self) -> ::std::option::Option<&crate::types::ConsumedCapacity> {
          27  +
        /* StructureGenerator.kt:170 */
   19     28   
        self.consumed_capacity.as_ref()
          29  +
        /* StructureGenerator.kt:166 */
   20     30   
    }
          31  +
    /* StructureGenerator.kt:135 */
   21     32   
}
          33  +
/* ClientCodegenVisitor.kt:237 */
   22     34   
impl GetItemOutput {
   23         -
    /// Creates a new builder-style object to manufacture [`GetItemOutput`](crate::operation::get_item::GetItemOutput).
          35  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`GetItemOutput`](crate::operation::get_item::GetItemOutput).
          36  +
    /* BuilderGenerator.kt:175 */
   24     37   
    pub fn builder() -> crate::operation::get_item::builders::GetItemOutputBuilder {
          38  +
        /* BuilderGenerator.kt:176 */
   25     39   
        crate::operation::get_item::builders::GetItemOutputBuilder::default()
          40  +
        /* BuilderGenerator.kt:175 */
   26     41   
    }
          42  +
    /* ClientCodegenVisitor.kt:237 */
   27     43   
}
   28     44   
   29         -
/// A builder for [`GetItemOutput`](crate::operation::get_item::GetItemOutput).
          45  +
/// /* BuilderGenerator.kt:342 */A builder for [`GetItemOutput`](crate::operation::get_item::GetItemOutput).
          46  +
/* RustType.kt:516 */
   30     47   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          48  +
/* RustType.kt:516 */
   31     49   
#[non_exhaustive]
          50  +
/* BuilderGenerator.kt:345 */
   32     51   
pub struct GetItemOutputBuilder {
          52  +
    /* BuilderGenerator.kt:275 */
   33     53   
    pub(crate) item: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
          54  +
    /* BuilderGenerator.kt:275 */
   34     55   
    pub(crate) consumed_capacity: ::std::option::Option<crate::types::ConsumedCapacity>,
          56  +
    /* BuilderGenerator.kt:345 */
   35     57   
}
          58  +
/* BuilderGenerator.kt:355 */
   36     59   
impl GetItemOutputBuilder {
   37         -
    /// Adds a key-value pair to `item`.
          60  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `item`.
          61  +
    /* BuilderGenerator.kt:437 */
   38     62   
    ///
   39         -
    /// To override the contents of this collection use [`set_item`](Self::set_item).
          63  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_item`](Self::set_item).
          64  +
    /* BuilderGenerator.kt:439 */
   40     65   
    ///
   41         -
    /// <p>A map of attribute names to <code>AttributeValue</code> objects, as specified by <code>ProjectionExpression</code>.</p>
          66  +
    /// /* BuilderGenerator.kt:440 */<p>A map of attribute names to <code>AttributeValue</code> objects, as specified by <code>ProjectionExpression</code>.</p>
          67  +
    /* BuilderGenerator.kt:445 */
   42     68   
    pub fn item(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
          69  +
        /* BuilderGenerator.kt:448 */
   43     70   
        let mut hash_map = self.item.unwrap_or_default();
   44     71   
        hash_map.insert(k.into(), v);
   45     72   
        self.item = ::std::option::Option::Some(hash_map);
   46     73   
        self
          74  +
        /* BuilderGenerator.kt:445 */
   47     75   
    }
   48         -
    /// <p>A map of attribute names to <code>AttributeValue</code> objects, as specified by <code>ProjectionExpression</code>.</p>
          76  +
    /// /* BuilderGenerator.kt:312 */<p>A map of attribute names to <code>AttributeValue</code> objects, as specified by <code>ProjectionExpression</code>.</p>
          77  +
    /* BuilderGenerator.kt:314 */
   49     78   
    pub fn set_item(
   50     79   
        mut self,
   51     80   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
   52     81   
    ) -> Self {
          82  +
        /* BuilderGenerator.kt:315 */
   53     83   
        self.item = input;
   54     84   
        self
          85  +
        /* BuilderGenerator.kt:314 */
   55     86   
    }
   56         -
    /// <p>A map of attribute names to <code>AttributeValue</code> objects, as specified by <code>ProjectionExpression</code>.</p>
          87  +
    /// /* BuilderGenerator.kt:334 */<p>A map of attribute names to <code>AttributeValue</code> objects, as specified by <code>ProjectionExpression</code>.</p>
          88  +
    /* BuilderGenerator.kt:336 */
   57     89   
    pub fn get_item(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
          90  +
        /* BuilderGenerator.kt:337 */
   58     91   
        &self.item
          92  +
        /* BuilderGenerator.kt:336 */
   59     93   
    }
   60         -
    /// <p>The capacity units consumed by the <code>GetItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          94  +
    /// /* BuilderGenerator.kt:286 */<p>The capacity units consumed by the <code>GetItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          95  +
    /* BuilderGenerator.kt:291 */
   61     96   
    pub fn consumed_capacity(mut self, input: crate::types::ConsumedCapacity) -> Self {
          97  +
        /* BuilderGenerator.kt:292 */
   62     98   
        self.consumed_capacity = ::std::option::Option::Some(input);
          99  +
        /* BuilderGenerator.kt:293 */
   63    100   
        self
         101  +
        /* BuilderGenerator.kt:291 */
   64    102   
    }
   65         -
    /// <p>The capacity units consumed by the <code>GetItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         103  +
    /// /* BuilderGenerator.kt:312 */<p>The capacity units consumed by the <code>GetItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         104  +
    /* BuilderGenerator.kt:314 */
   66    105   
    pub fn set_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ConsumedCapacity>) -> Self {
         106  +
        /* BuilderGenerator.kt:315 */
   67    107   
        self.consumed_capacity = input;
   68    108   
        self
         109  +
        /* BuilderGenerator.kt:314 */
   69    110   
    }
   70         -
    /// <p>The capacity units consumed by the <code>GetItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         111  +
    /// /* BuilderGenerator.kt:334 */<p>The capacity units consumed by the <code>GetItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         112  +
    /* BuilderGenerator.kt:336 */
   71    113   
    pub fn get_consumed_capacity(&self) -> &::std::option::Option<crate::types::ConsumedCapacity> {
         114  +
        /* BuilderGenerator.kt:337 */
   72    115   
        &self.consumed_capacity
         116  +
        /* BuilderGenerator.kt:336 */
   73    117   
    }
   74         -
    /// Consumes the builder and constructs a [`GetItemOutput`](crate::operation::get_item::GetItemOutput).
         118  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`GetItemOutput`](crate::operation::get_item::GetItemOutput).
         119  +
    /* BuilderGenerator.kt:253 */
   75    120   
    pub fn build(self) -> crate::operation::get_item::GetItemOutput {
         121  +
        /* BuilderGenerator.kt:477 */
   76    122   
        crate::operation::get_item::GetItemOutput {
   77         -
            item: self.item,
         123  +
            /* BuilderGenerator.kt:481 */ item: self.item,
         124  +
            /* BuilderGenerator.kt:481 */
   78    125   
            consumed_capacity: self.consumed_capacity,
         126  +
            /* BuilderGenerator.kt:477 */
   79    127   
        }
         128  +
        /* BuilderGenerator.kt:253 */
   80    129   
    }
         130  +
    /* BuilderGenerator.kt:355 */
   81    131   
}

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

@@ -1,1 +339,372 @@
    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::get_item::_get_item_output::GetItemOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::get_item::_get_item_input::GetItemInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::get_item::builders::GetItemInputBuilder {
    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::get_item::GetItemOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::get_item::GetItemError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.get_item();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `GetItem`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `GetItem`.
   24     27   
///
   25         -
/// <p>The <code>GetItem</code> operation returns a set of attributes for the item with the given primary key. If there is no matching item, <code>GetItem</code> does not return any data and there will be no <code>Item</code> element in the response.</p>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p>The <code>GetItem</code> operation returns a set of attributes for the item with the given primary key. If there is no matching item, <code>GetItem</code> does not return any data and there will be no <code>Item</code> element in the response.</p>
   26     29   
/// <p><code>GetItem</code> provides an eventually consistent read by default. If your application requires a strongly consistent read, set <code>ConsistentRead</code> to <code>true</code>. Although a strongly consistent read might take more time than an eventually consistent read, it always returns the last updated value.</p>
          30  +
/* RustType.kt:516 */
   27     31   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          32  +
/* FluentBuilderGenerator.kt:270 */
   28     33   
pub struct GetItemFluentBuilder {
   29     34   
    handle: ::std::sync::Arc<crate::client::Handle>,
   30     35   
    inner: crate::operation::get_item::builders::GetItemInputBuilder,
   31     36   
    config_override: ::std::option::Option<crate::config::Builder>,
   32     37   
}
          38  +
/* FluentBuilderGenerator.kt:381 */
   33     39   
impl crate::client::customize::internal::CustomizableSend<crate::operation::get_item::GetItemOutput, crate::operation::get_item::GetItemError>
   34     40   
    for GetItemFluentBuilder
   35     41   
{
   36     42   
    fn send(
   37     43   
        self,
   38     44   
        config_override: crate::config::Builder,
   39     45   
    ) -> crate::client::customize::internal::BoxFuture<
   40     46   
        crate::client::customize::internal::SendResult<crate::operation::get_item::GetItemOutput, crate::operation::get_item::GetItemError>,
   41     47   
    > {
   42     48   
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
   43     49   
    }
   44     50   
}
          51  +
/* FluentBuilderGenerator.kt:282 */
   45     52   
impl GetItemFluentBuilder {
          53  +
    /* FluentBuilderGenerator.kt:288 */
   46     54   
    /// Creates a new `GetItemFluentBuilder`.
   47     55   
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
   48     56   
        Self {
   49     57   
            handle,
   50     58   
            inner: ::std::default::Default::default(),
   51     59   
            config_override: ::std::option::Option::None,
   52     60   
        }
   53     61   
    }
          62  +
    /* FluentBuilderGenerator.kt:301 */
   54     63   
    /// Access the GetItem as a reference.
   55     64   
    pub fn as_input(&self) -> &crate::operation::get_item::builders::GetItemInputBuilder {
   56     65   
        &self.inner
   57     66   
    }
          67  +
    /* FluentBuilderGenerator.kt:145 */
   58     68   
    /// Sends the request and returns the response.
   59     69   
    ///
   60     70   
    /// If an error occurs, an `SdkError` will be returned with additional details that
   61     71   
    /// can be matched against.
   62     72   
    ///
   63     73   
    /// By default, any retryable failures will be retried twice. Retry behavior
   64     74   
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
   65     75   
    /// set when configuring the client.
   66     76   
    pub async fn send(
   67     77   
        self,
   68     78   
    ) -> ::std::result::Result<
   69     79   
        crate::operation::get_item::GetItemOutput,
   70     80   
        ::aws_smithy_runtime_api::client::result::SdkError<
   71     81   
            crate::operation::get_item::GetItemError,
   72     82   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   73     83   
        >,
   74     84   
    > {
   75     85   
        let input = self
   76     86   
            .inner
   77     87   
            .build()
   78     88   
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
   79     89   
        let runtime_plugins = crate::operation::get_item::GetItem::operation_runtime_plugins(
   80     90   
            self.handle.runtime_plugins.clone(),
   81     91   
            &self.handle.conf,
   82     92   
            self.config_override,
   83     93   
        );
   84     94   
        crate::operation::get_item::GetItem::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::get_item::GetItemOutput, crate::operation::get_item::GetItemError, Self>
   91    101   
    {
   92    102   
        crate::client::customize::CustomizableOperation::new(self)
   93    103   
    }
         104  +
    /* FluentBuilderGenerator.kt:315 */
   94    105   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
   95    106   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
   96    107   
        self
   97    108   
    }
   98    109   
   99    110   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  100    111   
        self.config_override = config_override;
  101    112   
        self
  102    113   
    }
  103         -
    /// <p>The name of the table containing the requested item.</p>
         114  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the table containing the requested item.</p>
         115  +
    /* FluentBuilderGenerator.kt:500 */
  104    116   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  105    117   
        self.inner = self.inner.table_name(input.into());
  106    118   
        self
  107    119   
    }
  108         -
    /// <p>The name of the table containing the requested item.</p>
         120  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the table containing the requested item.</p>
         121  +
    /* FluentBuilderGenerator.kt:500 */
  109    122   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  110    123   
        self.inner = self.inner.set_table_name(input);
  111    124   
        self
  112    125   
    }
  113         -
    /// <p>The name of the table containing the requested item.</p>
         126  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The name of the table containing the requested item.</p>
         127  +
    /* FluentBuilderGenerator.kt:520 */
  114    128   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
  115    129   
        self.inner.get_table_name()
  116    130   
    }
  117         -
    ///
         131  +
    /// /* FluentBuilderGenerator.kt:466 */
  118    132   
    /// Adds a key-value pair to `Key`.
  119    133   
    ///
  120    134   
    /// To override the contents of this collection use [`set_key`](Self::set_key).
  121    135   
    ///
  122         -
    /// <p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to retrieve.</p>
         136  +
    /// /* FluentBuilderGenerator.kt:473 */<p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to retrieve.</p>
  123    137   
    /// <p>For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.</p>
         138  +
    /* FluentBuilderGenerator.kt:475 */
  124    139   
    pub fn key(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
  125    140   
        self.inner = self.inner.key(k.into(), v);
  126    141   
        self
  127    142   
    }
  128         -
    /// <p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to retrieve.</p>
         143  +
    /// /* FluentBuilderGenerator.kt:498 */<p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to retrieve.</p>
  129    144   
    /// <p>For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.</p>
         145  +
    /* FluentBuilderGenerator.kt:500 */
  130    146   
    pub fn set_key(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>) -> Self {
  131    147   
        self.inner = self.inner.set_key(input);
  132    148   
        self
  133    149   
    }
  134         -
    /// <p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to retrieve.</p>
         150  +
    /// /* FluentBuilderGenerator.kt:518 */<p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to retrieve.</p>
  135    151   
    /// <p>For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.</p>
         152  +
    /* FluentBuilderGenerator.kt:520 */
  136    153   
    pub fn get_key(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
  137    154   
        self.inner.get_key()
  138    155   
    }
  139         -
    ///
         156  +
    /// /* FluentBuilderGenerator.kt:436 */
  140    157   
    /// Appends an item to `AttributesToGet`.
  141    158   
    ///
  142    159   
    /// To override the contents of this collection use [`set_attributes_to_get`](Self::set_attributes_to_get).
  143    160   
    ///
  144         -
    /// <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>
         161  +
    /// /* 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>
         162  +
    /* FluentBuilderGenerator.kt:446 */
  145    163   
    pub fn attributes_to_get(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  146    164   
        self.inner = self.inner.attributes_to_get(input.into());
  147    165   
        self
  148    166   
    }
  149         -
    /// <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>
         167  +
    /// /* 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>
         168  +
    /* FluentBuilderGenerator.kt:500 */
  150    169   
    pub fn set_attributes_to_get(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
  151    170   
        self.inner = self.inner.set_attributes_to_get(input);
  152    171   
        self
  153    172   
    }
  154         -
    /// <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>
         173  +
    /// /* 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>
         174  +
    /* FluentBuilderGenerator.kt:520 */
  155    175   
    pub fn get_attributes_to_get(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
  156    176   
        self.inner.get_attributes_to_get()
  157    177   
    }
  158         -
    /// <p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
         178  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
         179  +
    /* FluentBuilderGenerator.kt:500 */
  159    180   
    pub fn consistent_read(mut self, input: bool) -> Self {
  160    181   
        self.inner = self.inner.consistent_read(input);
  161    182   
        self
  162    183   
    }
  163         -
    /// <p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
         184  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
         185  +
    /* FluentBuilderGenerator.kt:500 */
  164    186   
    pub fn set_consistent_read(mut self, input: ::std::option::Option<bool>) -> Self {
  165    187   
        self.inner = self.inner.set_consistent_read(input);
  166    188   
        self
  167    189   
    }
  168         -
    /// <p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
         190  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
         191  +
    /* FluentBuilderGenerator.kt:520 */
  169    192   
    pub fn get_consistent_read(&self) -> &::std::option::Option<bool> {
  170    193   
        self.inner.get_consistent_read()
  171    194   
    }
  172         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         195  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  173    196   
    /// <ul>
  174    197   
    /// <li>
  175    198   
    /// <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>
  176    199   
    /// <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>
  177    200   
    /// <li>
  178    201   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  179    202   
    /// <li>
  180    203   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  181    204   
    /// </ul>
         205  +
    /* FluentBuilderGenerator.kt:500 */
  182    206   
    pub fn return_consumed_capacity(mut self, input: crate::types::ReturnConsumedCapacity) -> Self {
  183    207   
        self.inner = self.inner.return_consumed_capacity(input);
  184    208   
        self
  185    209   
    }
  186         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         210  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  187    211   
    /// <ul>
  188    212   
    /// <li>
  189    213   
    /// <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>
  190    214   
    /// <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>
  191    215   
    /// <li>
  192    216   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  193    217   
    /// <li>
  194    218   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  195    219   
    /// </ul>
         220  +
    /* FluentBuilderGenerator.kt:500 */
  196    221   
    pub fn set_return_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ReturnConsumedCapacity>) -> Self {
  197    222   
        self.inner = self.inner.set_return_consumed_capacity(input);
  198    223   
        self
  199    224   
    }
  200         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         225  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  201    226   
    /// <ul>
  202    227   
    /// <li>
  203    228   
    /// <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>
  204    229   
    /// <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>
  205    230   
    /// <li>
  206    231   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  207    232   
    /// <li>
  208    233   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  209    234   
    /// </ul>
         235  +
    /* FluentBuilderGenerator.kt:520 */
  210    236   
    pub fn get_return_consumed_capacity(&self) -> &::std::option::Option<crate::types::ReturnConsumedCapacity> {
  211    237   
        self.inner.get_return_consumed_capacity()
  212    238   
    }
  213         -
    /// <p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         239  +
    /// /* FluentBuilderGenerator.kt:498 */<p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  214    240   
    /// <p>If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.</p>
  215    241   
    /// <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>
         242  +
    /* FluentBuilderGenerator.kt:500 */
  216    243   
    pub fn projection_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  217    244   
        self.inner = self.inner.projection_expression(input.into());
  218    245   
        self
  219    246   
    }
  220         -
    /// <p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         247  +
    /// /* FluentBuilderGenerator.kt:498 */<p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  221    248   
    /// <p>If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.</p>
  222    249   
    /// <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>
         250  +
    /* FluentBuilderGenerator.kt:500 */
  223    251   
    pub fn set_projection_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  224    252   
        self.inner = self.inner.set_projection_expression(input);
  225    253   
        self
  226    254   
    }
  227         -
    /// <p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         255  +
    /// /* FluentBuilderGenerator.kt:518 */<p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  228    256   
    /// <p>If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.</p>
  229    257   
    /// <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>
         258  +
    /* FluentBuilderGenerator.kt:520 */
  230    259   
    pub fn get_projection_expression(&self) -> &::std::option::Option<::std::string::String> {
  231    260   
        self.inner.get_projection_expression()
  232    261   
    }
  233         -
    ///
         262  +
    /// /* FluentBuilderGenerator.kt:466 */
  234    263   
    /// Adds a key-value pair to `ExpressionAttributeNames`.
  235    264   
    ///
  236    265   
    /// To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
  237    266   
    ///
  238         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         267  +
    /// /* 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>
  239    268   
    /// <ul>
  240    269   
    /// <li>
  241    270   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  242    271   
    /// <li>
  243    272   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  244    273   
    /// <li>
  245    274   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  246    275   
    /// </ul>
  247    276   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  248    277   
    /// <ul>
  249    278   
    /// <li>
  250    279   
    /// <p><code>Percentile</code></p></li>
  251    280   
    /// </ul>
  252    281   
    /// <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>
  253    282   
    /// <ul>
  254    283   
    /// <li>
  255    284   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  256    285   
    /// </ul>
  257    286   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  258    287   
    /// <ul>
  259    288   
    /// <li>
  260    289   
    /// <p><code>#P = :val</code></p></li>
  261    290   
    /// </ul><note>
  262    291   
    /// <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>
  263    292   
    /// </note>
  264    293   
    /// <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>
         294  +
    /* FluentBuilderGenerator.kt:475 */
  265    295   
    pub fn expression_attribute_names(
  266    296   
        mut self,
  267    297   
        k: impl ::std::convert::Into<::std::string::String>,
  268    298   
        v: impl ::std::convert::Into<::std::string::String>,
  269    299   
    ) -> Self {
  270    300   
        self.inner = self.inner.expression_attribute_names(k.into(), v.into());
  271    301   
        self
  272    302   
    }
  273         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         303  +
    /// /* 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>
  274    304   
    /// <ul>
  275    305   
    /// <li>
  276    306   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  277    307   
    /// <li>
  278    308   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  279    309   
    /// <li>
  280    310   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  281    311   
    /// </ul>
  282    312   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  283    313   
    /// <ul>
  284    314   
    /// <li>
  285    315   
    /// <p><code>Percentile</code></p></li>
  286    316   
    /// </ul>
  287    317   
    /// <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>
  288    318   
    /// <ul>
  289    319   
    /// <li>
  290    320   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  291    321   
    /// </ul>
  292    322   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  293    323   
    /// <ul>
  294    324   
    /// <li>
  295    325   
    /// <p><code>#P = :val</code></p></li>
  296    326   
    /// </ul><note>
  297    327   
    /// <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>
  298    328   
    /// </note>
  299    329   
    /// <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>
         330  +
    /* FluentBuilderGenerator.kt:500 */
  300    331   
    pub fn set_expression_attribute_names(
  301    332   
        mut self,
  302    333   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
  303    334   
    ) -> Self {
  304    335   
        self.inner = self.inner.set_expression_attribute_names(input);
  305    336   
        self
  306    337   
    }
  307         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         338  +
    /// /* 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>
  308    339   
    /// <ul>
  309    340   
    /// <li>
  310    341   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  311    342   
    /// <li>
  312    343   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  313    344   
    /// <li>
  314    345   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  315    346   
    /// </ul>
  316    347   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  317    348   
    /// <ul>
  318    349   
    /// <li>
  319    350   
    /// <p><code>Percentile</code></p></li>
  320    351   
    /// </ul>
  321    352   
    /// <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>
  322    353   
    /// <ul>
  323    354   
    /// <li>
  324    355   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  325    356   
    /// </ul>
  326    357   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  327    358   
    /// <ul>
  328    359   
    /// <li>
  329    360   
    /// <p><code>#P = :val</code></p></li>
  330    361   
    /// </ul><note>
  331    362   
    /// <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>
  332    363   
    /// </note>
  333    364   
    /// <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>
         365  +
    /* FluentBuilderGenerator.kt:520 */
  334    366   
    pub fn get_expression_attribute_names(
  335    367   
        &self,
  336    368   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
  337    369   
        self.inner.get_expression_attribute_names()
  338    370   
    }
         371  +
    /* FluentBuilderGenerator.kt:282 */
  339    372   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/operation/list_backups.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 `ListBackups`.
           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 ListBackups;
          10  +
/* OperationGenerator.kt:85 */
    6     11   
impl ListBackups {
    7         -
    /// Creates a new `ListBackups`
          12  +
    /// /* OperationGenerator.kt:86 */Creates a new `ListBackups`
          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::list_backups::ListBackupsInput,
   14     23   
    ) -> ::std::result::Result<
   15     24   
        crate::operation::list_backups::ListBackupsOutput,
   16     25   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     26   
            crate::operation::list_backups::ListBackupsError,
   18     27   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     28   
        >,
   20     29   
    > {
@@ -57,66 +351,471 @@
   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 ListBackups {
   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("ListBackups");
   91    102   
   92    103   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
   93    104   
            ListBackupsRequestSerializer,
   94    105   
        ));
   95    106   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
   96    107   
            ListBackupsResponseDeserializer,
   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("ListBackups", "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("ListBackups")
  114    125   
            .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default())
  115    126   
            .with_interceptor(ListBackupsEndpointParamsInterceptor)
  116    127   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
  117    128   
                crate::operation::list_backups::ListBackupsError,
  118    129   
            >::new())
  119    130   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
  120    131   
                crate::operation::list_backups::ListBackupsError,
  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 ListBackupsResponseDeserializer;
  129    141   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for ListBackupsResponseDeserializer {
  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_list_backups::de_list_backups_http_error(status, headers, body)
  142    154   
        } else {
  143    155   
            crate::protocol_serde::shape_list_backups::de_list_backups_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 ListBackupsRequestSerializer;
  150    163   
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for ListBackupsRequestSerializer {
  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::list_backups::ListBackupsInput>()
  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::list_backups::ListBackupsInput,
  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::list_backups::ListBackupsInput,
  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.ListBackups",
  188    201   
            );
  189    202   
            builder
  190    203   
        };
  191    204   
        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_list_backups::ser_list_backups_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 ListBackupsEndpointParamsInterceptor;
  201    215   
  202    216   
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for ListBackupsEndpointParamsInterceptor {
  203    217   
    fn name(&self) -> &'static str {
  204    218   
        "ListBackupsEndpointParamsInterceptor"
  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::<ListBackupsInput>()
  220    234   
            .ok_or("failed to downcast to ListBackupsInput")?;
  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 `ListBackupsError` operation.
         250  +
/* RustType.kt:516 */
  235    251   
#[non_exhaustive]
         252  +
/* RustType.kt:516 */
  236    253   
#[derive(::std::fmt::Debug)]
  237         -
pub enum ListBackupsError {
  238         -
    /// <p>An error occurred on the server side.</p>
         254  +
pub /* OperationErrorGenerator.kt:81 */ enum ListBackupsError {
         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),
         262  +
    /* OperationErrorGenerator.kt:88 */
  242    263   
    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
  243    264   
    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
  244    265   
    variable wildcard pattern and check `.code()`:
  245    266   
     \
  246    267   
    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
  247    268   
     \
  248    269   
    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-ListBackupsError) for what information is available for the error.")]
  249    270   
    Unhandled(crate::error::sealed_unhandled::Unhandled),
         271  +
    /* OperationErrorGenerator.kt:81 */
  250    272   
}
         273  +
/* OperationErrorGenerator.kt:218 */
  251    274   
impl ListBackupsError {
         275  +
    /* OperationErrorGenerator.kt:219 */
  252    276   
    /// Creates the `ListBackupsError::Unhandled` variant from any error type.
  253    277   
    pub fn unhandled(
  254    278   
        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
  255    279   
    ) -> Self {
  256    280   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  257    281   
            source: err.into(),
  258    282   
            meta: ::std::default::Default::default(),
  259    283   
        })
  260    284   
    }
  261    285   
  262    286   
    /// Creates the `ListBackupsError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
  263    287   
    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
  264    288   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  265    289   
            source: err.clone().into(),
  266    290   
            meta: err,
  267    291   
        })
  268    292   
    }
  269         -
    ///
         293  +
    /// /* OperationErrorGenerator.kt:236 */
  270    294   
    /// Returns error metadata, which includes the error code, message,
  271    295   
    /// request ID, and potentially additional information.
  272    296   
    ///
         297  +
    /* OperationErrorGenerator.kt:242 */
  273    298   
    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         299  +
        /* OperationErrorGenerator.kt:243 */
  274    300   
        match self {
         301  +
            /* OperationErrorGenerator.kt:246 */
  275    302   
            Self::InternalServerError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         303  +
            /* OperationErrorGenerator.kt:246 */
  276    304   
            Self::InvalidEndpointError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
  277         -
            Self::Unhandled(e) => &e.meta,
         305  +
            /* OperationErrorGenerator.kt:251 */ Self::Unhandled(e) => &e.meta,
         306  +
            /* OperationErrorGenerator.kt:243 */
  278    307   
        }
         308  +
        /* OperationErrorGenerator.kt:242 */
  279    309   
    }
         310  +
    /* OperationErrorGenerator.kt:257 */
  280    311   
    /// Returns `true` if the error kind is `ListBackupsError::InternalServerError`.
         312  +
    /* OperationErrorGenerator.kt:258 */
  281    313   
    pub fn is_internal_server_error(&self) -> bool {
         314  +
        /* OperationErrorGenerator.kt:259 */
  282    315   
        matches!(self, Self::InternalServerError(_))
         316  +
        /* OperationErrorGenerator.kt:258 */
  283    317   
    }
         318  +
    /* OperationErrorGenerator.kt:257 */
  284    319   
    /// Returns `true` if the error kind is `ListBackupsError::InvalidEndpointError`.
         320  +
    /* OperationErrorGenerator.kt:258 */
  285    321   
    pub fn is_invalid_endpoint_error(&self) -> bool {
         322  +
        /* OperationErrorGenerator.kt:259 */
  286    323   
        matches!(self, Self::InvalidEndpointError(_))
         324  +
        /* OperationErrorGenerator.kt:258 */
  287    325   
    }
         326  +
    /* OperationErrorGenerator.kt:218 */
  288    327   
}
         328  +
/* OperationErrorGenerator.kt:269 */
  289    329   
impl ::std::error::Error for ListBackupsError {
         330  +
    /* OperationErrorGenerator.kt:270 */
  290    331   
    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
         332  +
        /* OperationErrorGenerator.kt:318 */
  291    333   
        match self {
  292         -
            Self::InternalServerError(_inner) => ::std::option::Option::Some(_inner),
  293         -
            Self::InvalidEndpointError(_inner) => ::std::option::Option::Some(_inner),
  294         -
            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
         334  +
            /* OperationErrorGenerator.kt:321 */
         335  +
            Self::InternalServerError(_inner) =>
         336  +
            /* OperationErrorGenerator.kt:283 */
         337  +
            {
         338  +
                ::std::option::Option::Some(_inner)
         339  +
            }
         340  +
            ,
         341  +
            /* OperationErrorGenerator.kt:321 */
         342  +
            Self::InvalidEndpointError(_inner) =>
         343  +
            /* OperationErrorGenerator.kt:283 */
         344  +
            {
         345  +
                ::std::option::Option::Some(_inner)
         346  +
            }
         347  +
            ,
         348  +
            /* OperationErrorGenerator.kt:326 */
         349  +
            Self::Unhandled(_inner) => {
         350  +
                /* OperationErrorGenerator.kt:279 */
         351  +
                ::std::option::Option::Some(&*_inner.source)
         352  +
                /* OperationErrorGenerator.kt:326 */
         353  +
            } /* OperationErrorGenerator.kt:318 */
  295    354   
        }
         355  +
        /* OperationErrorGenerator.kt:270 */
  296    356   
    }
         357  +
    /* OperationErrorGenerator.kt:269 */
  297    358   
}
         359  +
/* OperationErrorGenerator.kt:133 */
  298    360   
impl ::std::fmt::Display for ListBackupsError {
         361  +
    /* OperationErrorGenerator.kt:134 */
  299    362   
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         363  +
        /* OperationErrorGenerator.kt:318 */
  300    364   
        match self {
  301         -
            Self::InternalServerError(_inner) => _inner.fmt(f),
  302         -
            Self::InvalidEndpointError(_inner) => _inner.fmt(f),
         365  +
            /* OperationErrorGenerator.kt:321 */
         366  +
            Self::InternalServerError(_inner) =>
         367  +
            /* OperationErrorGenerator.kt:151 */
         368  +
            {
         369  +
                _inner.fmt(f)
         370  +
            }
         371  +
            ,
         372  +
            /* OperationErrorGenerator.kt:321 */
         373  +
            Self::InvalidEndpointError(_inner) =>
         374  +
            /* OperationErrorGenerator.kt:151 */
         375  +
            {
         376  +
                _inner.fmt(f)
         377  +
            }
         378  +
            ,
         379  +
            /* OperationErrorGenerator.kt:326 */
  303    380   
            Self::Unhandled(_inner) => {
         381  +
                /* OperationErrorGenerator.kt:139 */
  304    382   
                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
  305    383   
                    write!(f, "unhandled error ({code})")
  306    384   
                } else {
  307    385   
                    f.write_str("unhandled error")
  308    386   
                }
         387  +
                /* OperationErrorGenerator.kt:326 */
         388  +
            } /* OperationErrorGenerator.kt:318 */
  309    389   
        }
         390  +
        /* OperationErrorGenerator.kt:134 */
  310    391   
    }
  311         -
    }
         392  +
    /* OperationErrorGenerator.kt:133 */
  312    393   
}
         394  +
/* OperationErrorGenerator.kt:182 */
  313    395   
impl ::aws_smithy_types::retry::ProvideErrorKind for ListBackupsError {
         396  +
    /* OperationErrorGenerator.kt:186 */
  314    397   
    fn code(&self) -> ::std::option::Option<&str> {
         398  +
        /* OperationErrorGenerator.kt:187 */
  315    399   
        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
         400  +
        /* OperationErrorGenerator.kt:186 */
  316    401   
    }
         402  +
    /* OperationErrorGenerator.kt:190 */
  317    403   
    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
         404  +
        /* OperationErrorGenerator.kt:197 */
  318    405   
        ::std::option::Option::None
         406  +
        /* OperationErrorGenerator.kt:190 */
  319    407   
    }
         408  +
    /* OperationErrorGenerator.kt:182 */
  320    409   
}
         410  +
/* OperationErrorGenerator.kt:163 */
  321    411   
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for ListBackupsError {
         412  +
    /* OperationErrorGenerator.kt:164 */
  322    413   
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         414  +
        /* OperationErrorGenerator.kt:318 */
  323    415   
        match self {
  324         -
            Self::InternalServerError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  325         -
            Self::InvalidEndpointError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  326         -
            Self::Unhandled(_inner) => &_inner.meta,
         416  +
            /* OperationErrorGenerator.kt:321 */
         417  +
            Self::InternalServerError(_inner) =>
         418  +
            /* OperationErrorGenerator.kt:169 */
         419  +
            {
         420  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         421  +
            }
         422  +
            ,
         423  +
            /* OperationErrorGenerator.kt:321 */
         424  +
            Self::InvalidEndpointError(_inner) =>
         425  +
            /* OperationErrorGenerator.kt:169 */
         426  +
            {
         427  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         428  +
            }
         429  +
            ,
         430  +
            /* OperationErrorGenerator.kt:326 */
         431  +
            Self::Unhandled(_inner) => {
         432  +
                /* OperationErrorGenerator.kt:168 */
         433  +
                &_inner.meta
         434  +
                /* OperationErrorGenerator.kt:326 */
         435  +
            } /* OperationErrorGenerator.kt:318 */
  327    436   
        }
         437  +
        /* OperationErrorGenerator.kt:164 */
  328    438   
    }
         439  +
    /* OperationErrorGenerator.kt:163 */
  329    440   
}
         441  +
/* OperationErrorGenerator.kt:109 */
  330    442   
impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for ListBackupsError {
         443  +
    /* OperationErrorGenerator.kt:110 */
  331    444   
    fn create_unhandled_error(
  332    445   
        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
  333    446   
        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
  334    447   
    ) -> Self {
         448  +
        /* OperationErrorGenerator.kt:121 */
  335    449   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  336    450   
            source,
  337    451   
            meta: meta.unwrap_or_default(),
  338    452   
        })
         453  +
        /* OperationErrorGenerator.kt:110 */
  339    454   
    }
         455  +
    /* OperationErrorGenerator.kt:109 */
  340    456   
}
  341    457   
         458  +
/* CodegenDelegator.kt:255 */
  342    459   
pub use crate::operation::list_backups::_list_backups_output::ListBackupsOutput;
  343    460   
         461  +
/* CodegenDelegator.kt:255 */
  344    462   
pub use crate::operation::list_backups::_list_backups_input::ListBackupsInput;
  345    463   
         464  +
/* RustModule.kt:172 */
  346    465   
mod _list_backups_input;
  347    466   
         467  +
/* RustModule.kt:172 */
  348    468   
mod _list_backups_output;
  349    469   
  350         -
/// Builders
         470  +
/// /* CodegenDelegator.kt:51 */Builders
  351    471   
pub mod builders;

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

@@ -1,1 +204,312 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* StructureGenerator.kt:197 */
    2      3   
#[allow(missing_docs)] // documentation missing in model
           4  +
/* RustType.kt:516 */
    3      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    4      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5         -
pub struct ListBackupsInput {
    6         -
    /// <p>The backups from the table specified by <code>TableName</code> are listed.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct ListBackupsInput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The backups from the table specified by <code>TableName</code> are listed.</p>
    7     10   
    pub table_name: ::std::option::Option<::std::string::String>,
    8         -
    /// <p>Maximum number of backups to return at once.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>Maximum number of backups to return at once.</p>
    9     12   
    pub limit: ::std::option::Option<i32>,
   10         -
    /// <p>Only backups created after this time are listed. <code>TimeRangeLowerBound</code> is inclusive.</p>
          13  +
    /// /* StructureGenerator.kt:231 */<p>Only backups created after this time are listed. <code>TimeRangeLowerBound</code> is inclusive.</p>
   11     14   
    pub time_range_lower_bound: ::std::option::Option<::aws_smithy_types::DateTime>,
   12         -
    /// <p>Only backups created before this time are listed. <code>TimeRangeUpperBound</code> is exclusive.</p>
          15  +
    /// /* StructureGenerator.kt:231 */<p>Only backups created before this time are listed. <code>TimeRangeUpperBound</code> is exclusive.</p>
   13     16   
    pub time_range_upper_bound: ::std::option::Option<::aws_smithy_types::DateTime>,
   14         -
    /// <p><code>LastEvaluatedBackupArn</code> is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
          17  +
    /// /* StructureGenerator.kt:231 */<p><code>LastEvaluatedBackupArn</code> is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
   15     18   
    pub exclusive_start_backup_arn: ::std::option::Option<::std::string::String>,
   16         -
    /// <p>The backups from the table specified by <code>BackupType</code> are listed.</p>
          19  +
    /// /* StructureGenerator.kt:231 */<p>The backups from the table specified by <code>BackupType</code> are listed.</p>
   17     20   
    /// <p>Where <code>BackupType</code> can be:</p>
   18     21   
    /// <ul>
   19     22   
    /// <li>
   20     23   
    /// <p><code>USER</code> - On-demand backup created by you.</p></li>
   21     24   
    /// <li>
   22     25   
    /// <p><code>SYSTEM</code> - On-demand backup automatically created by DynamoDB.</p></li>
   23     26   
    /// <li>
   24     27   
    /// <p><code>ALL</code> - All types of on-demand backups (USER and SYSTEM).</p></li>
   25     28   
    /// </ul>
   26     29   
    pub backup_type: ::std::option::Option<crate::types::BackupTypeFilter>,
          30  +
    /* StructureGenerator.kt:201 */
   27     31   
}
          32  +
/* StructureGenerator.kt:135 */
   28     33   
impl ListBackupsInput {
   29         -
    /// <p>The backups from the table specified by <code>TableName</code> are listed.</p>
          34  +
    /// /* StructureGenerator.kt:231 */<p>The backups from the table specified by <code>TableName</code> are listed.</p>
          35  +
    /* StructureGenerator.kt:166 */
   30     36   
    pub fn table_name(&self) -> ::std::option::Option<&str> {
          37  +
        /* StructureGenerator.kt:169 */
   31     38   
        self.table_name.as_deref()
          39  +
        /* StructureGenerator.kt:166 */
   32     40   
    }
   33         -
    /// <p>Maximum number of backups to return at once.</p>
          41  +
    /// /* StructureGenerator.kt:231 */<p>Maximum number of backups to return at once.</p>
          42  +
    /* StructureGenerator.kt:166 */
   34     43   
    pub fn limit(&self) -> ::std::option::Option<i32> {
          44  +
        /* StructureGenerator.kt:168 */
   35     45   
        self.limit
          46  +
        /* StructureGenerator.kt:166 */
   36     47   
    }
   37         -
    /// <p>Only backups created after this time are listed. <code>TimeRangeLowerBound</code> is inclusive.</p>
          48  +
    /// /* StructureGenerator.kt:231 */<p>Only backups created after this time are listed. <code>TimeRangeLowerBound</code> is inclusive.</p>
          49  +
    /* StructureGenerator.kt:166 */
   38     50   
    pub fn time_range_lower_bound(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          51  +
        /* StructureGenerator.kt:170 */
   39     52   
        self.time_range_lower_bound.as_ref()
          53  +
        /* StructureGenerator.kt:166 */
   40     54   
    }
   41         -
    /// <p>Only backups created before this time are listed. <code>TimeRangeUpperBound</code> is exclusive.</p>
          55  +
    /// /* StructureGenerator.kt:231 */<p>Only backups created before this time are listed. <code>TimeRangeUpperBound</code> is exclusive.</p>
          56  +
    /* StructureGenerator.kt:166 */
   42     57   
    pub fn time_range_upper_bound(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          58  +
        /* StructureGenerator.kt:170 */
   43     59   
        self.time_range_upper_bound.as_ref()
          60  +
        /* StructureGenerator.kt:166 */
   44     61   
    }
   45         -
    /// <p><code>LastEvaluatedBackupArn</code> is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
          62  +
    /// /* StructureGenerator.kt:231 */<p><code>LastEvaluatedBackupArn</code> is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
          63  +
    /* StructureGenerator.kt:166 */
   46     64   
    pub fn exclusive_start_backup_arn(&self) -> ::std::option::Option<&str> {
          65  +
        /* StructureGenerator.kt:169 */
   47     66   
        self.exclusive_start_backup_arn.as_deref()
          67  +
        /* StructureGenerator.kt:166 */
   48     68   
    }
   49         -
    /// <p>The backups from the table specified by <code>BackupType</code> are listed.</p>
          69  +
    /// /* StructureGenerator.kt:231 */<p>The backups from the table specified by <code>BackupType</code> are listed.</p>
   50     70   
    /// <p>Where <code>BackupType</code> can be:</p>
   51     71   
    /// <ul>
   52     72   
    /// <li>
   53     73   
    /// <p><code>USER</code> - On-demand backup created by you.</p></li>
   54     74   
    /// <li>
   55     75   
    /// <p><code>SYSTEM</code> - On-demand backup automatically created by DynamoDB.</p></li>
   56     76   
    /// <li>
   57     77   
    /// <p><code>ALL</code> - All types of on-demand backups (USER and SYSTEM).</p></li>
   58     78   
    /// </ul>
          79  +
    /* StructureGenerator.kt:166 */
   59     80   
    pub fn backup_type(&self) -> ::std::option::Option<&crate::types::BackupTypeFilter> {
          81  +
        /* StructureGenerator.kt:170 */
   60     82   
        self.backup_type.as_ref()
          83  +
        /* StructureGenerator.kt:166 */
   61     84   
    }
          85  +
    /* StructureGenerator.kt:135 */
   62     86   
}
          87  +
/* ClientCodegenVisitor.kt:237 */
   63     88   
impl ListBackupsInput {
   64         -
    /// Creates a new builder-style object to manufacture [`ListBackupsInput`](crate::operation::list_backups::ListBackupsInput).
          89  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`ListBackupsInput`](crate::operation::list_backups::ListBackupsInput).
          90  +
    /* BuilderGenerator.kt:175 */
   65     91   
    pub fn builder() -> crate::operation::list_backups::builders::ListBackupsInputBuilder {
          92  +
        /* BuilderGenerator.kt:176 */
   66     93   
        crate::operation::list_backups::builders::ListBackupsInputBuilder::default()
          94  +
        /* BuilderGenerator.kt:175 */
   67     95   
    }
          96  +
    /* ClientCodegenVisitor.kt:237 */
   68     97   
}
   69     98   
   70         -
/// A builder for [`ListBackupsInput`](crate::operation::list_backups::ListBackupsInput).
          99  +
/// /* BuilderGenerator.kt:342 */A builder for [`ListBackupsInput`](crate::operation::list_backups::ListBackupsInput).
         100  +
/* RustType.kt:516 */
   71    101   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         102  +
/* RustType.kt:516 */
   72    103   
#[non_exhaustive]
         104  +
/* BuilderGenerator.kt:345 */
   73    105   
pub struct ListBackupsInputBuilder {
   74         -
    pub(crate) table_name: ::std::option::Option<::std::string::String>,
   75         -
    pub(crate) limit: ::std::option::Option<i32>,
   76         -
    pub(crate) time_range_lower_bound: ::std::option::Option<::aws_smithy_types::DateTime>,
   77         -
    pub(crate) time_range_upper_bound: ::std::option::Option<::aws_smithy_types::DateTime>,
   78         -
    pub(crate) exclusive_start_backup_arn: ::std::option::Option<::std::string::String>,
         106  +
    /* BuilderGenerator.kt:275 */ pub(crate) table_name: ::std::option::Option<::std::string::String>,
         107  +
    /* BuilderGenerator.kt:275 */ pub(crate) limit: ::std::option::Option<i32>,
         108  +
    /* BuilderGenerator.kt:275 */ pub(crate) time_range_lower_bound: ::std::option::Option<::aws_smithy_types::DateTime>,
         109  +
    /* BuilderGenerator.kt:275 */ pub(crate) time_range_upper_bound: ::std::option::Option<::aws_smithy_types::DateTime>,
         110  +
    /* BuilderGenerator.kt:275 */ pub(crate) exclusive_start_backup_arn: ::std::option::Option<::std::string::String>,
         111  +
    /* BuilderGenerator.kt:275 */
   79    112   
    pub(crate) backup_type: ::std::option::Option<crate::types::BackupTypeFilter>,
         113  +
    /* BuilderGenerator.kt:345 */
   80    114   
}
         115  +
/* BuilderGenerator.kt:355 */
   81    116   
impl ListBackupsInputBuilder {
   82         -
    /// <p>The backups from the table specified by <code>TableName</code> are listed.</p>
         117  +
    /// /* BuilderGenerator.kt:286 */<p>The backups from the table specified by <code>TableName</code> are listed.</p>
         118  +
    /* BuilderGenerator.kt:291 */
   83    119   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         120  +
        /* BuilderGenerator.kt:292 */
   84    121   
        self.table_name = ::std::option::Option::Some(input.into());
         122  +
        /* BuilderGenerator.kt:293 */
   85    123   
        self
         124  +
        /* BuilderGenerator.kt:291 */
   86    125   
    }
   87         -
    /// <p>The backups from the table specified by <code>TableName</code> are listed.</p>
         126  +
    /// /* BuilderGenerator.kt:312 */<p>The backups from the table specified by <code>TableName</code> are listed.</p>
         127  +
    /* BuilderGenerator.kt:314 */
   88    128   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         129  +
        /* BuilderGenerator.kt:315 */
   89    130   
        self.table_name = input;
   90    131   
        self
         132  +
        /* BuilderGenerator.kt:314 */
   91    133   
    }
   92         -
    /// <p>The backups from the table specified by <code>TableName</code> are listed.</p>
         134  +
    /// /* BuilderGenerator.kt:334 */<p>The backups from the table specified by <code>TableName</code> are listed.</p>
         135  +
    /* BuilderGenerator.kt:336 */
   93    136   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
         137  +
        /* BuilderGenerator.kt:337 */
   94    138   
        &self.table_name
         139  +
        /* BuilderGenerator.kt:336 */
   95    140   
    }
   96         -
    /// <p>Maximum number of backups to return at once.</p>
         141  +
    /// /* BuilderGenerator.kt:286 */<p>Maximum number of backups to return at once.</p>
         142  +
    /* BuilderGenerator.kt:291 */
   97    143   
    pub fn limit(mut self, input: i32) -> Self {
         144  +
        /* BuilderGenerator.kt:292 */
   98    145   
        self.limit = ::std::option::Option::Some(input);
         146  +
        /* BuilderGenerator.kt:293 */
   99    147   
        self
         148  +
        /* BuilderGenerator.kt:291 */
  100    149   
    }
  101         -
    /// <p>Maximum number of backups to return at once.</p>
         150  +
    /// /* BuilderGenerator.kt:312 */<p>Maximum number of backups to return at once.</p>
         151  +
    /* BuilderGenerator.kt:314 */
  102    152   
    pub fn set_limit(mut self, input: ::std::option::Option<i32>) -> Self {
         153  +
        /* BuilderGenerator.kt:315 */
  103    154   
        self.limit = input;
  104    155   
        self
         156  +
        /* BuilderGenerator.kt:314 */
  105    157   
    }
  106         -
    /// <p>Maximum number of backups to return at once.</p>
         158  +
    /// /* BuilderGenerator.kt:334 */<p>Maximum number of backups to return at once.</p>
         159  +
    /* BuilderGenerator.kt:336 */
  107    160   
    pub fn get_limit(&self) -> &::std::option::Option<i32> {
         161  +
        /* BuilderGenerator.kt:337 */
  108    162   
        &self.limit
         163  +
        /* BuilderGenerator.kt:336 */
  109    164   
    }
  110         -
    /// <p>Only backups created after this time are listed. <code>TimeRangeLowerBound</code> is inclusive.</p>
         165  +
    /// /* BuilderGenerator.kt:286 */<p>Only backups created after this time are listed. <code>TimeRangeLowerBound</code> is inclusive.</p>
         166  +
    /* BuilderGenerator.kt:291 */
  111    167   
    pub fn time_range_lower_bound(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         168  +
        /* BuilderGenerator.kt:292 */
  112    169   
        self.time_range_lower_bound = ::std::option::Option::Some(input);
         170  +
        /* BuilderGenerator.kt:293 */
  113    171   
        self
         172  +
        /* BuilderGenerator.kt:291 */
  114    173   
    }
  115         -
    /// <p>Only backups created after this time are listed. <code>TimeRangeLowerBound</code> is inclusive.</p>
         174  +
    /// /* BuilderGenerator.kt:312 */<p>Only backups created after this time are listed. <code>TimeRangeLowerBound</code> is inclusive.</p>
         175  +
    /* BuilderGenerator.kt:314 */
  116    176   
    pub fn set_time_range_lower_bound(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         177  +
        /* BuilderGenerator.kt:315 */
  117    178   
        self.time_range_lower_bound = input;
  118    179   
        self
         180  +
        /* BuilderGenerator.kt:314 */
  119    181   
    }
  120         -
    /// <p>Only backups created after this time are listed. <code>TimeRangeLowerBound</code> is inclusive.</p>
         182  +
    /// /* BuilderGenerator.kt:334 */<p>Only backups created after this time are listed. <code>TimeRangeLowerBound</code> is inclusive.</p>
         183  +
    /* BuilderGenerator.kt:336 */
  121    184   
    pub fn get_time_range_lower_bound(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         185  +
        /* BuilderGenerator.kt:337 */
  122    186   
        &self.time_range_lower_bound
         187  +
        /* BuilderGenerator.kt:336 */
  123    188   
    }
  124         -
    /// <p>Only backups created before this time are listed. <code>TimeRangeUpperBound</code> is exclusive.</p>
         189  +
    /// /* BuilderGenerator.kt:286 */<p>Only backups created before this time are listed. <code>TimeRangeUpperBound</code> is exclusive.</p>
         190  +
    /* BuilderGenerator.kt:291 */
  125    191   
    pub fn time_range_upper_bound(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         192  +
        /* BuilderGenerator.kt:292 */
  126    193   
        self.time_range_upper_bound = ::std::option::Option::Some(input);
         194  +
        /* BuilderGenerator.kt:293 */
  127    195   
        self
         196  +
        /* BuilderGenerator.kt:291 */
  128    197   
    }
  129         -
    /// <p>Only backups created before this time are listed. <code>TimeRangeUpperBound</code> is exclusive.</p>
         198  +
    /// /* BuilderGenerator.kt:312 */<p>Only backups created before this time are listed. <code>TimeRangeUpperBound</code> is exclusive.</p>
         199  +
    /* BuilderGenerator.kt:314 */
  130    200   
    pub fn set_time_range_upper_bound(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         201  +
        /* BuilderGenerator.kt:315 */
  131    202   
        self.time_range_upper_bound = input;
  132    203   
        self
         204  +
        /* BuilderGenerator.kt:314 */
  133    205   
    }
  134         -
    /// <p>Only backups created before this time are listed. <code>TimeRangeUpperBound</code> is exclusive.</p>
         206  +
    /// /* BuilderGenerator.kt:334 */<p>Only backups created before this time are listed. <code>TimeRangeUpperBound</code> is exclusive.</p>
         207  +
    /* BuilderGenerator.kt:336 */
  135    208   
    pub fn get_time_range_upper_bound(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         209  +
        /* BuilderGenerator.kt:337 */
  136    210   
        &self.time_range_upper_bound
         211  +
        /* BuilderGenerator.kt:336 */
  137    212   
    }
  138         -
    /// <p><code>LastEvaluatedBackupArn</code> is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
         213  +
    /// /* BuilderGenerator.kt:286 */<p><code>LastEvaluatedBackupArn</code> is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
         214  +
    /* BuilderGenerator.kt:291 */
  139    215   
    pub fn exclusive_start_backup_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         216  +
        /* BuilderGenerator.kt:292 */
  140    217   
        self.exclusive_start_backup_arn = ::std::option::Option::Some(input.into());
         218  +
        /* BuilderGenerator.kt:293 */
  141    219   
        self
         220  +
        /* BuilderGenerator.kt:291 */
  142    221   
    }
  143         -
    /// <p><code>LastEvaluatedBackupArn</code> is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
         222  +
    /// /* BuilderGenerator.kt:312 */<p><code>LastEvaluatedBackupArn</code> is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
         223  +
    /* BuilderGenerator.kt:314 */
  144    224   
    pub fn set_exclusive_start_backup_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         225  +
        /* BuilderGenerator.kt:315 */
  145    226   
        self.exclusive_start_backup_arn = input;
  146    227   
        self
         228  +
        /* BuilderGenerator.kt:314 */
  147    229   
    }
  148         -
    /// <p><code>LastEvaluatedBackupArn</code> is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
         230  +
    /// /* BuilderGenerator.kt:334 */<p><code>LastEvaluatedBackupArn</code> is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
         231  +
    /* BuilderGenerator.kt:336 */
  149    232   
    pub fn get_exclusive_start_backup_arn(&self) -> &::std::option::Option<::std::string::String> {
         233  +
        /* BuilderGenerator.kt:337 */
  150    234   
        &self.exclusive_start_backup_arn
         235  +
        /* BuilderGenerator.kt:336 */
  151    236   
    }
  152         -
    /// <p>The backups from the table specified by <code>BackupType</code> are listed.</p>
         237  +
    /// /* BuilderGenerator.kt:286 */<p>The backups from the table specified by <code>BackupType</code> are listed.</p>
  153    238   
    /// <p>Where <code>BackupType</code> can be:</p>
  154    239   
    /// <ul>
  155    240   
    /// <li>
  156    241   
    /// <p><code>USER</code> - On-demand backup created by you.</p></li>
  157    242   
    /// <li>
  158    243   
    /// <p><code>SYSTEM</code> - On-demand backup automatically created by DynamoDB.</p></li>
  159    244   
    /// <li>
  160    245   
    /// <p><code>ALL</code> - All types of on-demand backups (USER and SYSTEM).</p></li>
  161    246   
    /// </ul>
         247  +
    /* BuilderGenerator.kt:291 */
  162    248   
    pub fn backup_type(mut self, input: crate::types::BackupTypeFilter) -> Self {
         249  +
        /* BuilderGenerator.kt:292 */
  163    250   
        self.backup_type = ::std::option::Option::Some(input);
         251  +
        /* BuilderGenerator.kt:293 */
  164    252   
        self
         253  +
        /* BuilderGenerator.kt:291 */
  165    254   
    }
  166         -
    /// <p>The backups from the table specified by <code>BackupType</code> are listed.</p>
         255  +
    /// /* BuilderGenerator.kt:312 */<p>The backups from the table specified by <code>BackupType</code> are listed.</p>
  167    256   
    /// <p>Where <code>BackupType</code> can be:</p>
  168    257   
    /// <ul>
  169    258   
    /// <li>
  170    259   
    /// <p><code>USER</code> - On-demand backup created by you.</p></li>
  171    260   
    /// <li>
  172    261   
    /// <p><code>SYSTEM</code> - On-demand backup automatically created by DynamoDB.</p></li>
  173    262   
    /// <li>
  174    263   
    /// <p><code>ALL</code> - All types of on-demand backups (USER and SYSTEM).</p></li>
  175    264   
    /// </ul>
         265  +
    /* BuilderGenerator.kt:314 */
  176    266   
    pub fn set_backup_type(mut self, input: ::std::option::Option<crate::types::BackupTypeFilter>) -> Self {
         267  +
        /* BuilderGenerator.kt:315 */
  177    268   
        self.backup_type = input;
  178    269   
        self
         270  +
        /* BuilderGenerator.kt:314 */
  179    271   
    }
  180         -
    /// <p>The backups from the table specified by <code>BackupType</code> are listed.</p>
         272  +
    /// /* BuilderGenerator.kt:334 */<p>The backups from the table specified by <code>BackupType</code> are listed.</p>
  181    273   
    /// <p>Where <code>BackupType</code> can be:</p>
  182    274   
    /// <ul>
  183    275   
    /// <li>
  184    276   
    /// <p><code>USER</code> - On-demand backup created by you.</p></li>
  185    277   
    /// <li>
  186    278   
    /// <p><code>SYSTEM</code> - On-demand backup automatically created by DynamoDB.</p></li>
  187    279   
    /// <li>
  188    280   
    /// <p><code>ALL</code> - All types of on-demand backups (USER and SYSTEM).</p></li>
  189    281   
    /// </ul>
         282  +
    /* BuilderGenerator.kt:336 */
  190    283   
    pub fn get_backup_type(&self) -> &::std::option::Option<crate::types::BackupTypeFilter> {
         284  +
        /* BuilderGenerator.kt:337 */
  191    285   
        &self.backup_type
         286  +
        /* BuilderGenerator.kt:336 */
  192    287   
    }
  193         -
    /// Consumes the builder and constructs a [`ListBackupsInput`](crate::operation::list_backups::ListBackupsInput).
         288  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`ListBackupsInput`](crate::operation::list_backups::ListBackupsInput).
         289  +
    /* BuilderGenerator.kt:253 */
  194    290   
    pub fn build(self) -> ::std::result::Result<crate::operation::list_backups::ListBackupsInput, ::aws_smithy_types::error::operation::BuildError> {
  195         -
        ::std::result::Result::Ok(crate::operation::list_backups::ListBackupsInput {
  196         -
            table_name: self.table_name,
         291  +
        /* BuilderGenerator.kt:254 */
         292  +
        ::std::result::Result::Ok(
         293  +
            /* BuilderGenerator.kt:477 */
         294  +
            crate::operation::list_backups::ListBackupsInput {
         295  +
                /* BuilderGenerator.kt:481 */ table_name: self.table_name,
         296  +
                /* BuilderGenerator.kt:481 */
  197    297   
                limit: self.limit,
         298  +
                /* BuilderGenerator.kt:481 */
  198    299   
                time_range_lower_bound: self.time_range_lower_bound,
         300  +
                /* BuilderGenerator.kt:481 */
  199    301   
                time_range_upper_bound: self.time_range_upper_bound,
         302  +
                /* BuilderGenerator.kt:481 */
  200    303   
                exclusive_start_backup_arn: self.exclusive_start_backup_arn,
         304  +
                /* BuilderGenerator.kt:481 */
  201    305   
                backup_type: self.backup_type,
  202         -
        })
         306  +
                /* BuilderGenerator.kt:477 */
         307  +
            }, /* BuilderGenerator.kt:254 */
         308  +
        )
         309  +
        /* BuilderGenerator.kt:253 */
  203    310   
    }
         311  +
    /* BuilderGenerator.kt:355 */
  204    312   
}

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

@@ -1,1 +89,142 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* StructureGenerator.kt:197 */
    2      3   
#[allow(missing_docs)] // documentation missing in model
           4  +
/* RustType.kt:516 */
    3      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    4      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5         -
pub struct ListBackupsOutput {
    6         -
    /// <p>List of <code>BackupSummary</code> objects.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct ListBackupsOutput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>List of <code>BackupSummary</code> objects.</p>
    7     10   
    pub backup_summaries: ::std::option::Option<::std::vec::Vec<crate::types::BackupSummary>>,
    8         -
    /// <p>The ARN of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>The ARN of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
    9     12   
    /// <p>If <code>LastEvaluatedBackupArn</code> is empty, then the last page of results has been processed and there are no more results to be retrieved.</p>
   10     13   
    /// <p>If <code>LastEvaluatedBackupArn</code> is not empty, this may or may not indicate that there is more data to be returned. All results are guaranteed to have been returned if and only if no value for <code>LastEvaluatedBackupArn</code> is returned.</p>
   11     14   
    pub last_evaluated_backup_arn: ::std::option::Option<::std::string::String>,
          15  +
    /* StructureGenerator.kt:201 */
   12     16   
}
          17  +
/* StructureGenerator.kt:135 */
   13     18   
impl ListBackupsOutput {
   14         -
    /// <p>List of <code>BackupSummary</code> objects.</p>
   15         -
    ///
   16         -
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.backup_summaries.is_none()`.
          19  +
    /// /* StructureGenerator.kt:231 */<p>List of <code>BackupSummary</code> objects.</p>
          20  +
    /// /* StructureGenerator.kt:162 */
          21  +
    /// /* 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 `.backup_summaries.is_none()`.
          22  +
    /* StructureGenerator.kt:166 */
   17     23   
    pub fn backup_summaries(&self) -> &[crate::types::BackupSummary] {
   18         -
        self.backup_summaries.as_deref().unwrap_or_default()
          24  +
        /* StructureGenerator.kt:169 */
          25  +
        self.backup_summaries
          26  +
            .as_deref()
          27  +
            /* StructureGenerator.kt:175 */
          28  +
            .unwrap_or_default()
          29  +
        /* StructureGenerator.kt:166 */
   19     30   
    }
   20         -
    /// <p>The ARN of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
          31  +
    /// /* StructureGenerator.kt:231 */<p>The ARN of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
   21     32   
    /// <p>If <code>LastEvaluatedBackupArn</code> is empty, then the last page of results has been processed and there are no more results to be retrieved.</p>
   22     33   
    /// <p>If <code>LastEvaluatedBackupArn</code> is not empty, this may or may not indicate that there is more data to be returned. All results are guaranteed to have been returned if and only if no value for <code>LastEvaluatedBackupArn</code> is returned.</p>
          34  +
    /* StructureGenerator.kt:166 */
   23     35   
    pub fn last_evaluated_backup_arn(&self) -> ::std::option::Option<&str> {
          36  +
        /* StructureGenerator.kt:169 */
   24     37   
        self.last_evaluated_backup_arn.as_deref()
          38  +
        /* StructureGenerator.kt:166 */
   25     39   
    }
          40  +
    /* StructureGenerator.kt:135 */
   26     41   
}
          42  +
/* ClientCodegenVisitor.kt:237 */
   27     43   
impl ListBackupsOutput {
   28         -
    /// Creates a new builder-style object to manufacture [`ListBackupsOutput`](crate::operation::list_backups::ListBackupsOutput).
          44  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`ListBackupsOutput`](crate::operation::list_backups::ListBackupsOutput).
          45  +
    /* BuilderGenerator.kt:175 */
   29     46   
    pub fn builder() -> crate::operation::list_backups::builders::ListBackupsOutputBuilder {
          47  +
        /* BuilderGenerator.kt:176 */
   30     48   
        crate::operation::list_backups::builders::ListBackupsOutputBuilder::default()
          49  +
        /* BuilderGenerator.kt:175 */
   31     50   
    }
          51  +
    /* ClientCodegenVisitor.kt:237 */
   32     52   
}
   33     53   
   34         -
/// A builder for [`ListBackupsOutput`](crate::operation::list_backups::ListBackupsOutput).
          54  +
/// /* BuilderGenerator.kt:342 */A builder for [`ListBackupsOutput`](crate::operation::list_backups::ListBackupsOutput).
          55  +
/* RustType.kt:516 */
   35     56   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          57  +
/* RustType.kt:516 */
   36     58   
#[non_exhaustive]
          59  +
/* BuilderGenerator.kt:345 */
   37     60   
pub struct ListBackupsOutputBuilder {
   38         -
    pub(crate) backup_summaries: ::std::option::Option<::std::vec::Vec<crate::types::BackupSummary>>,
          61  +
    /* BuilderGenerator.kt:275 */ pub(crate) backup_summaries: ::std::option::Option<::std::vec::Vec<crate::types::BackupSummary>>,
          62  +
    /* BuilderGenerator.kt:275 */
   39     63   
    pub(crate) last_evaluated_backup_arn: ::std::option::Option<::std::string::String>,
          64  +
    /* BuilderGenerator.kt:345 */
   40     65   
}
          66  +
/* BuilderGenerator.kt:355 */
   41     67   
impl ListBackupsOutputBuilder {
   42         -
    /// Appends an item to `backup_summaries`.
          68  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `backup_summaries`.
          69  +
    /* BuilderGenerator.kt:411 */
   43     70   
    ///
   44         -
    /// To override the contents of this collection use [`set_backup_summaries`](Self::set_backup_summaries).
          71  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_backup_summaries`](Self::set_backup_summaries).
          72  +
    /* BuilderGenerator.kt:413 */
   45     73   
    ///
   46         -
    /// <p>List of <code>BackupSummary</code> objects.</p>
          74  +
    /// /* BuilderGenerator.kt:414 */<p>List of <code>BackupSummary</code> objects.</p>
          75  +
    /* BuilderGenerator.kt:418 */
   47     76   
    pub fn backup_summaries(mut self, input: crate::types::BackupSummary) -> Self {
          77  +
        /* BuilderGenerator.kt:419 */
   48     78   
        let mut v = self.backup_summaries.unwrap_or_default();
   49     79   
        v.push(input);
   50     80   
        self.backup_summaries = ::std::option::Option::Some(v);
   51     81   
        self
          82  +
        /* BuilderGenerator.kt:418 */
   52     83   
    }
   53         -
    /// <p>List of <code>BackupSummary</code> objects.</p>
          84  +
    /// /* BuilderGenerator.kt:312 */<p>List of <code>BackupSummary</code> objects.</p>
          85  +
    /* BuilderGenerator.kt:314 */
   54     86   
    pub fn set_backup_summaries(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::BackupSummary>>) -> Self {
          87  +
        /* BuilderGenerator.kt:315 */
   55     88   
        self.backup_summaries = input;
   56     89   
        self
          90  +
        /* BuilderGenerator.kt:314 */
   57     91   
    }
   58         -
    /// <p>List of <code>BackupSummary</code> objects.</p>
          92  +
    /// /* BuilderGenerator.kt:334 */<p>List of <code>BackupSummary</code> objects.</p>
          93  +
    /* BuilderGenerator.kt:336 */
   59     94   
    pub fn get_backup_summaries(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::BackupSummary>> {
          95  +
        /* BuilderGenerator.kt:337 */
   60     96   
        &self.backup_summaries
          97  +
        /* BuilderGenerator.kt:336 */
   61     98   
    }
   62         -
    /// <p>The ARN of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
          99  +
    /// /* BuilderGenerator.kt:286 */<p>The ARN of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
   63    100   
    /// <p>If <code>LastEvaluatedBackupArn</code> is empty, then the last page of results has been processed and there are no more results to be retrieved.</p>
   64    101   
    /// <p>If <code>LastEvaluatedBackupArn</code> is not empty, this may or may not indicate that there is more data to be returned. All results are guaranteed to have been returned if and only if no value for <code>LastEvaluatedBackupArn</code> is returned.</p>
         102  +
    /* BuilderGenerator.kt:291 */
   65    103   
    pub fn last_evaluated_backup_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         104  +
        /* BuilderGenerator.kt:292 */
   66    105   
        self.last_evaluated_backup_arn = ::std::option::Option::Some(input.into());
         106  +
        /* BuilderGenerator.kt:293 */
   67    107   
        self
         108  +
        /* BuilderGenerator.kt:291 */
   68    109   
    }
   69         -
    /// <p>The ARN of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
         110  +
    /// /* BuilderGenerator.kt:312 */<p>The ARN of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
   70    111   
    /// <p>If <code>LastEvaluatedBackupArn</code> is empty, then the last page of results has been processed and there are no more results to be retrieved.</p>
   71    112   
    /// <p>If <code>LastEvaluatedBackupArn</code> is not empty, this may or may not indicate that there is more data to be returned. All results are guaranteed to have been returned if and only if no value for <code>LastEvaluatedBackupArn</code> is returned.</p>
         113  +
    /* BuilderGenerator.kt:314 */
   72    114   
    pub fn set_last_evaluated_backup_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         115  +
        /* BuilderGenerator.kt:315 */
   73    116   
        self.last_evaluated_backup_arn = input;
   74    117   
        self
         118  +
        /* BuilderGenerator.kt:314 */
   75    119   
    }
   76         -
    /// <p>The ARN of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
         120  +
    /// /* BuilderGenerator.kt:334 */<p>The ARN of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
   77    121   
    /// <p>If <code>LastEvaluatedBackupArn</code> is empty, then the last page of results has been processed and there are no more results to be retrieved.</p>
   78    122   
    /// <p>If <code>LastEvaluatedBackupArn</code> is not empty, this may or may not indicate that there is more data to be returned. All results are guaranteed to have been returned if and only if no value for <code>LastEvaluatedBackupArn</code> is returned.</p>
         123  +
    /* BuilderGenerator.kt:336 */
   79    124   
    pub fn get_last_evaluated_backup_arn(&self) -> &::std::option::Option<::std::string::String> {
         125  +
        /* BuilderGenerator.kt:337 */
   80    126   
        &self.last_evaluated_backup_arn
         127  +
        /* BuilderGenerator.kt:336 */
   81    128   
    }
   82         -
    /// Consumes the builder and constructs a [`ListBackupsOutput`](crate::operation::list_backups::ListBackupsOutput).
         129  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`ListBackupsOutput`](crate::operation::list_backups::ListBackupsOutput).
         130  +
    /* BuilderGenerator.kt:253 */
   83    131   
    pub fn build(self) -> crate::operation::list_backups::ListBackupsOutput {
         132  +
        /* BuilderGenerator.kt:477 */
   84    133   
        crate::operation::list_backups::ListBackupsOutput {
   85         -
            backup_summaries: self.backup_summaries,
         134  +
            /* BuilderGenerator.kt:481 */ backup_summaries: self.backup_summaries,
         135  +
            /* BuilderGenerator.kt:481 */
   86    136   
            last_evaluated_backup_arn: self.last_evaluated_backup_arn,
         137  +
            /* BuilderGenerator.kt:477 */
   87    138   
        }
         139  +
        /* BuilderGenerator.kt:253 */
   88    140   
    }
         141  +
    /* BuilderGenerator.kt:355 */
   89    142   
}

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

@@ -1,1 +224,254 @@
    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::list_backups::_list_backups_output::ListBackupsOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::list_backups::_list_backups_input::ListBackupsInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::list_backups::builders::ListBackupsInputBuilder {
    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::list_backups::ListBackupsOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::list_backups::ListBackupsError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.list_backups();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `ListBackups`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `ListBackups`.
   24     27   
///
   25         -
/// <p>List backups associated with an AWS account. To list backups for a given table, specify <code>TableName</code>. <code>ListBackups</code> returns a paginated list of results with at most 1 MB worth of items in a page. You can also specify a maximum number of entries to be returned in a page.</p>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p>List backups associated with an AWS account. To list backups for a given table, specify <code>TableName</code>. <code>ListBackups</code> returns a paginated list of results with at most 1 MB worth of items in a page. You can also specify a maximum number of entries to be returned in a page.</p>
   26     29   
/// <p>In the request, start time is inclusive, but end time is exclusive. Note that these boundaries are for the time at which the original backup was requested.</p>
   27     30   
/// <p>You can call <code>ListBackups</code> a maximum of five times per second.</p>
          31  +
/* RustType.kt:516 */
   28     32   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          33  +
/* FluentBuilderGenerator.kt:270 */
   29     34   
pub struct ListBackupsFluentBuilder {
   30     35   
    handle: ::std::sync::Arc<crate::client::Handle>,
   31     36   
    inner: crate::operation::list_backups::builders::ListBackupsInputBuilder,
   32     37   
    config_override: ::std::option::Option<crate::config::Builder>,
   33     38   
}
          39  +
/* FluentBuilderGenerator.kt:381 */
   34     40   
impl
   35     41   
    crate::client::customize::internal::CustomizableSend<
   36     42   
        crate::operation::list_backups::ListBackupsOutput,
   37     43   
        crate::operation::list_backups::ListBackupsError,
   38     44   
    > for ListBackupsFluentBuilder
   39     45   
{
   40     46   
    fn send(
   41     47   
        self,
   42     48   
        config_override: crate::config::Builder,
   43     49   
    ) -> crate::client::customize::internal::BoxFuture<
   44     50   
        crate::client::customize::internal::SendResult<
   45     51   
            crate::operation::list_backups::ListBackupsOutput,
   46     52   
            crate::operation::list_backups::ListBackupsError,
   47     53   
        >,
   48     54   
    > {
   49     55   
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
   50     56   
    }
   51     57   
}
          58  +
/* FluentBuilderGenerator.kt:282 */
   52     59   
impl ListBackupsFluentBuilder {
          60  +
    /* FluentBuilderGenerator.kt:288 */
   53     61   
    /// Creates a new `ListBackupsFluentBuilder`.
   54     62   
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
   55     63   
        Self {
   56     64   
            handle,
   57     65   
            inner: ::std::default::Default::default(),
   58     66   
            config_override: ::std::option::Option::None,
   59     67   
        }
   60     68   
    }
          69  +
    /* FluentBuilderGenerator.kt:301 */
   61     70   
    /// Access the ListBackups as a reference.
   62     71   
    pub fn as_input(&self) -> &crate::operation::list_backups::builders::ListBackupsInputBuilder {
   63     72   
        &self.inner
   64     73   
    }
          74  +
    /* FluentBuilderGenerator.kt:145 */
   65     75   
    /// Sends the request and returns the response.
   66     76   
    ///
   67     77   
    /// If an error occurs, an `SdkError` will be returned with additional details that
   68     78   
    /// can be matched against.
   69     79   
    ///
   70     80   
    /// By default, any retryable failures will be retried twice. Retry behavior
   71     81   
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
   72     82   
    /// set when configuring the client.
   73     83   
    pub async fn send(
   74     84   
        self,
   75     85   
    ) -> ::std::result::Result<
   76     86   
        crate::operation::list_backups::ListBackupsOutput,
   77     87   
        ::aws_smithy_runtime_api::client::result::SdkError<
   78     88   
            crate::operation::list_backups::ListBackupsError,
   79     89   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   80     90   
        >,
   81     91   
    > {
   82     92   
        let input = self
   83     93   
            .inner
   84     94   
            .build()
   85     95   
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
   86     96   
        let runtime_plugins = crate::operation::list_backups::ListBackups::operation_runtime_plugins(
   87     97   
            self.handle.runtime_plugins.clone(),
   88     98   
            &self.handle.conf,
   89     99   
            self.config_override,
   90    100   
        );
   91    101   
        crate::operation::list_backups::ListBackups::orchestrate(&runtime_plugins, input).await
   92    102   
    }
   93    103   
   94    104   
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
   95    105   
    pub fn customize(
   96    106   
        self,
   97    107   
    ) -> crate::client::customize::CustomizableOperation<
   98    108   
        crate::operation::list_backups::ListBackupsOutput,
   99    109   
        crate::operation::list_backups::ListBackupsError,
  100    110   
        Self,
  101    111   
    > {
  102    112   
        crate::client::customize::CustomizableOperation::new(self)
  103    113   
    }
         114  +
    /* FluentBuilderGenerator.kt:315 */
  104    115   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
  105    116   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
  106    117   
        self
  107    118   
    }
  108    119   
  109    120   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  110    121   
        self.config_override = config_override;
  111    122   
        self
  112    123   
    }
  113         -
    /// <p>The backups from the table specified by <code>TableName</code> are listed.</p>
         124  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The backups from the table specified by <code>TableName</code> are listed.</p>
         125  +
    /* FluentBuilderGenerator.kt:500 */
  114    126   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  115    127   
        self.inner = self.inner.table_name(input.into());
  116    128   
        self
  117    129   
    }
  118         -
    /// <p>The backups from the table specified by <code>TableName</code> are listed.</p>
         130  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The backups from the table specified by <code>TableName</code> are listed.</p>
         131  +
    /* FluentBuilderGenerator.kt:500 */
  119    132   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  120    133   
        self.inner = self.inner.set_table_name(input);
  121    134   
        self
  122    135   
    }
  123         -
    /// <p>The backups from the table specified by <code>TableName</code> are listed.</p>
         136  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The backups from the table specified by <code>TableName</code> are listed.</p>
         137  +
    /* FluentBuilderGenerator.kt:520 */
  124    138   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
  125    139   
        self.inner.get_table_name()
  126    140   
    }
  127         -
    /// <p>Maximum number of backups to return at once.</p>
         141  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Maximum number of backups to return at once.</p>
         142  +
    /* FluentBuilderGenerator.kt:500 */
  128    143   
    pub fn limit(mut self, input: i32) -> Self {
  129    144   
        self.inner = self.inner.limit(input);
  130    145   
        self
  131    146   
    }
  132         -
    /// <p>Maximum number of backups to return at once.</p>
         147  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Maximum number of backups to return at once.</p>
         148  +
    /* FluentBuilderGenerator.kt:500 */
  133    149   
    pub fn set_limit(mut self, input: ::std::option::Option<i32>) -> Self {
  134    150   
        self.inner = self.inner.set_limit(input);
  135    151   
        self
  136    152   
    }
  137         -
    /// <p>Maximum number of backups to return at once.</p>
         153  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Maximum number of backups to return at once.</p>
         154  +
    /* FluentBuilderGenerator.kt:520 */
  138    155   
    pub fn get_limit(&self) -> &::std::option::Option<i32> {
  139    156   
        self.inner.get_limit()
  140    157   
    }
  141         -
    /// <p>Only backups created after this time are listed. <code>TimeRangeLowerBound</code> is inclusive.</p>
         158  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Only backups created after this time are listed. <code>TimeRangeLowerBound</code> is inclusive.</p>
         159  +
    /* FluentBuilderGenerator.kt:500 */
  142    160   
    pub fn time_range_lower_bound(mut self, input: ::aws_smithy_types::DateTime) -> Self {
  143    161   
        self.inner = self.inner.time_range_lower_bound(input);
  144    162   
        self
  145    163   
    }
  146         -
    /// <p>Only backups created after this time are listed. <code>TimeRangeLowerBound</code> is inclusive.</p>
         164  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Only backups created after this time are listed. <code>TimeRangeLowerBound</code> is inclusive.</p>
         165  +
    /* FluentBuilderGenerator.kt:500 */
  147    166   
    pub fn set_time_range_lower_bound(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
  148    167   
        self.inner = self.inner.set_time_range_lower_bound(input);
  149    168   
        self
  150    169   
    }
  151         -
    /// <p>Only backups created after this time are listed. <code>TimeRangeLowerBound</code> is inclusive.</p>
         170  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Only backups created after this time are listed. <code>TimeRangeLowerBound</code> is inclusive.</p>
         171  +
    /* FluentBuilderGenerator.kt:520 */
  152    172   
    pub fn get_time_range_lower_bound(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
  153    173   
        self.inner.get_time_range_lower_bound()
  154    174   
    }
  155         -
    /// <p>Only backups created before this time are listed. <code>TimeRangeUpperBound</code> is exclusive.</p>
         175  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Only backups created before this time are listed. <code>TimeRangeUpperBound</code> is exclusive.</p>
         176  +
    /* FluentBuilderGenerator.kt:500 */
  156    177   
    pub fn time_range_upper_bound(mut self, input: ::aws_smithy_types::DateTime) -> Self {
  157    178   
        self.inner = self.inner.time_range_upper_bound(input);
  158    179   
        self
  159    180   
    }
  160         -
    /// <p>Only backups created before this time are listed. <code>TimeRangeUpperBound</code> is exclusive.</p>
         181  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Only backups created before this time are listed. <code>TimeRangeUpperBound</code> is exclusive.</p>
         182  +
    /* FluentBuilderGenerator.kt:500 */
  161    183   
    pub fn set_time_range_upper_bound(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
  162    184   
        self.inner = self.inner.set_time_range_upper_bound(input);
  163    185   
        self
  164    186   
    }
  165         -
    /// <p>Only backups created before this time are listed. <code>TimeRangeUpperBound</code> is exclusive.</p>
         187  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Only backups created before this time are listed. <code>TimeRangeUpperBound</code> is exclusive.</p>
         188  +
    /* FluentBuilderGenerator.kt:520 */
  166    189   
    pub fn get_time_range_upper_bound(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
  167    190   
        self.inner.get_time_range_upper_bound()
  168    191   
    }
  169         -
    /// <p><code>LastEvaluatedBackupArn</code> is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
         192  +
    /// /* FluentBuilderGenerator.kt:498 */<p><code>LastEvaluatedBackupArn</code> is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
         193  +
    /* FluentBuilderGenerator.kt:500 */
  170    194   
    pub fn exclusive_start_backup_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  171    195   
        self.inner = self.inner.exclusive_start_backup_arn(input.into());
  172    196   
        self
  173    197   
    }
  174         -
    /// <p><code>LastEvaluatedBackupArn</code> is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
         198  +
    /// /* FluentBuilderGenerator.kt:498 */<p><code>LastEvaluatedBackupArn</code> is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
         199  +
    /* FluentBuilderGenerator.kt:500 */
  175    200   
    pub fn set_exclusive_start_backup_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  176    201   
        self.inner = self.inner.set_exclusive_start_backup_arn(input);
  177    202   
        self
  178    203   
    }
  179         -
    /// <p><code>LastEvaluatedBackupArn</code> is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
         204  +
    /// /* FluentBuilderGenerator.kt:518 */<p><code>LastEvaluatedBackupArn</code> is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the <code>ExclusiveStartBackupArn</code> of a new <code>ListBackups</code> operation in order to fetch the next page of results.</p>
         205  +
    /* FluentBuilderGenerator.kt:520 */
  180    206   
    pub fn get_exclusive_start_backup_arn(&self) -> &::std::option::Option<::std::string::String> {
  181    207   
        self.inner.get_exclusive_start_backup_arn()
  182    208   
    }
  183         -
    /// <p>The backups from the table specified by <code>BackupType</code> are listed.</p>
         209  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The backups from the table specified by <code>BackupType</code> are listed.</p>
  184    210   
    /// <p>Where <code>BackupType</code> can be:</p>
  185    211   
    /// <ul>
  186    212   
    /// <li>
  187    213   
    /// <p><code>USER</code> - On-demand backup created by you.</p></li>
  188    214   
    /// <li>
  189    215   
    /// <p><code>SYSTEM</code> - On-demand backup automatically created by DynamoDB.</p></li>
  190    216   
    /// <li>
  191    217   
    /// <p><code>ALL</code> - All types of on-demand backups (USER and SYSTEM).</p></li>
  192    218   
    /// </ul>
         219  +
    /* FluentBuilderGenerator.kt:500 */
  193    220   
    pub fn backup_type(mut self, input: crate::types::BackupTypeFilter) -> Self {
  194    221   
        self.inner = self.inner.backup_type(input);
  195    222   
        self
  196    223   
    }
  197         -
    /// <p>The backups from the table specified by <code>BackupType</code> are listed.</p>
         224  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The backups from the table specified by <code>BackupType</code> are listed.</p>
  198    225   
    /// <p>Where <code>BackupType</code> can be:</p>
  199    226   
    /// <ul>
  200    227   
    /// <li>
  201    228   
    /// <p><code>USER</code> - On-demand backup created by you.</p></li>
  202    229   
    /// <li>
  203    230   
    /// <p><code>SYSTEM</code> - On-demand backup automatically created by DynamoDB.</p></li>
  204    231   
    /// <li>
  205    232   
    /// <p><code>ALL</code> - All types of on-demand backups (USER and SYSTEM).</p></li>
  206    233   
    /// </ul>
         234  +
    /* FluentBuilderGenerator.kt:500 */
  207    235   
    pub fn set_backup_type(mut self, input: ::std::option::Option<crate::types::BackupTypeFilter>) -> Self {
  208    236   
        self.inner = self.inner.set_backup_type(input);
  209    237   
        self
  210    238   
    }
  211         -
    /// <p>The backups from the table specified by <code>BackupType</code> are listed.</p>
         239  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The backups from the table specified by <code>BackupType</code> are listed.</p>
  212    240   
    /// <p>Where <code>BackupType</code> can be:</p>
  213    241   
    /// <ul>
  214    242   
    /// <li>
  215    243   
    /// <p><code>USER</code> - On-demand backup created by you.</p></li>
  216    244   
    /// <li>
  217    245   
    /// <p><code>SYSTEM</code> - On-demand backup automatically created by DynamoDB.</p></li>
  218    246   
    /// <li>
  219    247   
    /// <p><code>ALL</code> - All types of on-demand backups (USER and SYSTEM).</p></li>
  220    248   
    /// </ul>
         249  +
    /* FluentBuilderGenerator.kt:520 */
  221    250   
    pub fn get_backup_type(&self) -> &::std::option::Option<crate::types::BackupTypeFilter> {
  222    251   
        self.inner.get_backup_type()
  223    252   
    }
         253  +
    /* FluentBuilderGenerator.kt:282 */
  224    254   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/operation/list_contributor_insights.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 `ListContributorInsights`.
           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 ListContributorInsights;
          10  +
/* OperationGenerator.kt:85 */
    6     11   
impl ListContributorInsights {
    7         -
    /// Creates a new `ListContributorInsights`
          12  +
    /// /* OperationGenerator.kt:86 */Creates a new `ListContributorInsights`
          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::list_contributor_insights::ListContributorInsightsInput,
   14     23   
    ) -> ::std::result::Result<
   15     24   
        crate::operation::list_contributor_insights::ListContributorInsightsOutput,
   16     25   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     26   
            crate::operation::list_contributor_insights::ListContributorInsightsError,
   18     27   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     28   
        >,
   20     29   
    > {
@@ -57,66 +359,478 @@
   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 ListContributorInsights {
   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("ListContributorInsights");
   91    102   
   92    103   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
   93    104   
            ListContributorInsightsRequestSerializer,
   94    105   
        ));
   95    106   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
   96    107   
            ListContributorInsightsResponseDeserializer,
   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(
  104    115   
            "ListContributorInsights",
  105    116   
            "DynamoDB",
  106    117   
        ));
  107    118   
  108    119   
        ::std::option::Option::Some(cfg.freeze())
  109    120   
    }
  110    121   
  111    122   
    fn runtime_components(
  112    123   
        &self,
  113    124   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
  114    125   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
  115    126   
        #[allow(unused_mut)]
  116    127   
        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("ListContributorInsights")
  117    128   
            .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default())
  118    129   
            .with_interceptor(ListContributorInsightsEndpointParamsInterceptor)
  119    130   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
  120    131   
                crate::operation::list_contributor_insights::ListContributorInsightsError,
  121    132   
            >::new())
  122    133   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
  123    134   
                crate::operation::list_contributor_insights::ListContributorInsightsError,
  124    135   
            >::new());
  125    136   
  126    137   
        ::std::borrow::Cow::Owned(rcb)
  127    138   
    }
  128    139   
}
  129    140   
         141  +
/* ResponseDeserializerGenerator.kt:64 */
  130    142   
#[derive(Debug)]
  131    143   
struct ListContributorInsightsResponseDeserializer;
  132    144   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for ListContributorInsightsResponseDeserializer {
  133    145   
    fn deserialize_nonstreaming(
  134    146   
        &self,
  135    147   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  136    148   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  137    149   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  138    150   
        let headers = response.headers();
  139    151   
        let body = response.body().bytes().expect("body loaded");
  140    152   
        #[allow(unused_mut)]
  141    153   
        let mut force_error = false;
  142    154   
  143    155   
        let parse_result = if !success && status != 200 || force_error {
  144    156   
            crate::protocol_serde::shape_list_contributor_insights::de_list_contributor_insights_http_error(status, headers, body)
  145    157   
        } else {
  146    158   
            crate::protocol_serde::shape_list_contributor_insights::de_list_contributor_insights_http_response(status, headers, body)
  147    159   
        };
  148    160   
        crate::protocol_serde::type_erase_result(parse_result)
  149    161   
    }
  150    162   
}
         163  +
/* RequestSerializerGenerator.kt:67 */
  151    164   
#[derive(Debug)]
  152    165   
struct ListContributorInsightsRequestSerializer;
  153    166   
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for ListContributorInsightsRequestSerializer {
  154    167   
    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
  155    168   
    fn serialize_input(
  156    169   
        &self,
  157    170   
        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
  158    171   
        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  159    172   
    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
  160    173   
        let input = input
  161    174   
            .downcast::<crate::operation::list_contributor_insights::ListContributorInsightsInput>()
  162    175   
            .expect("correct type");
  163    176   
        let _header_serialization_settings = _cfg
  164    177   
            .load::<crate::serialization_settings::HeaderSerializationSettings>()
  165    178   
            .cloned()
  166    179   
            .unwrap_or_default();
  167    180   
        let mut request_builder = {
  168    181   
            fn uri_base(
  169    182   
                _input: &crate::operation::list_contributor_insights::ListContributorInsightsInput,
  170    183   
                output: &mut ::std::string::String,
  171    184   
            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
  172    185   
                use ::std::fmt::Write as _;
  173    186   
                ::std::write!(output, "/").expect("formatting should succeed");
  174    187   
                ::std::result::Result::Ok(())
  175    188   
            }
  176    189   
            #[allow(clippy::unnecessary_wraps)]
  177    190   
            fn update_http_builder(
  178    191   
                input: &crate::operation::list_contributor_insights::ListContributorInsightsInput,
  179    192   
                builder: ::http::request::Builder,
  180    193   
            ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
  181    194   
                let mut uri = ::std::string::String::new();
  182    195   
                uri_base(input, &mut uri)?;
  183    196   
                ::std::result::Result::Ok(builder.method("POST").uri(uri))
  184    197   
            }
  185    198   
            let mut builder = update_http_builder(&input, ::http::request::Builder::new())?;
  186    199   
            builder = _header_serialization_settings.set_default_header(builder, ::http::header::CONTENT_TYPE, "application/x-amz-json-1.0");
  187    200   
            builder = _header_serialization_settings.set_default_header(
  188    201   
                builder,
  189    202   
                ::http::header::HeaderName::from_static("x-amz-target"),
  190    203   
                "DynamoDB_20120810.ListContributorInsights",
  191    204   
            );
  192    205   
            builder
  193    206   
        };
  194    207   
        let body = ::aws_smithy_types::body::SdkBody::from(
  195    208   
            crate::protocol_serde::shape_list_contributor_insights::ser_list_contributor_insights_input(&input)?,
  196    209   
        );
  197    210   
        if let Some(content_length) = body.content_length() {
  198    211   
            let content_length = content_length.to_string();
  199    212   
            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http::header::CONTENT_LENGTH, &content_length);
  200    213   
        }
  201    214   
        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
  202    215   
    }
  203    216   
}
         217  +
/* EndpointParamsInterceptorGenerator.kt:86 */
  204    218   
#[derive(Debug)]
  205    219   
struct ListContributorInsightsEndpointParamsInterceptor;
  206    220   
  207    221   
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for ListContributorInsightsEndpointParamsInterceptor {
  208    222   
    fn name(&self) -> &'static str {
  209    223   
        "ListContributorInsightsEndpointParamsInterceptor"
  210    224   
    }
  211    225   
  212    226   
    fn read_before_execution(
  213    227   
        &self,
  214    228   
        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
  215    229   
            '_,
  216    230   
            ::aws_smithy_runtime_api::client::interceptors::context::Input,
  217    231   
            ::aws_smithy_runtime_api::client::interceptors::context::Output,
  218    232   
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
  219    233   
        >,
  220    234   
        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  221    235   
    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
  222    236   
        let _input = context
  223    237   
            .input()
  224    238   
            .downcast_ref::<ListContributorInsightsInput>()
  225    239   
            .ok_or("failed to downcast to ListContributorInsightsInput")?;
  226    240   
  227    241   
        let params = crate::config::endpoint::Params::builder().build().map_err(|err| {
  228    242   
            ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  229    243   
        })?;
  230    244   
        cfg.interceptor_state()
  231    245   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  232    246   
        ::std::result::Result::Ok(())
  233    247   
    }
  234    248   
}
  235    249   
  236    250   
// The get_* functions below are generated from JMESPath expressions in the
  237    251   
// operationContextParams trait. They target the operation's input shape.
  238    252   
         253  +
/* OperationErrorGenerator.kt:79 */
  239    254   
/// Error type for the `ListContributorInsightsError` operation.
         255  +
/* RustType.kt:516 */
  240    256   
#[non_exhaustive]
         257  +
/* RustType.kt:516 */
  241    258   
#[derive(::std::fmt::Debug)]
  242         -
pub enum ListContributorInsightsError {
  243         -
    /// <p>An error occurred on the server side.</p>
         259  +
pub /* OperationErrorGenerator.kt:81 */ enum ListContributorInsightsError {
         260  +
    /// /* OperationErrorGenerator.kt:83 */<p>An error occurred on the server side.</p>
         261  +
    /* OperationErrorGenerator.kt:86 */
  244    262   
    InternalServerError(crate::types::error::InternalServerError),
  245         -
    /// <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>
         263  +
    /// /* 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>
         264  +
    /* OperationErrorGenerator.kt:86 */
  246    265   
    ResourceNotFoundError(crate::types::error::ResourceNotFoundError),
         266  +
    /* OperationErrorGenerator.kt:88 */
  247    267   
    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
  248    268   
    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
  249    269   
    variable wildcard pattern and check `.code()`:
  250    270   
     \
  251    271   
    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
  252    272   
     \
  253    273   
    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-ListContributorInsightsError) for what information is available for the error.")]
  254    274   
    Unhandled(crate::error::sealed_unhandled::Unhandled),
         275  +
    /* OperationErrorGenerator.kt:81 */
  255    276   
}
         277  +
/* OperationErrorGenerator.kt:218 */
  256    278   
impl ListContributorInsightsError {
         279  +
    /* OperationErrorGenerator.kt:219 */
  257    280   
    /// Creates the `ListContributorInsightsError::Unhandled` variant from any error type.
  258    281   
    pub fn unhandled(
  259    282   
        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
  260    283   
    ) -> Self {
  261    284   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  262    285   
            source: err.into(),
  263    286   
            meta: ::std::default::Default::default(),
  264    287   
        })
  265    288   
    }
  266    289   
  267    290   
    /// Creates the `ListContributorInsightsError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
  268    291   
    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
  269    292   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  270    293   
            source: err.clone().into(),
  271    294   
            meta: err,
  272    295   
        })
  273    296   
    }
  274         -
    ///
         297  +
    /// /* OperationErrorGenerator.kt:236 */
  275    298   
    /// Returns error metadata, which includes the error code, message,
  276    299   
    /// request ID, and potentially additional information.
  277    300   
    ///
         301  +
    /* OperationErrorGenerator.kt:242 */
  278    302   
    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         303  +
        /* OperationErrorGenerator.kt:243 */
  279    304   
        match self {
         305  +
            /* OperationErrorGenerator.kt:246 */
  280    306   
            Self::InternalServerError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         307  +
            /* OperationErrorGenerator.kt:246 */
  281    308   
            Self::ResourceNotFoundError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
  282         -
            Self::Unhandled(e) => &e.meta,
         309  +
            /* OperationErrorGenerator.kt:251 */ Self::Unhandled(e) => &e.meta,
         310  +
            /* OperationErrorGenerator.kt:243 */
  283    311   
        }
         312  +
        /* OperationErrorGenerator.kt:242 */
  284    313   
    }
         314  +
    /* OperationErrorGenerator.kt:257 */
  285    315   
    /// Returns `true` if the error kind is `ListContributorInsightsError::InternalServerError`.
         316  +
    /* OperationErrorGenerator.kt:258 */
  286    317   
    pub fn is_internal_server_error(&self) -> bool {
         318  +
        /* OperationErrorGenerator.kt:259 */
  287    319   
        matches!(self, Self::InternalServerError(_))
         320  +
        /* OperationErrorGenerator.kt:258 */
  288    321   
    }
         322  +
    /* OperationErrorGenerator.kt:257 */
  289    323   
    /// Returns `true` if the error kind is `ListContributorInsightsError::ResourceNotFoundError`.
         324  +
    /* OperationErrorGenerator.kt:258 */
  290    325   
    pub fn is_resource_not_found_error(&self) -> bool {
         326  +
        /* OperationErrorGenerator.kt:259 */
  291    327   
        matches!(self, Self::ResourceNotFoundError(_))
         328  +
        /* OperationErrorGenerator.kt:258 */
  292    329   
    }
         330  +
    /* OperationErrorGenerator.kt:218 */
  293    331   
}
         332  +
/* OperationErrorGenerator.kt:269 */
  294    333   
impl ::std::error::Error for ListContributorInsightsError {
         334  +
    /* OperationErrorGenerator.kt:270 */
  295    335   
    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
         336  +
        /* OperationErrorGenerator.kt:318 */
  296    337   
        match self {
  297         -
            Self::InternalServerError(_inner) => ::std::option::Option::Some(_inner),
  298         -
            Self::ResourceNotFoundError(_inner) => ::std::option::Option::Some(_inner),
  299         -
            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
         338  +
            /* OperationErrorGenerator.kt:321 */
         339  +
            Self::InternalServerError(_inner) =>
         340  +
            /* OperationErrorGenerator.kt:283 */
         341  +
            {
         342  +
                ::std::option::Option::Some(_inner)
         343  +
            }
         344  +
            ,
         345  +
            /* OperationErrorGenerator.kt:321 */
         346  +
            Self::ResourceNotFoundError(_inner) =>
         347  +
            /* OperationErrorGenerator.kt:283 */
         348  +
            {
         349  +
                ::std::option::Option::Some(_inner)
         350  +
            }
         351  +
            ,
         352  +
            /* OperationErrorGenerator.kt:326 */
         353  +
            Self::Unhandled(_inner) => {
         354  +
                /* OperationErrorGenerator.kt:279 */
         355  +
                ::std::option::Option::Some(&*_inner.source)
         356  +
                /* OperationErrorGenerator.kt:326 */
         357  +
            } /* OperationErrorGenerator.kt:318 */
  300    358   
        }
         359  +
        /* OperationErrorGenerator.kt:270 */
  301    360   
    }
         361  +
    /* OperationErrorGenerator.kt:269 */
  302    362   
}
         363  +
/* OperationErrorGenerator.kt:133 */
  303    364   
impl ::std::fmt::Display for ListContributorInsightsError {
         365  +
    /* OperationErrorGenerator.kt:134 */
  304    366   
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         367  +
        /* OperationErrorGenerator.kt:318 */
  305    368   
        match self {
  306         -
            Self::InternalServerError(_inner) => _inner.fmt(f),
  307         -
            Self::ResourceNotFoundError(_inner) => _inner.fmt(f),
         369  +
            /* OperationErrorGenerator.kt:321 */
         370  +
            Self::InternalServerError(_inner) =>
         371  +
            /* OperationErrorGenerator.kt:151 */
         372  +
            {
         373  +
                _inner.fmt(f)
         374  +
            }
         375  +
            ,
         376  +
            /* OperationErrorGenerator.kt:321 */
         377  +
            Self::ResourceNotFoundError(_inner) =>
         378  +
            /* OperationErrorGenerator.kt:151 */
         379  +
            {
         380  +
                _inner.fmt(f)
         381  +
            }
         382  +
            ,
         383  +
            /* OperationErrorGenerator.kt:326 */
  308    384   
            Self::Unhandled(_inner) => {
         385  +
                /* OperationErrorGenerator.kt:139 */
  309    386   
                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
  310    387   
                    write!(f, "unhandled error ({code})")
  311    388   
                } else {
  312    389   
                    f.write_str("unhandled error")
  313    390   
                }
         391  +
                /* OperationErrorGenerator.kt:326 */
         392  +
            } /* OperationErrorGenerator.kt:318 */
  314    393   
        }
         394  +
        /* OperationErrorGenerator.kt:134 */
  315    395   
    }
  316         -
    }
         396  +
    /* OperationErrorGenerator.kt:133 */
  317    397   
}
         398  +
/* OperationErrorGenerator.kt:182 */
  318    399   
impl ::aws_smithy_types::retry::ProvideErrorKind for ListContributorInsightsError {
         400  +
    /* OperationErrorGenerator.kt:186 */
  319    401   
    fn code(&self) -> ::std::option::Option<&str> {
         402  +
        /* OperationErrorGenerator.kt:187 */
  320    403   
        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
         404  +
        /* OperationErrorGenerator.kt:186 */
  321    405   
    }
         406  +
    /* OperationErrorGenerator.kt:190 */
  322    407   
    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
         408  +
        /* OperationErrorGenerator.kt:197 */
  323    409   
        ::std::option::Option::None
         410  +
        /* OperationErrorGenerator.kt:190 */
  324    411   
    }
         412  +
    /* OperationErrorGenerator.kt:182 */
  325    413   
}
         414  +
/* OperationErrorGenerator.kt:163 */
  326    415   
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for ListContributorInsightsError {
         416  +
    /* OperationErrorGenerator.kt:164 */
  327    417   
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         418  +
        /* OperationErrorGenerator.kt:318 */
  328    419   
        match self {
  329         -
            Self::InternalServerError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  330         -
            Self::ResourceNotFoundError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  331         -
            Self::Unhandled(_inner) => &_inner.meta,
         420  +
            /* OperationErrorGenerator.kt:321 */
         421  +
            Self::InternalServerError(_inner) =>
         422  +
            /* OperationErrorGenerator.kt:169 */
         423  +
            {
         424  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         425  +
            }
         426  +
            ,
         427  +
            /* OperationErrorGenerator.kt:321 */
         428  +
            Self::ResourceNotFoundError(_inner) =>
         429  +
            /* OperationErrorGenerator.kt:169 */
         430  +
            {
         431  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         432  +
            }
         433  +
            ,
         434  +
            /* OperationErrorGenerator.kt:326 */
         435  +
            Self::Unhandled(_inner) => {
         436  +
                /* OperationErrorGenerator.kt:168 */
         437  +
                &_inner.meta
         438  +
                /* OperationErrorGenerator.kt:326 */
         439  +
            } /* OperationErrorGenerator.kt:318 */
  332    440   
        }
         441  +
        /* OperationErrorGenerator.kt:164 */
  333    442   
    }
         443  +
    /* OperationErrorGenerator.kt:163 */
  334    444   
}
         445  +
/* OperationErrorGenerator.kt:109 */
  335    446   
impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for ListContributorInsightsError {
         447  +
    /* OperationErrorGenerator.kt:110 */
  336    448   
    fn create_unhandled_error(
  337    449   
        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
  338    450   
        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
  339    451   
    ) -> Self {
         452  +
        /* OperationErrorGenerator.kt:121 */
  340    453   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  341    454   
            source,
  342    455   
            meta: meta.unwrap_or_default(),
  343    456   
        })
         457  +
        /* OperationErrorGenerator.kt:110 */
  344    458   
    }
         459  +
    /* OperationErrorGenerator.kt:109 */
  345    460   
}
  346    461   
         462  +
/* CodegenDelegator.kt:255 */
  347    463   
pub use crate::operation::list_contributor_insights::_list_contributor_insights_output::ListContributorInsightsOutput;
  348    464   
         465  +
/* CodegenDelegator.kt:255 */
  349    466   
pub use crate::operation::list_contributor_insights::_list_contributor_insights_input::ListContributorInsightsInput;
  350    467   
         468  +
/* RustModule.kt:172 */
  351    469   
mod _list_contributor_insights_input;
  352    470   
         471  +
/* RustModule.kt:172 */
  353    472   
mod _list_contributor_insights_output;
  354    473   
  355         -
/// Builders
         474  +
/// /* CodegenDelegator.kt:51 */Builders
  356    475   
pub mod builders;
  357    476   
  358         -
/// Paginator for this operation
         477  +
/// /* CodegenDelegator.kt:51 */Paginator for this operation
  359    478   
pub mod paginator;