Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943 (ignoring whitespace)

Files changed:

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

@@ -1,1 +226,344 @@
    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 UpdateGlobalTableSettingsInput {
    6         -
    /// <p>The name of the global table</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct UpdateGlobalTableSettingsInput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The name of the global table</p>
    7     10   
    pub global_table_name: ::std::option::Option<::std::string::String>,
    8         -
    /// <p>The billing mode of the global table. If <code>GlobalTableBillingMode</code> is not specified, the global table defaults to <code>PROVISIONED</code> capacity billing mode.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>The billing mode of the global table. If <code>GlobalTableBillingMode</code> is not specified, the global table defaults to <code>PROVISIONED</code> capacity billing mode.</p>
    9     12   
    /// <ul>
   10     13   
    /// <li>
   11     14   
    /// <p><code>PROVISIONED</code> - We recommend using <code>PROVISIONED</code> for predictable workloads. <code>PROVISIONED</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual">Provisioned Mode</a>.</p></li>
   12     15   
    /// <li>
   13     16   
    /// <p><code>PAY_PER_REQUEST</code> - We recommend using <code>PAY_PER_REQUEST</code> for unpredictable workloads. <code>PAY_PER_REQUEST</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand">On-Demand Mode</a>.</p></li>
   14     17   
    /// </ul>
   15     18   
    pub global_table_billing_mode: ::std::option::Option<crate::types::BillingMode>,
   16         -
    /// <p>The maximum number of writes consumed per second before DynamoDB returns a <code>ThrottlingException.</code></p>
          19  +
    /// /* StructureGenerator.kt:231 */<p>The maximum number of writes consumed per second before DynamoDB returns a <code>ThrottlingException.</code></p>
   17     20   
    pub global_table_provisioned_write_capacity_units: ::std::option::Option<i64>,
   18         -
    /// <p>Auto scaling settings for managing provisioned write capacity for the global table.</p>
          21  +
    /// /* StructureGenerator.kt:231 */<p>Auto scaling settings for managing provisioned write capacity for the global table.</p>
   19     22   
    pub global_table_provisioned_write_capacity_auto_scaling_settings_update: ::std::option::Option<crate::types::AutoScalingSettingsUpdate>,
   20         -
    /// <p>Represents the settings of a global secondary index for a global table that will be modified.</p>
          23  +
    /// /* StructureGenerator.kt:231 */<p>Represents the settings of a global secondary index for a global table that will be modified.</p>
   21     24   
    pub global_table_global_secondary_index_settings_update:
   22     25   
        ::std::option::Option<::std::vec::Vec<crate::types::GlobalTableGlobalSecondaryIndexSettingsUpdate>>,
   23         -
    /// <p>Represents the settings for a global table in a Region that will be modified.</p>
          26  +
    /// /* StructureGenerator.kt:231 */<p>Represents the settings for a global table in a Region that will be modified.</p>
   24     27   
    pub replica_settings_update: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaSettingsUpdate>>,
          28  +
    /* StructureGenerator.kt:201 */
   25     29   
}
          30  +
/* StructureGenerator.kt:135 */
   26     31   
impl UpdateGlobalTableSettingsInput {
   27         -
    /// <p>The name of the global table</p>
          32  +
    /// /* StructureGenerator.kt:231 */<p>The name of the global table</p>
          33  +
    /* StructureGenerator.kt:166 */
   28     34   
    pub fn global_table_name(&self) -> ::std::option::Option<&str> {
          35  +
        /* StructureGenerator.kt:169 */
   29     36   
        self.global_table_name.as_deref()
          37  +
        /* StructureGenerator.kt:166 */
   30     38   
    }
   31         -
    /// <p>The billing mode of the global table. If <code>GlobalTableBillingMode</code> is not specified, the global table defaults to <code>PROVISIONED</code> capacity billing mode.</p>
          39  +
    /// /* StructureGenerator.kt:231 */<p>The billing mode of the global table. If <code>GlobalTableBillingMode</code> is not specified, the global table defaults to <code>PROVISIONED</code> capacity billing mode.</p>
   32     40   
    /// <ul>
   33     41   
    /// <li>
   34     42   
    /// <p><code>PROVISIONED</code> - We recommend using <code>PROVISIONED</code> for predictable workloads. <code>PROVISIONED</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual">Provisioned Mode</a>.</p></li>
   35     43   
    /// <li>
   36     44   
    /// <p><code>PAY_PER_REQUEST</code> - We recommend using <code>PAY_PER_REQUEST</code> for unpredictable workloads. <code>PAY_PER_REQUEST</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand">On-Demand Mode</a>.</p></li>
   37     45   
    /// </ul>
          46  +
    /* StructureGenerator.kt:166 */
   38     47   
    pub fn global_table_billing_mode(&self) -> ::std::option::Option<&crate::types::BillingMode> {
          48  +
        /* StructureGenerator.kt:170 */
   39     49   
        self.global_table_billing_mode.as_ref()
          50  +
        /* StructureGenerator.kt:166 */
   40     51   
    }
   41         -
    /// <p>The maximum number of writes consumed per second before DynamoDB returns a <code>ThrottlingException.</code></p>
          52  +
    /// /* StructureGenerator.kt:231 */<p>The maximum number of writes consumed per second before DynamoDB returns a <code>ThrottlingException.</code></p>
          53  +
    /* StructureGenerator.kt:166 */
   42     54   
    pub fn global_table_provisioned_write_capacity_units(&self) -> ::std::option::Option<i64> {
          55  +
        /* StructureGenerator.kt:168 */
   43     56   
        self.global_table_provisioned_write_capacity_units
          57  +
        /* StructureGenerator.kt:166 */
   44     58   
    }
   45         -
    /// <p>Auto scaling settings for managing provisioned write capacity for the global table.</p>
          59  +
    /// /* StructureGenerator.kt:231 */<p>Auto scaling settings for managing provisioned write capacity for the global table.</p>
          60  +
    /* StructureGenerator.kt:166 */
   46     61   
    pub fn global_table_provisioned_write_capacity_auto_scaling_settings_update(
   47     62   
        &self,
   48     63   
    ) -> ::std::option::Option<&crate::types::AutoScalingSettingsUpdate> {
          64  +
        /* StructureGenerator.kt:170 */
   49     65   
        self.global_table_provisioned_write_capacity_auto_scaling_settings_update.as_ref()
          66  +
        /* StructureGenerator.kt:166 */
   50     67   
    }
   51         -
    /// <p>Represents the settings of a global secondary index for a global table that will be modified.</p>
   52         -
    ///
   53         -
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.global_table_global_secondary_index_settings_update.is_none()`.
          68  +
    /// /* StructureGenerator.kt:231 */<p>Represents the settings of a global secondary index for a global table that will be modified.</p>
          69  +
    /// /* StructureGenerator.kt:162 */
          70  +
    /// /* 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 `.global_table_global_secondary_index_settings_update.is_none()`.
          71  +
    /* StructureGenerator.kt:166 */
   54     72   
    pub fn global_table_global_secondary_index_settings_update(&self) -> &[crate::types::GlobalTableGlobalSecondaryIndexSettingsUpdate] {
   55         -
        self.global_table_global_secondary_index_settings_update.as_deref().unwrap_or_default()
          73  +
        /* StructureGenerator.kt:169 */
          74  +
        self.global_table_global_secondary_index_settings_update
          75  +
            .as_deref()
          76  +
            /* StructureGenerator.kt:175 */
          77  +
            .unwrap_or_default()
          78  +
        /* StructureGenerator.kt:166 */
   56     79   
    }
   57         -
    /// <p>Represents the settings for a global table in a Region that will be modified.</p>
   58         -
    ///
   59         -
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.replica_settings_update.is_none()`.
          80  +
    /// /* StructureGenerator.kt:231 */<p>Represents the settings for a global table in a Region that will be modified.</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 `.replica_settings_update.is_none()`.
          83  +
    /* StructureGenerator.kt:166 */
   60     84   
    pub fn replica_settings_update(&self) -> &[crate::types::ReplicaSettingsUpdate] {
   61         -
        self.replica_settings_update.as_deref().unwrap_or_default()
          85  +
        /* StructureGenerator.kt:169 */
          86  +
        self.replica_settings_update
          87  +
            .as_deref()
          88  +
            /* StructureGenerator.kt:175 */
          89  +
            .unwrap_or_default()
          90  +
        /* StructureGenerator.kt:166 */
   62     91   
    }
          92  +
    /* StructureGenerator.kt:135 */
   63     93   
}
          94  +
/* ClientCodegenVisitor.kt:237 */
   64     95   
impl UpdateGlobalTableSettingsInput {
   65         -
    /// Creates a new builder-style object to manufacture [`UpdateGlobalTableSettingsInput`](crate::operation::update_global_table_settings::UpdateGlobalTableSettingsInput).
          96  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`UpdateGlobalTableSettingsInput`](crate::operation::update_global_table_settings::UpdateGlobalTableSettingsInput).
          97  +
    /* BuilderGenerator.kt:175 */
   66     98   
    pub fn builder() -> crate::operation::update_global_table_settings::builders::UpdateGlobalTableSettingsInputBuilder {
          99  +
        /* BuilderGenerator.kt:176 */
   67    100   
        crate::operation::update_global_table_settings::builders::UpdateGlobalTableSettingsInputBuilder::default()
         101  +
        /* BuilderGenerator.kt:175 */
   68    102   
    }
         103  +
    /* ClientCodegenVisitor.kt:237 */
   69    104   
}
   70    105   
   71         -
/// A builder for [`UpdateGlobalTableSettingsInput`](crate::operation::update_global_table_settings::UpdateGlobalTableSettingsInput).
         106  +
/// /* BuilderGenerator.kt:342 */A builder for [`UpdateGlobalTableSettingsInput`](crate::operation::update_global_table_settings::UpdateGlobalTableSettingsInput).
         107  +
/* RustType.kt:516 */
   72    108   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         109  +
/* RustType.kt:516 */
   73    110   
#[non_exhaustive]
         111  +
/* BuilderGenerator.kt:345 */
   74    112   
pub struct UpdateGlobalTableSettingsInputBuilder {
   75         -
    pub(crate) global_table_name: ::std::option::Option<::std::string::String>,
   76         -
    pub(crate) global_table_billing_mode: ::std::option::Option<crate::types::BillingMode>,
   77         -
    pub(crate) global_table_provisioned_write_capacity_units: ::std::option::Option<i64>,
         113  +
    /* BuilderGenerator.kt:275 */ pub(crate) global_table_name: ::std::option::Option<::std::string::String>,
         114  +
    /* BuilderGenerator.kt:275 */ pub(crate) global_table_billing_mode: ::std::option::Option<crate::types::BillingMode>,
         115  +
    /* BuilderGenerator.kt:275 */ pub(crate) global_table_provisioned_write_capacity_units: ::std::option::Option<i64>,
         116  +
    /* BuilderGenerator.kt:275 */
   78    117   
    pub(crate) global_table_provisioned_write_capacity_auto_scaling_settings_update: ::std::option::Option<crate::types::AutoScalingSettingsUpdate>,
         118  +
    /* BuilderGenerator.kt:275 */
   79    119   
    pub(crate) global_table_global_secondary_index_settings_update:
   80    120   
        ::std::option::Option<::std::vec::Vec<crate::types::GlobalTableGlobalSecondaryIndexSettingsUpdate>>,
         121  +
    /* BuilderGenerator.kt:275 */
   81    122   
    pub(crate) replica_settings_update: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaSettingsUpdate>>,
         123  +
    /* BuilderGenerator.kt:345 */
   82    124   
}
         125  +
/* BuilderGenerator.kt:355 */
   83    126   
impl UpdateGlobalTableSettingsInputBuilder {
   84         -
    /// <p>The name of the global table</p>
   85         -
    /// This field is required.
         127  +
    /// /* BuilderGenerator.kt:286 */<p>The name of the global table</p>
         128  +
    /// /* BuilderGenerator.kt:288 */This field is required.
         129  +
    /* BuilderGenerator.kt:291 */
   86    130   
    pub fn global_table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         131  +
        /* BuilderGenerator.kt:292 */
   87    132   
        self.global_table_name = ::std::option::Option::Some(input.into());
         133  +
        /* BuilderGenerator.kt:293 */
   88    134   
        self
         135  +
        /* BuilderGenerator.kt:291 */
   89    136   
    }
   90         -
    /// <p>The name of the global table</p>
         137  +
    /// /* BuilderGenerator.kt:312 */<p>The name of the global table</p>
         138  +
    /* BuilderGenerator.kt:314 */
   91    139   
    pub fn set_global_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         140  +
        /* BuilderGenerator.kt:315 */
   92    141   
        self.global_table_name = input;
   93    142   
        self
         143  +
        /* BuilderGenerator.kt:314 */
   94    144   
    }
   95         -
    /// <p>The name of the global table</p>
         145  +
    /// /* BuilderGenerator.kt:334 */<p>The name of the global table</p>
         146  +
    /* BuilderGenerator.kt:336 */
   96    147   
    pub fn get_global_table_name(&self) -> &::std::option::Option<::std::string::String> {
         148  +
        /* BuilderGenerator.kt:337 */
   97    149   
        &self.global_table_name
         150  +
        /* BuilderGenerator.kt:336 */
   98    151   
    }
   99         -
    /// <p>The billing mode of the global table. If <code>GlobalTableBillingMode</code> is not specified, the global table defaults to <code>PROVISIONED</code> capacity billing mode.</p>
         152  +
    /// /* BuilderGenerator.kt:286 */<p>The billing mode of the global table. If <code>GlobalTableBillingMode</code> is not specified, the global table defaults to <code>PROVISIONED</code> capacity billing mode.</p>
  100    153   
    /// <ul>
  101    154   
    /// <li>
  102    155   
    /// <p><code>PROVISIONED</code> - We recommend using <code>PROVISIONED</code> for predictable workloads. <code>PROVISIONED</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual">Provisioned Mode</a>.</p></li>
  103    156   
    /// <li>
  104    157   
    /// <p><code>PAY_PER_REQUEST</code> - We recommend using <code>PAY_PER_REQUEST</code> for unpredictable workloads. <code>PAY_PER_REQUEST</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand">On-Demand Mode</a>.</p></li>
  105    158   
    /// </ul>
         159  +
    /* BuilderGenerator.kt:291 */
  106    160   
    pub fn global_table_billing_mode(mut self, input: crate::types::BillingMode) -> Self {
         161  +
        /* BuilderGenerator.kt:292 */
  107    162   
        self.global_table_billing_mode = ::std::option::Option::Some(input);
         163  +
        /* BuilderGenerator.kt:293 */
  108    164   
        self
         165  +
        /* BuilderGenerator.kt:291 */
  109    166   
    }
  110         -
    /// <p>The billing mode of the global table. If <code>GlobalTableBillingMode</code> is not specified, the global table defaults to <code>PROVISIONED</code> capacity billing mode.</p>
         167  +
    /// /* BuilderGenerator.kt:312 */<p>The billing mode of the global table. If <code>GlobalTableBillingMode</code> is not specified, the global table defaults to <code>PROVISIONED</code> capacity billing mode.</p>
  111    168   
    /// <ul>
  112    169   
    /// <li>
  113    170   
    /// <p><code>PROVISIONED</code> - We recommend using <code>PROVISIONED</code> for predictable workloads. <code>PROVISIONED</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual">Provisioned Mode</a>.</p></li>
  114    171   
    /// <li>
  115    172   
    /// <p><code>PAY_PER_REQUEST</code> - We recommend using <code>PAY_PER_REQUEST</code> for unpredictable workloads. <code>PAY_PER_REQUEST</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand">On-Demand Mode</a>.</p></li>
  116    173   
    /// </ul>
         174  +
    /* BuilderGenerator.kt:314 */
  117    175   
    pub fn set_global_table_billing_mode(mut self, input: ::std::option::Option<crate::types::BillingMode>) -> Self {
         176  +
        /* BuilderGenerator.kt:315 */
  118    177   
        self.global_table_billing_mode = input;
  119    178   
        self
         179  +
        /* BuilderGenerator.kt:314 */
  120    180   
    }
  121         -
    /// <p>The billing mode of the global table. If <code>GlobalTableBillingMode</code> is not specified, the global table defaults to <code>PROVISIONED</code> capacity billing mode.</p>
         181  +
    /// /* BuilderGenerator.kt:334 */<p>The billing mode of the global table. If <code>GlobalTableBillingMode</code> is not specified, the global table defaults to <code>PROVISIONED</code> capacity billing mode.</p>
  122    182   
    /// <ul>
  123    183   
    /// <li>
  124    184   
    /// <p><code>PROVISIONED</code> - We recommend using <code>PROVISIONED</code> for predictable workloads. <code>PROVISIONED</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual">Provisioned Mode</a>.</p></li>
  125    185   
    /// <li>
  126    186   
    /// <p><code>PAY_PER_REQUEST</code> - We recommend using <code>PAY_PER_REQUEST</code> for unpredictable workloads. <code>PAY_PER_REQUEST</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand">On-Demand Mode</a>.</p></li>
  127    187   
    /// </ul>
         188  +
    /* BuilderGenerator.kt:336 */
  128    189   
    pub fn get_global_table_billing_mode(&self) -> &::std::option::Option<crate::types::BillingMode> {
         190  +
        /* BuilderGenerator.kt:337 */
  129    191   
        &self.global_table_billing_mode
         192  +
        /* BuilderGenerator.kt:336 */
  130    193   
    }
  131         -
    /// <p>The maximum number of writes consumed per second before DynamoDB returns a <code>ThrottlingException.</code></p>
         194  +
    /// /* BuilderGenerator.kt:286 */<p>The maximum number of writes consumed per second before DynamoDB returns a <code>ThrottlingException.</code></p>
         195  +
    /* BuilderGenerator.kt:291 */
  132    196   
    pub fn global_table_provisioned_write_capacity_units(mut self, input: i64) -> Self {
         197  +
        /* BuilderGenerator.kt:292 */
  133    198   
        self.global_table_provisioned_write_capacity_units = ::std::option::Option::Some(input);
         199  +
        /* BuilderGenerator.kt:293 */
  134    200   
        self
         201  +
        /* BuilderGenerator.kt:291 */
  135    202   
    }
  136         -
    /// <p>The maximum number of writes consumed per second before DynamoDB returns a <code>ThrottlingException.</code></p>
         203  +
    /// /* BuilderGenerator.kt:312 */<p>The maximum number of writes consumed per second before DynamoDB returns a <code>ThrottlingException.</code></p>
         204  +
    /* BuilderGenerator.kt:314 */
  137    205   
    pub fn set_global_table_provisioned_write_capacity_units(mut self, input: ::std::option::Option<i64>) -> Self {
         206  +
        /* BuilderGenerator.kt:315 */
  138    207   
        self.global_table_provisioned_write_capacity_units = input;
  139    208   
        self
         209  +
        /* BuilderGenerator.kt:314 */
  140    210   
    }
  141         -
    /// <p>The maximum number of writes consumed per second before DynamoDB returns a <code>ThrottlingException.</code></p>
         211  +
    /// /* BuilderGenerator.kt:334 */<p>The maximum number of writes consumed per second before DynamoDB returns a <code>ThrottlingException.</code></p>
         212  +
    /* BuilderGenerator.kt:336 */
  142    213   
    pub fn get_global_table_provisioned_write_capacity_units(&self) -> &::std::option::Option<i64> {
         214  +
        /* BuilderGenerator.kt:337 */
  143    215   
        &self.global_table_provisioned_write_capacity_units
         216  +
        /* BuilderGenerator.kt:336 */
  144    217   
    }
  145         -
    /// <p>Auto scaling settings for managing provisioned write capacity for the global table.</p>
         218  +
    /// /* BuilderGenerator.kt:286 */<p>Auto scaling settings for managing provisioned write capacity for the global table.</p>
         219  +
    /* BuilderGenerator.kt:291 */
  146    220   
    pub fn global_table_provisioned_write_capacity_auto_scaling_settings_update(mut self, input: crate::types::AutoScalingSettingsUpdate) -> Self {
         221  +
        /* BuilderGenerator.kt:292 */
  147    222   
        self.global_table_provisioned_write_capacity_auto_scaling_settings_update = ::std::option::Option::Some(input);
         223  +
        /* BuilderGenerator.kt:293 */
  148    224   
        self
         225  +
        /* BuilderGenerator.kt:291 */
  149    226   
    }
  150         -
    /// <p>Auto scaling settings for managing provisioned write capacity for the global table.</p>
         227  +
    /// /* BuilderGenerator.kt:312 */<p>Auto scaling settings for managing provisioned write capacity for the global table.</p>
         228  +
    /* BuilderGenerator.kt:314 */
  151    229   
    pub fn set_global_table_provisioned_write_capacity_auto_scaling_settings_update(
  152    230   
        mut self,
  153    231   
        input: ::std::option::Option<crate::types::AutoScalingSettingsUpdate>,
  154    232   
    ) -> Self {
         233  +
        /* BuilderGenerator.kt:315 */
  155    234   
        self.global_table_provisioned_write_capacity_auto_scaling_settings_update = input;
  156    235   
        self
         236  +
        /* BuilderGenerator.kt:314 */
  157    237   
    }
  158         -
    /// <p>Auto scaling settings for managing provisioned write capacity for the global table.</p>
         238  +
    /// /* BuilderGenerator.kt:334 */<p>Auto scaling settings for managing provisioned write capacity for the global table.</p>
         239  +
    /* BuilderGenerator.kt:336 */
  159    240   
    pub fn get_global_table_provisioned_write_capacity_auto_scaling_settings_update(
  160    241   
        &self,
  161    242   
    ) -> &::std::option::Option<crate::types::AutoScalingSettingsUpdate> {
         243  +
        /* BuilderGenerator.kt:337 */
  162    244   
        &self.global_table_provisioned_write_capacity_auto_scaling_settings_update
         245  +
        /* BuilderGenerator.kt:336 */
  163    246   
    }
  164         -
    /// Appends an item to `global_table_global_secondary_index_settings_update`.
         247  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `global_table_global_secondary_index_settings_update`.
         248  +
    /* BuilderGenerator.kt:411 */
  165    249   
    ///
  166         -
    /// To override the contents of this collection use [`set_global_table_global_secondary_index_settings_update`](Self::set_global_table_global_secondary_index_settings_update).
         250  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_global_table_global_secondary_index_settings_update`](Self::set_global_table_global_secondary_index_settings_update).
         251  +
    /* BuilderGenerator.kt:413 */
  167    252   
    ///
  168         -
    /// <p>Represents the settings of a global secondary index for a global table that will be modified.</p>
         253  +
    /// /* BuilderGenerator.kt:414 */<p>Represents the settings of a global secondary index for a global table that will be modified.</p>
         254  +
    /* BuilderGenerator.kt:418 */
  169    255   
    pub fn global_table_global_secondary_index_settings_update(mut self, input: crate::types::GlobalTableGlobalSecondaryIndexSettingsUpdate) -> Self {
         256  +
        /* BuilderGenerator.kt:419 */
  170    257   
        let mut v = self.global_table_global_secondary_index_settings_update.unwrap_or_default();
  171    258   
        v.push(input);
  172    259   
        self.global_table_global_secondary_index_settings_update = ::std::option::Option::Some(v);
  173    260   
        self
         261  +
        /* BuilderGenerator.kt:418 */
  174    262   
    }
  175         -
    /// <p>Represents the settings of a global secondary index for a global table that will be modified.</p>
         263  +
    /// /* BuilderGenerator.kt:312 */<p>Represents the settings of a global secondary index for a global table that will be modified.</p>
         264  +
    /* BuilderGenerator.kt:314 */
  176    265   
    pub fn set_global_table_global_secondary_index_settings_update(
  177    266   
        mut self,
  178    267   
        input: ::std::option::Option<::std::vec::Vec<crate::types::GlobalTableGlobalSecondaryIndexSettingsUpdate>>,
  179    268   
    ) -> Self {
         269  +
        /* BuilderGenerator.kt:315 */
  180    270   
        self.global_table_global_secondary_index_settings_update = input;
  181    271   
        self
         272  +
        /* BuilderGenerator.kt:314 */
  182    273   
    }
  183         -
    /// <p>Represents the settings of a global secondary index for a global table that will be modified.</p>
         274  +
    /// /* BuilderGenerator.kt:334 */<p>Represents the settings of a global secondary index for a global table that will be modified.</p>
         275  +
    /* BuilderGenerator.kt:336 */
  184    276   
    pub fn get_global_table_global_secondary_index_settings_update(
  185    277   
        &self,
  186    278   
    ) -> &::std::option::Option<::std::vec::Vec<crate::types::GlobalTableGlobalSecondaryIndexSettingsUpdate>> {
         279  +
        /* BuilderGenerator.kt:337 */
  187    280   
        &self.global_table_global_secondary_index_settings_update
         281  +
        /* BuilderGenerator.kt:336 */
  188    282   
    }
  189         -
    /// Appends an item to `replica_settings_update`.
         283  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `replica_settings_update`.
         284  +
    /* BuilderGenerator.kt:411 */
  190    285   
    ///
  191         -
    /// To override the contents of this collection use [`set_replica_settings_update`](Self::set_replica_settings_update).
         286  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_replica_settings_update`](Self::set_replica_settings_update).
         287  +
    /* BuilderGenerator.kt:413 */
  192    288   
    ///
  193         -
    /// <p>Represents the settings for a global table in a Region that will be modified.</p>
         289  +
    /// /* BuilderGenerator.kt:414 */<p>Represents the settings for a global table in a Region that will be modified.</p>
         290  +
    /* BuilderGenerator.kt:418 */
  194    291   
    pub fn replica_settings_update(mut self, input: crate::types::ReplicaSettingsUpdate) -> Self {
         292  +
        /* BuilderGenerator.kt:419 */
  195    293   
        let mut v = self.replica_settings_update.unwrap_or_default();
  196    294   
        v.push(input);
  197    295   
        self.replica_settings_update = ::std::option::Option::Some(v);
  198    296   
        self
         297  +
        /* BuilderGenerator.kt:418 */
  199    298   
    }
  200         -
    /// <p>Represents the settings for a global table in a Region that will be modified.</p>
         299  +
    /// /* BuilderGenerator.kt:312 */<p>Represents the settings for a global table in a Region that will be modified.</p>
         300  +
    /* BuilderGenerator.kt:314 */
  201    301   
    pub fn set_replica_settings_update(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaSettingsUpdate>>) -> Self {
         302  +
        /* BuilderGenerator.kt:315 */
  202    303   
        self.replica_settings_update = input;
  203    304   
        self
         305  +
        /* BuilderGenerator.kt:314 */
  204    306   
    }
  205         -
    /// <p>Represents the settings for a global table in a Region that will be modified.</p>
         307  +
    /// /* BuilderGenerator.kt:334 */<p>Represents the settings for a global table in a Region that will be modified.</p>
         308  +
    /* BuilderGenerator.kt:336 */
  206    309   
    pub fn get_replica_settings_update(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ReplicaSettingsUpdate>> {
         310  +
        /* BuilderGenerator.kt:337 */
  207    311   
        &self.replica_settings_update
         312  +
        /* BuilderGenerator.kt:336 */
  208    313   
    }
  209         -
    /// Consumes the builder and constructs a [`UpdateGlobalTableSettingsInput`](crate::operation::update_global_table_settings::UpdateGlobalTableSettingsInput).
         314  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`UpdateGlobalTableSettingsInput`](crate::operation::update_global_table_settings::UpdateGlobalTableSettingsInput).
         315  +
    /* BuilderGenerator.kt:253 */
  210    316   
    pub fn build(
  211    317   
        self,
  212    318   
    ) -> ::std::result::Result<
  213    319   
        crate::operation::update_global_table_settings::UpdateGlobalTableSettingsInput,
  214    320   
        ::aws_smithy_types::error::operation::BuildError,
  215    321   
    > {
  216         -
        ::std::result::Result::Ok(crate::operation::update_global_table_settings::UpdateGlobalTableSettingsInput {
  217         -
            global_table_name: self.global_table_name,
         322  +
        /* BuilderGenerator.kt:254 */
         323  +
        ::std::result::Result::Ok(
         324  +
            /* BuilderGenerator.kt:477 */
         325  +
            crate::operation::update_global_table_settings::UpdateGlobalTableSettingsInput {
         326  +
                /* BuilderGenerator.kt:481 */ global_table_name: self.global_table_name,
         327  +
                /* BuilderGenerator.kt:481 */
  218    328   
                global_table_billing_mode: self.global_table_billing_mode,
         329  +
                /* BuilderGenerator.kt:481 */
  219    330   
                global_table_provisioned_write_capacity_units: self.global_table_provisioned_write_capacity_units,
         331  +
                /* BuilderGenerator.kt:481 */
  220    332   
                global_table_provisioned_write_capacity_auto_scaling_settings_update: self
  221    333   
                    .global_table_provisioned_write_capacity_auto_scaling_settings_update,
         334  +
                /* BuilderGenerator.kt:481 */
  222    335   
                global_table_global_secondary_index_settings_update: self.global_table_global_secondary_index_settings_update,
         336  +
                /* BuilderGenerator.kt:481 */
  223    337   
                replica_settings_update: self.replica_settings_update,
  224         -
        })
         338  +
                /* BuilderGenerator.kt:477 */
         339  +
            }, /* BuilderGenerator.kt:254 */
         340  +
        )
         341  +
        /* BuilderGenerator.kt:253 */
  225    342   
    }
         343  +
    /* BuilderGenerator.kt:355 */
  226    344   
}

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

@@ -1,1 +79,132 @@
    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 UpdateGlobalTableSettingsOutput {
    6         -
    /// <p>The name of the global table.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct UpdateGlobalTableSettingsOutput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The name of the global table.</p>
    7     10   
    pub global_table_name: ::std::option::Option<::std::string::String>,
    8         -
    /// <p>The Region-specific settings for the global table.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>The Region-specific settings for the global table.</p>
    9     12   
    pub replica_settings: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaSettingsDescription>>,
          13  +
    /* StructureGenerator.kt:201 */
   10     14   
}
          15  +
/* StructureGenerator.kt:135 */
   11     16   
impl UpdateGlobalTableSettingsOutput {
   12         -
    /// <p>The name of the global table.</p>
          17  +
    /// /* StructureGenerator.kt:231 */<p>The name of the global table.</p>
          18  +
    /* StructureGenerator.kt:166 */
   13     19   
    pub fn global_table_name(&self) -> ::std::option::Option<&str> {
          20  +
        /* StructureGenerator.kt:169 */
   14     21   
        self.global_table_name.as_deref()
          22  +
        /* StructureGenerator.kt:166 */
   15     23   
    }
   16         -
    /// <p>The Region-specific settings for the global table.</p>
   17         -
    ///
   18         -
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.replica_settings.is_none()`.
          24  +
    /// /* StructureGenerator.kt:231 */<p>The Region-specific settings for the global table.</p>
          25  +
    /// /* StructureGenerator.kt:162 */
          26  +
    /// /* 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 `.replica_settings.is_none()`.
          27  +
    /* StructureGenerator.kt:166 */
   19     28   
    pub fn replica_settings(&self) -> &[crate::types::ReplicaSettingsDescription] {
   20         -
        self.replica_settings.as_deref().unwrap_or_default()
          29  +
        /* StructureGenerator.kt:169 */
          30  +
        self.replica_settings
          31  +
            .as_deref()
          32  +
            /* StructureGenerator.kt:175 */
          33  +
            .unwrap_or_default()
          34  +
        /* StructureGenerator.kt:166 */
   21     35   
    }
          36  +
    /* StructureGenerator.kt:135 */
   22     37   
}
          38  +
/* ClientCodegenVisitor.kt:237 */
   23     39   
impl UpdateGlobalTableSettingsOutput {
   24         -
    /// Creates a new builder-style object to manufacture [`UpdateGlobalTableSettingsOutput`](crate::operation::update_global_table_settings::UpdateGlobalTableSettingsOutput).
          40  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`UpdateGlobalTableSettingsOutput`](crate::operation::update_global_table_settings::UpdateGlobalTableSettingsOutput).
          41  +
    /* BuilderGenerator.kt:175 */
   25     42   
    pub fn builder() -> crate::operation::update_global_table_settings::builders::UpdateGlobalTableSettingsOutputBuilder {
          43  +
        /* BuilderGenerator.kt:176 */
   26     44   
        crate::operation::update_global_table_settings::builders::UpdateGlobalTableSettingsOutputBuilder::default()
          45  +
        /* BuilderGenerator.kt:175 */
   27     46   
    }
          47  +
    /* ClientCodegenVisitor.kt:237 */
   28     48   
}
   29     49   
   30         -
/// A builder for [`UpdateGlobalTableSettingsOutput`](crate::operation::update_global_table_settings::UpdateGlobalTableSettingsOutput).
          50  +
/// /* BuilderGenerator.kt:342 */A builder for [`UpdateGlobalTableSettingsOutput`](crate::operation::update_global_table_settings::UpdateGlobalTableSettingsOutput).
          51  +
/* RustType.kt:516 */
   31     52   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          53  +
/* RustType.kt:516 */
   32     54   
#[non_exhaustive]
          55  +
/* BuilderGenerator.kt:345 */
   33     56   
pub struct UpdateGlobalTableSettingsOutputBuilder {
   34         -
    pub(crate) global_table_name: ::std::option::Option<::std::string::String>,
          57  +
    /* BuilderGenerator.kt:275 */ pub(crate) global_table_name: ::std::option::Option<::std::string::String>,
          58  +
    /* BuilderGenerator.kt:275 */
   35     59   
    pub(crate) replica_settings: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaSettingsDescription>>,
          60  +
    /* BuilderGenerator.kt:345 */
   36     61   
}
          62  +
/* BuilderGenerator.kt:355 */
   37     63   
impl UpdateGlobalTableSettingsOutputBuilder {
   38         -
    /// <p>The name of the global table.</p>
          64  +
    /// /* BuilderGenerator.kt:286 */<p>The name of the global table.</p>
          65  +
    /* BuilderGenerator.kt:291 */
   39     66   
    pub fn global_table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          67  +
        /* BuilderGenerator.kt:292 */
   40     68   
        self.global_table_name = ::std::option::Option::Some(input.into());
          69  +
        /* BuilderGenerator.kt:293 */
   41     70   
        self
          71  +
        /* BuilderGenerator.kt:291 */
   42     72   
    }
   43         -
    /// <p>The name of the global table.</p>
          73  +
    /// /* BuilderGenerator.kt:312 */<p>The name of the global table.</p>
          74  +
    /* BuilderGenerator.kt:314 */
   44     75   
    pub fn set_global_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          76  +
        /* BuilderGenerator.kt:315 */
   45     77   
        self.global_table_name = input;
   46     78   
        self
          79  +
        /* BuilderGenerator.kt:314 */
   47     80   
    }
   48         -
    /// <p>The name of the global table.</p>
          81  +
    /// /* BuilderGenerator.kt:334 */<p>The name of the global table.</p>
          82  +
    /* BuilderGenerator.kt:336 */
   49     83   
    pub fn get_global_table_name(&self) -> &::std::option::Option<::std::string::String> {
          84  +
        /* BuilderGenerator.kt:337 */
   50     85   
        &self.global_table_name
          86  +
        /* BuilderGenerator.kt:336 */
   51     87   
    }
   52         -
    /// Appends an item to `replica_settings`.
          88  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `replica_settings`.
          89  +
    /* BuilderGenerator.kt:411 */
   53     90   
    ///
   54         -
    /// To override the contents of this collection use [`set_replica_settings`](Self::set_replica_settings).
          91  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_replica_settings`](Self::set_replica_settings).
          92  +
    /* BuilderGenerator.kt:413 */
   55     93   
    ///
   56         -
    /// <p>The Region-specific settings for the global table.</p>
          94  +
    /// /* BuilderGenerator.kt:414 */<p>The Region-specific settings for the global table.</p>
          95  +
    /* BuilderGenerator.kt:418 */
   57     96   
    pub fn replica_settings(mut self, input: crate::types::ReplicaSettingsDescription) -> Self {
          97  +
        /* BuilderGenerator.kt:419 */
   58     98   
        let mut v = self.replica_settings.unwrap_or_default();
   59     99   
        v.push(input);
   60    100   
        self.replica_settings = ::std::option::Option::Some(v);
   61    101   
        self
         102  +
        /* BuilderGenerator.kt:418 */
   62    103   
    }
   63         -
    /// <p>The Region-specific settings for the global table.</p>
         104  +
    /// /* BuilderGenerator.kt:312 */<p>The Region-specific settings for the global table.</p>
         105  +
    /* BuilderGenerator.kt:314 */
   64    106   
    pub fn set_replica_settings(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaSettingsDescription>>) -> Self {
         107  +
        /* BuilderGenerator.kt:315 */
   65    108   
        self.replica_settings = input;
   66    109   
        self
         110  +
        /* BuilderGenerator.kt:314 */
   67    111   
    }
   68         -
    /// <p>The Region-specific settings for the global table.</p>
         112  +
    /// /* BuilderGenerator.kt:334 */<p>The Region-specific settings for the global table.</p>
         113  +
    /* BuilderGenerator.kt:336 */
   69    114   
    pub fn get_replica_settings(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ReplicaSettingsDescription>> {
         115  +
        /* BuilderGenerator.kt:337 */
   70    116   
        &self.replica_settings
         117  +
        /* BuilderGenerator.kt:336 */
   71    118   
    }
   72         -
    /// Consumes the builder and constructs a [`UpdateGlobalTableSettingsOutput`](crate::operation::update_global_table_settings::UpdateGlobalTableSettingsOutput).
         119  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`UpdateGlobalTableSettingsOutput`](crate::operation::update_global_table_settings::UpdateGlobalTableSettingsOutput).
         120  +
    /* BuilderGenerator.kt:253 */
   73    121   
    pub fn build(self) -> crate::operation::update_global_table_settings::UpdateGlobalTableSettingsOutput {
         122  +
        /* BuilderGenerator.kt:477 */
   74    123   
        crate::operation::update_global_table_settings::UpdateGlobalTableSettingsOutput {
   75         -
            global_table_name: self.global_table_name,
         124  +
            /* BuilderGenerator.kt:481 */ global_table_name: self.global_table_name,
         125  +
            /* BuilderGenerator.kt:481 */
   76    126   
            replica_settings: self.replica_settings,
         127  +
            /* BuilderGenerator.kt:477 */
   77    128   
        }
         129  +
        /* BuilderGenerator.kt:253 */
   78    130   
    }
         131  +
    /* BuilderGenerator.kt:355 */
   79    132   
}

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

@@ -1,1 +233,263 @@
    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::update_global_table_settings::_update_global_table_settings_output::UpdateGlobalTableSettingsOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::update_global_table_settings::_update_global_table_settings_input::UpdateGlobalTableSettingsInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::update_global_table_settings::builders::UpdateGlobalTableSettingsInputBuilder {
    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::update_global_table_settings::UpdateGlobalTableSettingsOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::update_global_table_settings::UpdateGlobalTableSettingsError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.update_global_table_settings();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `UpdateGlobalTableSettings`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `UpdateGlobalTableSettings`.
   24     27   
///
   25         -
/// <p>Updates settings for a global table.</p>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p>Updates settings for a global table.</p>
          29  +
/* RustType.kt:516 */
   26     30   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          31  +
/* FluentBuilderGenerator.kt:270 */
   27     32   
pub struct UpdateGlobalTableSettingsFluentBuilder {
   28     33   
    handle: ::std::sync::Arc<crate::client::Handle>,
   29     34   
    inner: crate::operation::update_global_table_settings::builders::UpdateGlobalTableSettingsInputBuilder,
   30     35   
    config_override: ::std::option::Option<crate::config::Builder>,
   31     36   
}
          37  +
/* FluentBuilderGenerator.kt:381 */
   32     38   
impl
   33     39   
    crate::client::customize::internal::CustomizableSend<
   34     40   
        crate::operation::update_global_table_settings::UpdateGlobalTableSettingsOutput,
   35     41   
        crate::operation::update_global_table_settings::UpdateGlobalTableSettingsError,
   36     42   
    > for UpdateGlobalTableSettingsFluentBuilder
   37     43   
{
   38     44   
    fn send(
   39     45   
        self,
   40     46   
        config_override: crate::config::Builder,
   41     47   
    ) -> crate::client::customize::internal::BoxFuture<
   42     48   
        crate::client::customize::internal::SendResult<
   43     49   
            crate::operation::update_global_table_settings::UpdateGlobalTableSettingsOutput,
   44     50   
            crate::operation::update_global_table_settings::UpdateGlobalTableSettingsError,
   45     51   
        >,
   46     52   
    > {
   47     53   
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
   48     54   
    }
   49     55   
}
          56  +
/* FluentBuilderGenerator.kt:282 */
   50     57   
impl UpdateGlobalTableSettingsFluentBuilder {
          58  +
    /* FluentBuilderGenerator.kt:288 */
   51     59   
    /// Creates a new `UpdateGlobalTableSettingsFluentBuilder`.
   52     60   
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
   53     61   
        Self {
   54     62   
            handle,
   55     63   
            inner: ::std::default::Default::default(),
   56     64   
            config_override: ::std::option::Option::None,
   57     65   
        }
   58     66   
    }
          67  +
    /* FluentBuilderGenerator.kt:301 */
   59     68   
    /// Access the UpdateGlobalTableSettings as a reference.
   60     69   
    pub fn as_input(&self) -> &crate::operation::update_global_table_settings::builders::UpdateGlobalTableSettingsInputBuilder {
   61     70   
        &self.inner
   62     71   
    }
          72  +
    /* FluentBuilderGenerator.kt:145 */
   63     73   
    /// Sends the request and returns the response.
   64     74   
    ///
   65     75   
    /// If an error occurs, an `SdkError` will be returned with additional details that
   66     76   
    /// can be matched against.
   67     77   
    ///
   68     78   
    /// By default, any retryable failures will be retried twice. Retry behavior
   69     79   
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
   70     80   
    /// set when configuring the client.
   71     81   
    pub async fn send(
   72     82   
        self,
   73     83   
    ) -> ::std::result::Result<
   74     84   
        crate::operation::update_global_table_settings::UpdateGlobalTableSettingsOutput,
   75     85   
        ::aws_smithy_runtime_api::client::result::SdkError<
   76     86   
            crate::operation::update_global_table_settings::UpdateGlobalTableSettingsError,
   77     87   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   78     88   
        >,
   79     89   
    > {
   80     90   
        let input = self
   81     91   
            .inner
   82     92   
            .build()
   83     93   
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
   84     94   
        let runtime_plugins = crate::operation::update_global_table_settings::UpdateGlobalTableSettings::operation_runtime_plugins(
   85     95   
            self.handle.runtime_plugins.clone(),
   86     96   
            &self.handle.conf,
   87     97   
            self.config_override,
   88     98   
        );
   89     99   
        crate::operation::update_global_table_settings::UpdateGlobalTableSettings::orchestrate(&runtime_plugins, input).await
   90    100   
    }
   91    101   
   92    102   
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
   93    103   
    pub fn customize(
   94    104   
        self,
   95    105   
    ) -> crate::client::customize::CustomizableOperation<
   96    106   
        crate::operation::update_global_table_settings::UpdateGlobalTableSettingsOutput,
   97    107   
        crate::operation::update_global_table_settings::UpdateGlobalTableSettingsError,
   98    108   
        Self,
   99    109   
    > {
  100    110   
        crate::client::customize::CustomizableOperation::new(self)
  101    111   
    }
         112  +
    /* FluentBuilderGenerator.kt:315 */
  102    113   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
  103    114   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
  104    115   
        self
  105    116   
    }
  106    117   
  107    118   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  108    119   
        self.config_override = config_override;
  109    120   
        self
  110    121   
    }
  111         -
    /// <p>The name of the global table</p>
         122  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the global table</p>
         123  +
    /* FluentBuilderGenerator.kt:500 */
  112    124   
    pub fn global_table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  113    125   
        self.inner = self.inner.global_table_name(input.into());
  114    126   
        self
  115    127   
    }
  116         -
    /// <p>The name of the global table</p>
         128  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the global table</p>
         129  +
    /* FluentBuilderGenerator.kt:500 */
  117    130   
    pub fn set_global_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  118    131   
        self.inner = self.inner.set_global_table_name(input);
  119    132   
        self
  120    133   
    }
  121         -
    /// <p>The name of the global table</p>
         134  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The name of the global table</p>
         135  +
    /* FluentBuilderGenerator.kt:520 */
  122    136   
    pub fn get_global_table_name(&self) -> &::std::option::Option<::std::string::String> {
  123    137   
        self.inner.get_global_table_name()
  124    138   
    }
  125         -
    /// <p>The billing mode of the global table. If <code>GlobalTableBillingMode</code> is not specified, the global table defaults to <code>PROVISIONED</code> capacity billing mode.</p>
         139  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The billing mode of the global table. If <code>GlobalTableBillingMode</code> is not specified, the global table defaults to <code>PROVISIONED</code> capacity billing mode.</p>
  126    140   
    /// <ul>
  127    141   
    /// <li>
  128    142   
    /// <p><code>PROVISIONED</code> - We recommend using <code>PROVISIONED</code> for predictable workloads. <code>PROVISIONED</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual">Provisioned Mode</a>.</p></li>
  129    143   
    /// <li>
  130    144   
    /// <p><code>PAY_PER_REQUEST</code> - We recommend using <code>PAY_PER_REQUEST</code> for unpredictable workloads. <code>PAY_PER_REQUEST</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand">On-Demand Mode</a>.</p></li>
  131    145   
    /// </ul>
         146  +
    /* FluentBuilderGenerator.kt:500 */
  132    147   
    pub fn global_table_billing_mode(mut self, input: crate::types::BillingMode) -> Self {
  133    148   
        self.inner = self.inner.global_table_billing_mode(input);
  134    149   
        self
  135    150   
    }
  136         -
    /// <p>The billing mode of the global table. If <code>GlobalTableBillingMode</code> is not specified, the global table defaults to <code>PROVISIONED</code> capacity billing mode.</p>
         151  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The billing mode of the global table. If <code>GlobalTableBillingMode</code> is not specified, the global table defaults to <code>PROVISIONED</code> capacity billing mode.</p>
  137    152   
    /// <ul>
  138    153   
    /// <li>
  139    154   
    /// <p><code>PROVISIONED</code> - We recommend using <code>PROVISIONED</code> for predictable workloads. <code>PROVISIONED</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual">Provisioned Mode</a>.</p></li>
  140    155   
    /// <li>
  141    156   
    /// <p><code>PAY_PER_REQUEST</code> - We recommend using <code>PAY_PER_REQUEST</code> for unpredictable workloads. <code>PAY_PER_REQUEST</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand">On-Demand Mode</a>.</p></li>
  142    157   
    /// </ul>
         158  +
    /* FluentBuilderGenerator.kt:500 */
  143    159   
    pub fn set_global_table_billing_mode(mut self, input: ::std::option::Option<crate::types::BillingMode>) -> Self {
  144    160   
        self.inner = self.inner.set_global_table_billing_mode(input);
  145    161   
        self
  146    162   
    }
  147         -
    /// <p>The billing mode of the global table. If <code>GlobalTableBillingMode</code> is not specified, the global table defaults to <code>PROVISIONED</code> capacity billing mode.</p>
         163  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The billing mode of the global table. If <code>GlobalTableBillingMode</code> is not specified, the global table defaults to <code>PROVISIONED</code> capacity billing mode.</p>
  148    164   
    /// <ul>
  149    165   
    /// <li>
  150    166   
    /// <p><code>PROVISIONED</code> - We recommend using <code>PROVISIONED</code> for predictable workloads. <code>PROVISIONED</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual">Provisioned Mode</a>.</p></li>
  151    167   
    /// <li>
  152    168   
    /// <p><code>PAY_PER_REQUEST</code> - We recommend using <code>PAY_PER_REQUEST</code> for unpredictable workloads. <code>PAY_PER_REQUEST</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand">On-Demand Mode</a>.</p></li>
  153    169   
    /// </ul>
         170  +
    /* FluentBuilderGenerator.kt:520 */
  154    171   
    pub fn get_global_table_billing_mode(&self) -> &::std::option::Option<crate::types::BillingMode> {
  155    172   
        self.inner.get_global_table_billing_mode()
  156    173   
    }
  157         -
    /// <p>The maximum number of writes consumed per second before DynamoDB returns a <code>ThrottlingException.</code></p>
         174  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The maximum number of writes consumed per second before DynamoDB returns a <code>ThrottlingException.</code></p>
         175  +
    /* FluentBuilderGenerator.kt:500 */
  158    176   
    pub fn global_table_provisioned_write_capacity_units(mut self, input: i64) -> Self {
  159    177   
        self.inner = self.inner.global_table_provisioned_write_capacity_units(input);
  160    178   
        self
  161    179   
    }
  162         -
    /// <p>The maximum number of writes consumed per second before DynamoDB returns a <code>ThrottlingException.</code></p>
         180  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The maximum number of writes consumed per second before DynamoDB returns a <code>ThrottlingException.</code></p>
         181  +
    /* FluentBuilderGenerator.kt:500 */
  163    182   
    pub fn set_global_table_provisioned_write_capacity_units(mut self, input: ::std::option::Option<i64>) -> Self {
  164    183   
        self.inner = self.inner.set_global_table_provisioned_write_capacity_units(input);
  165    184   
        self
  166    185   
    }
  167         -
    /// <p>The maximum number of writes consumed per second before DynamoDB returns a <code>ThrottlingException.</code></p>
         186  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The maximum number of writes consumed per second before DynamoDB returns a <code>ThrottlingException.</code></p>
         187  +
    /* FluentBuilderGenerator.kt:520 */
  168    188   
    pub fn get_global_table_provisioned_write_capacity_units(&self) -> &::std::option::Option<i64> {
  169    189   
        self.inner.get_global_table_provisioned_write_capacity_units()
  170    190   
    }
  171         -
    /// <p>Auto scaling settings for managing provisioned write capacity for the global table.</p>
         191  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Auto scaling settings for managing provisioned write capacity for the global table.</p>
         192  +
    /* FluentBuilderGenerator.kt:500 */
  172    193   
    pub fn global_table_provisioned_write_capacity_auto_scaling_settings_update(mut self, input: crate::types::AutoScalingSettingsUpdate) -> Self {
  173    194   
        self.inner = self.inner.global_table_provisioned_write_capacity_auto_scaling_settings_update(input);
  174    195   
        self
  175    196   
    }
  176         -
    /// <p>Auto scaling settings for managing provisioned write capacity for the global table.</p>
         197  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Auto scaling settings for managing provisioned write capacity for the global table.</p>
         198  +
    /* FluentBuilderGenerator.kt:500 */
  177    199   
    pub fn set_global_table_provisioned_write_capacity_auto_scaling_settings_update(
  178    200   
        mut self,
  179    201   
        input: ::std::option::Option<crate::types::AutoScalingSettingsUpdate>,
  180    202   
    ) -> Self {
  181    203   
        self.inner = self.inner.set_global_table_provisioned_write_capacity_auto_scaling_settings_update(input);
  182    204   
        self
  183    205   
    }
  184         -
    /// <p>Auto scaling settings for managing provisioned write capacity for the global table.</p>
         206  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Auto scaling settings for managing provisioned write capacity for the global table.</p>
         207  +
    /* FluentBuilderGenerator.kt:520 */
  185    208   
    pub fn get_global_table_provisioned_write_capacity_auto_scaling_settings_update(
  186    209   
        &self,
  187    210   
    ) -> &::std::option::Option<crate::types::AutoScalingSettingsUpdate> {
  188    211   
        self.inner.get_global_table_provisioned_write_capacity_auto_scaling_settings_update()
  189    212   
    }
  190         -
    ///
         213  +
    /// /* FluentBuilderGenerator.kt:436 */
  191    214   
    /// Appends an item to `GlobalTableGlobalSecondaryIndexSettingsUpdate`.
  192    215   
    ///
  193    216   
    /// To override the contents of this collection use [`set_global_table_global_secondary_index_settings_update`](Self::set_global_table_global_secondary_index_settings_update).
  194    217   
    ///
  195         -
    /// <p>Represents the settings of a global secondary index for a global table that will be modified.</p>
         218  +
    /// /* FluentBuilderGenerator.kt:443 */<p>Represents the settings of a global secondary index for a global table that will be modified.</p>
         219  +
    /* FluentBuilderGenerator.kt:446 */
  196    220   
    pub fn global_table_global_secondary_index_settings_update(mut self, input: crate::types::GlobalTableGlobalSecondaryIndexSettingsUpdate) -> Self {
  197    221   
        self.inner = self.inner.global_table_global_secondary_index_settings_update(input);
  198    222   
        self
  199    223   
    }
  200         -
    /// <p>Represents the settings of a global secondary index for a global table that will be modified.</p>
         224  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Represents the settings of a global secondary index for a global table that will be modified.</p>
         225  +
    /* FluentBuilderGenerator.kt:500 */
  201    226   
    pub fn set_global_table_global_secondary_index_settings_update(
  202    227   
        mut self,
  203    228   
        input: ::std::option::Option<::std::vec::Vec<crate::types::GlobalTableGlobalSecondaryIndexSettingsUpdate>>,
  204    229   
    ) -> Self {
  205    230   
        self.inner = self.inner.set_global_table_global_secondary_index_settings_update(input);
  206    231   
        self
  207    232   
    }
  208         -
    /// <p>Represents the settings of a global secondary index for a global table that will be modified.</p>
         233  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Represents the settings of a global secondary index for a global table that will be modified.</p>
         234  +
    /* FluentBuilderGenerator.kt:520 */
  209    235   
    pub fn get_global_table_global_secondary_index_settings_update(
  210    236   
        &self,
  211    237   
    ) -> &::std::option::Option<::std::vec::Vec<crate::types::GlobalTableGlobalSecondaryIndexSettingsUpdate>> {
  212    238   
        self.inner.get_global_table_global_secondary_index_settings_update()
  213    239   
    }
  214         -
    ///
         240  +
    /// /* FluentBuilderGenerator.kt:436 */
  215    241   
    /// Appends an item to `ReplicaSettingsUpdate`.
  216    242   
    ///
  217    243   
    /// To override the contents of this collection use [`set_replica_settings_update`](Self::set_replica_settings_update).
  218    244   
    ///
  219         -
    /// <p>Represents the settings for a global table in a Region that will be modified.</p>
         245  +
    /// /* FluentBuilderGenerator.kt:443 */<p>Represents the settings for a global table in a Region that will be modified.</p>
         246  +
    /* FluentBuilderGenerator.kt:446 */
  220    247   
    pub fn replica_settings_update(mut self, input: crate::types::ReplicaSettingsUpdate) -> Self {
  221    248   
        self.inner = self.inner.replica_settings_update(input);
  222    249   
        self
  223    250   
    }
  224         -
    /// <p>Represents the settings for a global table in a Region that will be modified.</p>
         251  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Represents the settings for a global table in a Region that will be modified.</p>
         252  +
    /* FluentBuilderGenerator.kt:500 */
  225    253   
    pub fn set_replica_settings_update(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaSettingsUpdate>>) -> Self {
  226    254   
        self.inner = self.inner.set_replica_settings_update(input);
  227    255   
        self
  228    256   
    }
  229         -
    /// <p>Represents the settings for a global table in a Region that will be modified.</p>
         257  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Represents the settings for a global table in a Region that will be modified.</p>
         258  +
    /* FluentBuilderGenerator.kt:520 */
  230    259   
    pub fn get_replica_settings_update(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ReplicaSettingsUpdate>> {
  231    260   
        self.inner.get_replica_settings_update()
  232    261   
    }
         262  +
    /* FluentBuilderGenerator.kt:282 */
  233    263   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/operation/update_item.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 `UpdateItem`.
           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 UpdateItem;
          10  +
/* OperationGenerator.kt:85 */
    6     11   
impl UpdateItem {
    7         -
    /// Creates a new `UpdateItem`
          12  +
    /// /* OperationGenerator.kt:86 */Creates a new `UpdateItem`
          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::update_item::UpdateItemInput,
   14     23   
    ) -> ::std::result::Result<
   15     24   
        crate::operation::update_item::UpdateItemOutput,
   16     25   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     26   
            crate::operation::update_item::UpdateItemError,
   18     27   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     28   
        >,
   20     29   
    > {
@@ -57,66 +409,673 @@
   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 UpdateItem {
   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("UpdateItem");
   91    102   
   92    103   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
   93    104   
            UpdateItemRequestSerializer,
   94    105   
        ));
   95    106   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
   96    107   
            UpdateItemResponseDeserializer,
   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("UpdateItem", "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("UpdateItem")
  114    125   
            .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default())
  115    126   
            .with_interceptor(UpdateItemEndpointParamsInterceptor)
  116    127   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
  117    128   
                crate::operation::update_item::UpdateItemError,
  118    129   
            >::new())
  119    130   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
  120    131   
                crate::operation::update_item::UpdateItemError,
  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 UpdateItemResponseDeserializer;
  129    141   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for UpdateItemResponseDeserializer {
  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_update_item::de_update_item_http_error(status, headers, body)
  142    154   
        } else {
  143    155   
            crate::protocol_serde::shape_update_item::de_update_item_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 UpdateItemRequestSerializer;
  150    163   
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for UpdateItemRequestSerializer {
  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.downcast::<crate::operation::update_item::UpdateItemInput>().expect("correct type");
  158    171   
        let _header_serialization_settings = _cfg
  159    172   
            .load::<crate::serialization_settings::HeaderSerializationSettings>()
  160    173   
            .cloned()
  161    174   
            .unwrap_or_default();
  162    175   
        let mut request_builder = {
  163    176   
            fn uri_base(
  164    177   
                _input: &crate::operation::update_item::UpdateItemInput,
  165    178   
                output: &mut ::std::string::String,
  166    179   
            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
  167    180   
                use ::std::fmt::Write as _;
  168    181   
                ::std::write!(output, "/").expect("formatting should succeed");
  169    182   
                ::std::result::Result::Ok(())
  170    183   
            }
  171    184   
            #[allow(clippy::unnecessary_wraps)]
  172    185   
            fn update_http_builder(
  173    186   
                input: &crate::operation::update_item::UpdateItemInput,
  174    187   
                builder: ::http::request::Builder,
  175    188   
            ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
  176    189   
                let mut uri = ::std::string::String::new();
  177    190   
                uri_base(input, &mut uri)?;
  178    191   
                ::std::result::Result::Ok(builder.method("POST").uri(uri))
  179    192   
            }
  180    193   
            let mut builder = update_http_builder(&input, ::http::request::Builder::new())?;
  181    194   
            builder = _header_serialization_settings.set_default_header(builder, ::http::header::CONTENT_TYPE, "application/x-amz-json-1.0");
  182    195   
            builder = _header_serialization_settings.set_default_header(
  183    196   
                builder,
  184    197   
                ::http::header::HeaderName::from_static("x-amz-target"),
  185    198   
                "DynamoDB_20120810.UpdateItem",
  186    199   
            );
  187    200   
            builder
  188    201   
        };
  189    202   
        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_update_item::ser_update_item_input(&input)?);
  190    203   
        if let Some(content_length) = body.content_length() {
  191    204   
            let content_length = content_length.to_string();
  192    205   
            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http::header::CONTENT_LENGTH, &content_length);
  193    206   
        }
  194    207   
        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
  195    208   
    }
  196    209   
}
         210  +
/* EndpointParamsInterceptorGenerator.kt:86 */
  197    211   
#[derive(Debug)]
  198    212   
struct UpdateItemEndpointParamsInterceptor;
  199    213   
  200    214   
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for UpdateItemEndpointParamsInterceptor {
  201    215   
    fn name(&self) -> &'static str {
  202    216   
        "UpdateItemEndpointParamsInterceptor"
  203    217   
    }
  204    218   
  205    219   
    fn read_before_execution(
  206    220   
        &self,
  207    221   
        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
  208    222   
            '_,
  209    223   
            ::aws_smithy_runtime_api::client::interceptors::context::Input,
  210    224   
            ::aws_smithy_runtime_api::client::interceptors::context::Output,
  211    225   
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
  212    226   
        >,
  213    227   
        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  214    228   
    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
  215    229   
        let _input = context
  216    230   
            .input()
  217    231   
            .downcast_ref::<UpdateItemInput>()
  218    232   
            .ok_or("failed to downcast to UpdateItemInput")?;
  219    233   
  220    234   
        let params = crate::config::endpoint::Params::builder().build().map_err(|err| {
  221    235   
            ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  222    236   
        })?;
  223    237   
        cfg.interceptor_state()
  224    238   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  225    239   
        ::std::result::Result::Ok(())
  226    240   
    }
  227    241   
}
  228    242   
  229    243   
// The get_* functions below are generated from JMESPath expressions in the
  230    244   
// operationContextParams trait. They target the operation's input shape.
  231    245   
         246  +
/* OperationErrorGenerator.kt:79 */
  232    247   
/// Error type for the `UpdateItemError` operation.
         248  +
/* RustType.kt:516 */
  233    249   
#[non_exhaustive]
         250  +
/* RustType.kt:516 */
  234    251   
#[derive(::std::fmt::Debug)]
  235         -
pub enum UpdateItemError {
  236         -
    /// <p>A condition specified in the operation could not be evaluated.</p>
         252  +
pub /* OperationErrorGenerator.kt:81 */ enum UpdateItemError {
         253  +
    /// /* OperationErrorGenerator.kt:83 */<p>A condition specified in the operation could not be evaluated.</p>
         254  +
    /* OperationErrorGenerator.kt:86 */
  237    255   
    ConditionalCheckFailedError(crate::types::error::ConditionalCheckFailedError),
  238         -
    /// <p>An error occurred on the server side.</p>
         256  +
    /// /* OperationErrorGenerator.kt:83 */<p>An error occurred on the server side.</p>
         257  +
    /* OperationErrorGenerator.kt:86 */
  239    258   
    InternalServerError(crate::types::error::InternalServerError),
         259  +
    /* OperationErrorGenerator.kt:83 */
  240    260   
    #[allow(missing_docs)] // documentation missing in model
         261  +
    /* OperationErrorGenerator.kt:86 */
  241    262   
    InvalidEndpointError(crate::types::error::InvalidEndpointError),
  242         -
    /// <p>An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes.</p>
         263  +
    /// /* OperationErrorGenerator.kt:83 */<p>An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes.</p>
         264  +
    /* OperationErrorGenerator.kt:86 */
  243    265   
    ItemCollectionSizeLimitExceededError(crate::types::error::ItemCollectionSizeLimitExceededError),
  244         -
    /// <p>Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff">Error Retries and Exponential Backoff</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         266  +
    /// /* OperationErrorGenerator.kt:83 */<p>Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff">Error Retries and Exponential Backoff</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         267  +
    /* OperationErrorGenerator.kt:86 */
  245    268   
    ProvisionedThroughputExceededError(crate::types::error::ProvisionedThroughputExceededError),
  246         -
    /// <p>Throughput exceeds the current throughput quota for your account. Please contact AWS Support at <a href="https://aws.amazon.com/support">AWS Support</a> to request a quota increase.</p>
         269  +
    /// /* OperationErrorGenerator.kt:83 */<p>Throughput exceeds the current throughput quota for your account. Please contact AWS Support at <a href="https://aws.amazon.com/support">AWS Support</a> to request a quota increase.</p>
         270  +
    /* OperationErrorGenerator.kt:86 */
  247    271   
    RequestLimitExceeded(crate::types::error::RequestLimitExceeded),
  248         -
    /// <p>The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be <code>ACTIVE</code>.</p>
         272  +
    /// /* OperationErrorGenerator.kt: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>
         273  +
    /* OperationErrorGenerator.kt:86 */
  249    274   
    ResourceNotFoundError(crate::types::error::ResourceNotFoundError),
  250         -
    /// <p>Operation was rejected because there is an ongoing transaction for the item.</p>
         275  +
    /// /* OperationErrorGenerator.kt:83 */<p>Operation was rejected because there is an ongoing transaction for the item.</p>
         276  +
    /* OperationErrorGenerator.kt:86 */
  251    277   
    TransactionConflictError(crate::types::error::TransactionConflictError),
         278  +
    /* OperationErrorGenerator.kt:88 */
  252    279   
    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
  253    280   
    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
  254    281   
    variable wildcard pattern and check `.code()`:
  255    282   
     \
  256    283   
    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
  257    284   
     \
  258    285   
    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-UpdateItemError) for what information is available for the error.")]
  259    286   
    Unhandled(crate::error::sealed_unhandled::Unhandled),
         287  +
    /* OperationErrorGenerator.kt:81 */
  260    288   
}
         289  +
/* OperationErrorGenerator.kt:218 */
  261    290   
impl UpdateItemError {
         291  +
    /* OperationErrorGenerator.kt:219 */
  262    292   
    /// Creates the `UpdateItemError::Unhandled` variant from any error type.
  263    293   
    pub fn unhandled(
  264    294   
        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
  265    295   
    ) -> Self {
  266    296   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  267    297   
            source: err.into(),
  268    298   
            meta: ::std::default::Default::default(),
  269    299   
        })
  270    300   
    }
  271    301   
  272    302   
    /// Creates the `UpdateItemError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
  273    303   
    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
  274    304   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  275    305   
            source: err.clone().into(),
  276    306   
            meta: err,
  277    307   
        })
  278    308   
    }
  279         -
    ///
         309  +
    /// /* OperationErrorGenerator.kt:236 */
  280    310   
    /// Returns error metadata, which includes the error code, message,
  281    311   
    /// request ID, and potentially additional information.
  282    312   
    ///
         313  +
    /* OperationErrorGenerator.kt:242 */
  283    314   
    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         315  +
        /* OperationErrorGenerator.kt:243 */
  284    316   
        match self {
         317  +
            /* OperationErrorGenerator.kt:246 */
  285    318   
            Self::ConditionalCheckFailedError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         319  +
            /* OperationErrorGenerator.kt:246 */
  286    320   
            Self::InternalServerError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         321  +
            /* OperationErrorGenerator.kt:246 */
  287    322   
            Self::InvalidEndpointError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         323  +
            /* OperationErrorGenerator.kt:246 */
  288    324   
            Self::ItemCollectionSizeLimitExceededError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         325  +
            /* OperationErrorGenerator.kt:246 */
  289    326   
            Self::ProvisionedThroughputExceededError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         327  +
            /* OperationErrorGenerator.kt:246 */
  290    328   
            Self::RequestLimitExceeded(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         329  +
            /* OperationErrorGenerator.kt:246 */
  291    330   
            Self::ResourceNotFoundError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         331  +
            /* OperationErrorGenerator.kt:246 */
  292    332   
            Self::TransactionConflictError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
  293         -
            Self::Unhandled(e) => &e.meta,
         333  +
            /* OperationErrorGenerator.kt:251 */ Self::Unhandled(e) => &e.meta,
         334  +
            /* OperationErrorGenerator.kt:243 */
  294    335   
        }
         336  +
        /* OperationErrorGenerator.kt:242 */
  295    337   
    }
         338  +
    /* OperationErrorGenerator.kt:257 */
  296    339   
    /// Returns `true` if the error kind is `UpdateItemError::ConditionalCheckFailedError`.
         340  +
    /* OperationErrorGenerator.kt:258 */
  297    341   
    pub fn is_conditional_check_failed_error(&self) -> bool {
         342  +
        /* OperationErrorGenerator.kt:259 */
  298    343   
        matches!(self, Self::ConditionalCheckFailedError(_))
         344  +
        /* OperationErrorGenerator.kt:258 */
  299    345   
    }
         346  +
    /* OperationErrorGenerator.kt:257 */
  300    347   
    /// Returns `true` if the error kind is `UpdateItemError::InternalServerError`.
         348  +
    /* OperationErrorGenerator.kt:258 */
  301    349   
    pub fn is_internal_server_error(&self) -> bool {
         350  +
        /* OperationErrorGenerator.kt:259 */
  302    351   
        matches!(self, Self::InternalServerError(_))
         352  +
        /* OperationErrorGenerator.kt:258 */
  303    353   
    }
         354  +
    /* OperationErrorGenerator.kt:257 */
  304    355   
    /// Returns `true` if the error kind is `UpdateItemError::InvalidEndpointError`.
         356  +
    /* OperationErrorGenerator.kt:258 */
  305    357   
    pub fn is_invalid_endpoint_error(&self) -> bool {
         358  +
        /* OperationErrorGenerator.kt:259 */
  306    359   
        matches!(self, Self::InvalidEndpointError(_))
         360  +
        /* OperationErrorGenerator.kt:258 */
  307    361   
    }
         362  +
    /* OperationErrorGenerator.kt:257 */
  308    363   
    /// Returns `true` if the error kind is `UpdateItemError::ItemCollectionSizeLimitExceededError`.
         364  +
    /* OperationErrorGenerator.kt:258 */
  309    365   
    pub fn is_item_collection_size_limit_exceeded_error(&self) -> bool {
         366  +
        /* OperationErrorGenerator.kt:259 */
  310    367   
        matches!(self, Self::ItemCollectionSizeLimitExceededError(_))
         368  +
        /* OperationErrorGenerator.kt:258 */
  311    369   
    }
         370  +
    /* OperationErrorGenerator.kt:257 */
  312    371   
    /// Returns `true` if the error kind is `UpdateItemError::ProvisionedThroughputExceededError`.
         372  +
    /* OperationErrorGenerator.kt:258 */
  313    373   
    pub fn is_provisioned_throughput_exceeded_error(&self) -> bool {
         374  +
        /* OperationErrorGenerator.kt:259 */
  314    375   
        matches!(self, Self::ProvisionedThroughputExceededError(_))
         376  +
        /* OperationErrorGenerator.kt:258 */
  315    377   
    }
         378  +
    /* OperationErrorGenerator.kt:257 */
  316    379   
    /// Returns `true` if the error kind is `UpdateItemError::RequestLimitExceeded`.
         380  +
    /* OperationErrorGenerator.kt:258 */
  317    381   
    pub fn is_request_limit_exceeded(&self) -> bool {
         382  +
        /* OperationErrorGenerator.kt:259 */
  318    383   
        matches!(self, Self::RequestLimitExceeded(_))
         384  +
        /* OperationErrorGenerator.kt:258 */
  319    385   
    }
         386  +
    /* OperationErrorGenerator.kt:257 */
  320    387   
    /// Returns `true` if the error kind is `UpdateItemError::ResourceNotFoundError`.
         388  +
    /* OperationErrorGenerator.kt:258 */
  321    389   
    pub fn is_resource_not_found_error(&self) -> bool {
         390  +
        /* OperationErrorGenerator.kt:259 */
  322    391   
        matches!(self, Self::ResourceNotFoundError(_))
         392  +
        /* OperationErrorGenerator.kt:258 */
  323    393   
    }
         394  +
    /* OperationErrorGenerator.kt:257 */
  324    395   
    /// Returns `true` if the error kind is `UpdateItemError::TransactionConflictError`.
         396  +
    /* OperationErrorGenerator.kt:258 */
  325    397   
    pub fn is_transaction_conflict_error(&self) -> bool {
         398  +
        /* OperationErrorGenerator.kt:259 */
  326    399   
        matches!(self, Self::TransactionConflictError(_))
         400  +
        /* OperationErrorGenerator.kt:258 */
  327    401   
    }
         402  +
    /* OperationErrorGenerator.kt:218 */
  328    403   
}
         404  +
/* OperationErrorGenerator.kt:269 */
  329    405   
impl ::std::error::Error for UpdateItemError {
         406  +
    /* OperationErrorGenerator.kt:270 */
  330    407   
    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
         408  +
        /* OperationErrorGenerator.kt:318 */
  331    409   
        match self {
  332         -
            Self::ConditionalCheckFailedError(_inner) => ::std::option::Option::Some(_inner),
  333         -
            Self::InternalServerError(_inner) => ::std::option::Option::Some(_inner),
  334         -
            Self::InvalidEndpointError(_inner) => ::std::option::Option::Some(_inner),
  335         -
            Self::ItemCollectionSizeLimitExceededError(_inner) => ::std::option::Option::Some(_inner),
  336         -
            Self::ProvisionedThroughputExceededError(_inner) => ::std::option::Option::Some(_inner),
  337         -
            Self::RequestLimitExceeded(_inner) => ::std::option::Option::Some(_inner),
  338         -
            Self::ResourceNotFoundError(_inner) => ::std::option::Option::Some(_inner),
  339         -
            Self::TransactionConflictError(_inner) => ::std::option::Option::Some(_inner),
  340         -
            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
         410  +
            /* OperationErrorGenerator.kt:321 */
         411  +
            Self::ConditionalCheckFailedError(_inner) =>
         412  +
            /* OperationErrorGenerator.kt:283 */
         413  +
            {
         414  +
                ::std::option::Option::Some(_inner)
         415  +
            }
         416  +
            ,
         417  +
            /* OperationErrorGenerator.kt:321 */
         418  +
            Self::InternalServerError(_inner) =>
         419  +
            /* OperationErrorGenerator.kt:283 */
         420  +
            {
         421  +
                ::std::option::Option::Some(_inner)
         422  +
            }
         423  +
            ,
         424  +
            /* OperationErrorGenerator.kt:321 */
         425  +
            Self::InvalidEndpointError(_inner) =>
         426  +
            /* OperationErrorGenerator.kt:283 */
         427  +
            {
         428  +
                ::std::option::Option::Some(_inner)
         429  +
            }
         430  +
            ,
         431  +
            /* OperationErrorGenerator.kt:321 */
         432  +
            Self::ItemCollectionSizeLimitExceededError(_inner) =>
         433  +
            /* OperationErrorGenerator.kt:283 */
         434  +
            {
         435  +
                ::std::option::Option::Some(_inner)
         436  +
            }
         437  +
            ,
         438  +
            /* OperationErrorGenerator.kt:321 */
         439  +
            Self::ProvisionedThroughputExceededError(_inner) =>
         440  +
            /* OperationErrorGenerator.kt:283 */
         441  +
            {
         442  +
                ::std::option::Option::Some(_inner)
         443  +
            }
         444  +
            ,
         445  +
            /* OperationErrorGenerator.kt:321 */
         446  +
            Self::RequestLimitExceeded(_inner) =>
         447  +
            /* OperationErrorGenerator.kt:283 */
         448  +
            {
         449  +
                ::std::option::Option::Some(_inner)
         450  +
            }
         451  +
            ,
         452  +
            /* OperationErrorGenerator.kt:321 */
         453  +
            Self::ResourceNotFoundError(_inner) =>
         454  +
            /* OperationErrorGenerator.kt:283 */
         455  +
            {
         456  +
                ::std::option::Option::Some(_inner)
         457  +
            }
         458  +
            ,
         459  +
            /* OperationErrorGenerator.kt:321 */
         460  +
            Self::TransactionConflictError(_inner) =>
         461  +
            /* OperationErrorGenerator.kt:283 */
         462  +
            {
         463  +
                ::std::option::Option::Some(_inner)
         464  +
            }
         465  +
            ,
         466  +
            /* OperationErrorGenerator.kt:326 */
         467  +
            Self::Unhandled(_inner) => {
         468  +
                /* OperationErrorGenerator.kt:279 */
         469  +
                ::std::option::Option::Some(&*_inner.source)
         470  +
                /* OperationErrorGenerator.kt:326 */
         471  +
            } /* OperationErrorGenerator.kt:318 */
  341    472   
        }
         473  +
        /* OperationErrorGenerator.kt:270 */
  342    474   
    }
         475  +
    /* OperationErrorGenerator.kt:269 */
  343    476   
}
         477  +
/* OperationErrorGenerator.kt:133 */
  344    478   
impl ::std::fmt::Display for UpdateItemError {
         479  +
    /* OperationErrorGenerator.kt:134 */
  345    480   
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         481  +
        /* OperationErrorGenerator.kt:318 */
  346    482   
        match self {
  347         -
            Self::ConditionalCheckFailedError(_inner) => _inner.fmt(f),
  348         -
            Self::InternalServerError(_inner) => _inner.fmt(f),
  349         -
            Self::InvalidEndpointError(_inner) => _inner.fmt(f),
  350         -
            Self::ItemCollectionSizeLimitExceededError(_inner) => _inner.fmt(f),
  351         -
            Self::ProvisionedThroughputExceededError(_inner) => _inner.fmt(f),
  352         -
            Self::RequestLimitExceeded(_inner) => _inner.fmt(f),
  353         -
            Self::ResourceNotFoundError(_inner) => _inner.fmt(f),
  354         -
            Self::TransactionConflictError(_inner) => _inner.fmt(f),
         483  +
            /* OperationErrorGenerator.kt:321 */
         484  +
            Self::ConditionalCheckFailedError(_inner) =>
         485  +
            /* OperationErrorGenerator.kt:151 */
         486  +
            {
         487  +
                _inner.fmt(f)
         488  +
            }
         489  +
            ,
         490  +
            /* OperationErrorGenerator.kt:321 */
         491  +
            Self::InternalServerError(_inner) =>
         492  +
            /* OperationErrorGenerator.kt:151 */
         493  +
            {
         494  +
                _inner.fmt(f)
         495  +
            }
         496  +
            ,
         497  +
            /* OperationErrorGenerator.kt:321 */
         498  +
            Self::InvalidEndpointError(_inner) =>
         499  +
            /* OperationErrorGenerator.kt:151 */
         500  +
            {
         501  +
                _inner.fmt(f)
         502  +
            }
         503  +
            ,
         504  +
            /* OperationErrorGenerator.kt:321 */
         505  +
            Self::ItemCollectionSizeLimitExceededError(_inner) =>
         506  +
            /* OperationErrorGenerator.kt:151 */
         507  +
            {
         508  +
                _inner.fmt(f)
         509  +
            }
         510  +
            ,
         511  +
            /* OperationErrorGenerator.kt:321 */
         512  +
            Self::ProvisionedThroughputExceededError(_inner) =>
         513  +
            /* OperationErrorGenerator.kt:151 */
         514  +
            {
         515  +
                _inner.fmt(f)
         516  +
            }
         517  +
            ,
         518  +
            /* OperationErrorGenerator.kt:321 */
         519  +
            Self::RequestLimitExceeded(_inner) =>
         520  +
            /* OperationErrorGenerator.kt:151 */
         521  +
            {
         522  +
                _inner.fmt(f)
         523  +
            }
         524  +
            ,
         525  +
            /* OperationErrorGenerator.kt:321 */
         526  +
            Self::ResourceNotFoundError(_inner) =>
         527  +
            /* OperationErrorGenerator.kt:151 */
         528  +
            {
         529  +
                _inner.fmt(f)
         530  +
            }
         531  +
            ,
         532  +
            /* OperationErrorGenerator.kt:321 */
         533  +
            Self::TransactionConflictError(_inner) =>
         534  +
            /* OperationErrorGenerator.kt:151 */
         535  +
            {
         536  +
                _inner.fmt(f)
         537  +
            }
         538  +
            ,
         539  +
            /* OperationErrorGenerator.kt:326 */
  355    540   
            Self::Unhandled(_inner) => {
         541  +
                /* OperationErrorGenerator.kt:139 */
  356    542   
                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
  357    543   
                    write!(f, "unhandled error ({code})")
  358    544   
                } else {
  359    545   
                    f.write_str("unhandled error")
  360    546   
                }
         547  +
                /* OperationErrorGenerator.kt:326 */
         548  +
            } /* OperationErrorGenerator.kt:318 */
  361    549   
        }
         550  +
        /* OperationErrorGenerator.kt:134 */
  362    551   
    }
  363         -
    }
         552  +
    /* OperationErrorGenerator.kt:133 */
  364    553   
}
         554  +
/* OperationErrorGenerator.kt:182 */
  365    555   
impl ::aws_smithy_types::retry::ProvideErrorKind for UpdateItemError {
         556  +
    /* OperationErrorGenerator.kt:186 */
  366    557   
    fn code(&self) -> ::std::option::Option<&str> {
         558  +
        /* OperationErrorGenerator.kt:187 */
  367    559   
        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
         560  +
        /* OperationErrorGenerator.kt:186 */
  368    561   
    }
         562  +
    /* OperationErrorGenerator.kt:190 */
  369    563   
    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
         564  +
        /* OperationErrorGenerator.kt:197 */
  370    565   
        ::std::option::Option::None
         566  +
        /* OperationErrorGenerator.kt:190 */
  371    567   
    }
         568  +
    /* OperationErrorGenerator.kt:182 */
  372    569   
}
         570  +
/* OperationErrorGenerator.kt:163 */
  373    571   
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for UpdateItemError {
         572  +
    /* OperationErrorGenerator.kt:164 */
  374    573   
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         574  +
        /* OperationErrorGenerator.kt:318 */
  375    575   
        match self {
  376         -
            Self::ConditionalCheckFailedError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  377         -
            Self::InternalServerError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  378         -
            Self::InvalidEndpointError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  379         -
            Self::ItemCollectionSizeLimitExceededError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  380         -
            Self::ProvisionedThroughputExceededError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  381         -
            Self::RequestLimitExceeded(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  382         -
            Self::ResourceNotFoundError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  383         -
            Self::TransactionConflictError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  384         -
            Self::Unhandled(_inner) => &_inner.meta,
         576  +
            /* OperationErrorGenerator.kt:321 */
         577  +
            Self::ConditionalCheckFailedError(_inner) =>
         578  +
            /* OperationErrorGenerator.kt:169 */
         579  +
            {
         580  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         581  +
            }
         582  +
            ,
         583  +
            /* OperationErrorGenerator.kt:321 */
         584  +
            Self::InternalServerError(_inner) =>
         585  +
            /* OperationErrorGenerator.kt:169 */
         586  +
            {
         587  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         588  +
            }
         589  +
            ,
         590  +
            /* OperationErrorGenerator.kt:321 */
         591  +
            Self::InvalidEndpointError(_inner) =>
         592  +
            /* OperationErrorGenerator.kt:169 */
         593  +
            {
         594  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         595  +
            }
         596  +
            ,
         597  +
            /* OperationErrorGenerator.kt:321 */
         598  +
            Self::ItemCollectionSizeLimitExceededError(_inner) =>
         599  +
            /* OperationErrorGenerator.kt:169 */
         600  +
            {
         601  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         602  +
            }
         603  +
            ,
         604  +
            /* OperationErrorGenerator.kt:321 */
         605  +
            Self::ProvisionedThroughputExceededError(_inner) =>
         606  +
            /* OperationErrorGenerator.kt:169 */
         607  +
            {
         608  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         609  +
            }
         610  +
            ,
         611  +
            /* OperationErrorGenerator.kt:321 */
         612  +
            Self::RequestLimitExceeded(_inner) =>
         613  +
            /* OperationErrorGenerator.kt:169 */
         614  +
            {
         615  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         616  +
            }
         617  +
            ,
         618  +
            /* OperationErrorGenerator.kt:321 */
         619  +
            Self::ResourceNotFoundError(_inner) =>
         620  +
            /* OperationErrorGenerator.kt:169 */
         621  +
            {
         622  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         623  +
            }
         624  +
            ,
         625  +
            /* OperationErrorGenerator.kt:321 */
         626  +
            Self::TransactionConflictError(_inner) =>
         627  +
            /* OperationErrorGenerator.kt:169 */
         628  +
            {
         629  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         630  +
            }
         631  +
            ,
         632  +
            /* OperationErrorGenerator.kt:326 */
         633  +
            Self::Unhandled(_inner) => {
         634  +
                /* OperationErrorGenerator.kt:168 */
         635  +
                &_inner.meta
         636  +
                /* OperationErrorGenerator.kt:326 */
         637  +
            } /* OperationErrorGenerator.kt:318 */
  385    638   
        }
         639  +
        /* OperationErrorGenerator.kt:164 */
  386    640   
    }
         641  +
    /* OperationErrorGenerator.kt:163 */
  387    642   
}
         643  +
/* OperationErrorGenerator.kt:109 */
  388    644   
impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for UpdateItemError {
         645  +
    /* OperationErrorGenerator.kt:110 */
  389    646   
    fn create_unhandled_error(
  390    647   
        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
  391    648   
        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
  392    649   
    ) -> Self {
         650  +
        /* OperationErrorGenerator.kt:121 */
  393    651   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  394    652   
            source,
  395    653   
            meta: meta.unwrap_or_default(),
  396    654   
        })
         655  +
        /* OperationErrorGenerator.kt:110 */
  397    656   
    }
         657  +
    /* OperationErrorGenerator.kt:109 */
  398    658   
}
  399    659   
         660  +
/* CodegenDelegator.kt:255 */
  400    661   
pub use crate::operation::update_item::_update_item_output::UpdateItemOutput;
  401    662   
         663  +
/* CodegenDelegator.kt:255 */
  402    664   
pub use crate::operation::update_item::_update_item_input::UpdateItemInput;
  403    665   
         666  +
/* RustModule.kt:172 */
  404    667   
mod _update_item_input;
  405    668   
         669  +
/* RustModule.kt:172 */
  406    670   
mod _update_item_output;
  407    671   
  408         -
/// Builders
         672  +
/// /* CodegenDelegator.kt:51 */Builders
  409    673   
pub mod builders;

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

@@ -1,1 +869,1069 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents the input of an <code>UpdateItem</code> operation.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents the input of an <code>UpdateItem</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 UpdateItemInput {
    7         -
    /// <p>The name of the table containing the item to update.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct UpdateItemInput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The name of the table containing the item to update.</p>
    8     10   
    pub table_name: ::std::option::Option<::std::string::String>,
    9         -
    /// <p>The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute.</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>UpdateExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html">AttributeUpdates</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          14  +
    /// /* StructureGenerator.kt:231 */<p>This is a legacy parameter. Use <code>UpdateExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html">AttributeUpdates</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   13     15   
    pub attribute_updates: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValueUpdate>>,
   14         -
    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          16  +
    /// /* StructureGenerator.kt:231 */<p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   15     17   
    pub expected: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>>,
   16         -
    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          18  +
    /// /* StructureGenerator.kt:231 */<p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   17     19   
    pub conditional_operator: ::std::option::Option<crate::types::ConditionalOperator>,
   18         -
    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appear before or after they are updated. For <code>UpdateItem</code>, the valid values are:</p>
          20  +
    /// /* StructureGenerator.kt:231 */<p>Use <code>ReturnValues</code> if you want to get the item attributes as they appear before or after they are updated. For <code>UpdateItem</code>, the valid values are:</p>
   19     21   
    /// <ul>
   20     22   
    /// <li>
   21     23   
    /// <p><code>NONE</code> - If <code>ReturnValues</code> is not specified, or if its value is <code>NONE</code>, then nothing is returned. (This setting is the default for <code>ReturnValues</code>.)</p></li>
   22     24   
    /// <li>
   23     25   
    /// <p><code>ALL_OLD</code> - Returns all of the attributes of the item, as they appeared before the UpdateItem operation.</p></li>
   24     26   
    /// <li>
   25     27   
    /// <p><code>UPDATED_OLD</code> - Returns only the updated attributes, as they appeared before the UpdateItem operation.</p></li>
   26     28   
    /// <li>
   27     29   
    /// <p><code>ALL_NEW</code> - Returns all of the attributes of the item, as they appear after the UpdateItem operation.</p></li>
   28     30   
    /// <li>
   29     31   
    /// <p><code>UPDATED_NEW</code> - Returns only the updated attributes, as they appear after the UpdateItem operation.</p></li>
   30     32   
    /// </ul>
   31     33   
    /// <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p>
   32     34   
    /// <p>The values returned are strongly consistent.</p>
   33     35   
    pub return_values: ::std::option::Option<crate::types::ReturnValue>,
   34         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
          36  +
    /// /* StructureGenerator.kt:231 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
   35     37   
    /// <ul>
   36     38   
    /// <li>
   37     39   
    /// <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>
   38     40   
    /// <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>
   39     41   
    /// <li>
   40     42   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
   41     43   
    /// <li>
   42     44   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
   43     45   
    /// </ul>
   44     46   
    pub return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
   45         -
    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
          47  +
    /// /* StructureGenerator.kt:231 */<p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
   46     48   
    pub return_item_collection_metrics: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>,
   47         -
    /// <p>An expression that defines one or more attributes to be updated, the action to be performed on them, and new values for them.</p>
          49  +
    /// /* StructureGenerator.kt:231 */<p>An expression that defines one or more attributes to be updated, the action to be performed on them, and new values for them.</p>
   48     50   
    /// <p>The following action values are available for <code>UpdateExpression</code>.</p>
   49     51   
    /// <ul>
   50     52   
    /// <li>
   51     53   
    /// <p><code>SET</code> - Adds one or more attributes and values to an item. If any of these attributes already exist, they are replaced by the new values. You can also use <code>SET</code> to add or subtract from an attribute that is of type Number. For example: <code>SET myNum = myNum + :val</code></p>
   52     54   
    /// <p><code>SET</code> supports the following functions:</p>
   53     55   
    /// <ul>
   54     56   
    /// <li>
   55     57   
    /// <p><code>if_not_exists (path, operand)</code> - if the item does not contain an attribute at the specified path, then <code>if_not_exists</code> evaluates to operand; otherwise, it evaluates to path. You can use this function to avoid overwriting an attribute that may already be present in the item.</p></li>
   56     58   
    /// <li>
   57     59   
    /// <p><code>list_append (operand, operand)</code> - evaluates to a list with a new element added to it. You can append the new element to the start or the end of the list by reversing the order of the operands.</p></li>
   58     60   
    /// </ul>
   59     61   
    /// <p>These function names are case-sensitive.</p></li>
   60     62   
    /// <li>
   61     63   
    /// <p><code>REMOVE</code> - Removes one or more attributes from an item.</p></li>
   62     64   
    /// <li>
   63     65   
    /// <p><code>ADD</code> - Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of <code>ADD</code> depends on the data type of the attribute:</p>
   64     66   
    /// <ul>
   65     67   
    /// <li>
   66     68   
    /// <p>If the existing attribute is a number, and if <code>Value</code> is also a number, then <code>Value</code> is mathematically added to the existing attribute. If <code>Value</code> is a negative number, then it is subtracted from the existing attribute.</p><note>
   67     69   
    /// <p>If you use <code>ADD</code> to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses <code>0</code> as the initial value.</p>
   68     70   
    /// <p>Similarly, if you use <code>ADD</code> for an existing item to increment or decrement an attribute value that doesn't exist before the update, DynamoDB uses <code>0</code> as the initial value. For example, suppose that the item you want to update doesn't have an attribute named <code>itemcount</code>, but you decide to <code>ADD</code> the number <code>3</code> to this attribute anyway. DynamoDB will create the <code>itemcount</code> attribute, set its initial value to <code>0</code>, and finally add <code>3</code> to it. The result will be a new <code>itemcount</code> attribute in the item, with a value of <code>3</code>.</p>
   69     71   
    /// </note></li>
   70     72   
    /// <li>
   71     73   
    /// <p>If the existing data type is a set and if <code>Value</code> is also a set, then <code>Value</code> is added to the existing set. For example, if the attribute value is the set <code>\[1,2\]</code>, and the <code>ADD</code> action specified <code>\[3\]</code>, then the final attribute value is <code>\[1,2,3\]</code>. An error occurs if an <code>ADD</code> action is specified for a set attribute and the attribute type specified does not match the existing set type.</p>
   72     74   
    /// <p>Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the <code>Value</code> must also be a set of strings.</p></li>
   73     75   
    /// </ul><important>
   74     76   
    /// <p>The <code>ADD</code> action only supports Number and set data types. In addition, <code>ADD</code> can only be used on top-level attributes, not nested attributes.</p>
   75     77   
    /// </important></li>
   76     78   
    /// <li>
   77     79   
    /// <p><code>DELETE</code> - Deletes an element from a set.</p>
   78     80   
    /// <p>If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set <code>\[a,b,c\]</code> and the <code>DELETE</code> action specifies <code>\[a,c\]</code>, then the final attribute value is <code>\[b\]</code>. Specifying an empty set is an error.</p><important>
   79     81   
    /// <p>The <code>DELETE</code> action only supports set data types. In addition, <code>DELETE</code> can only be used on top-level attributes, not nested attributes.</p>
   80     82   
    /// </important></li>
   81     83   
    /// </ul>
   82     84   
    /// <p>You can have many actions in a single expression, such as the following: <code>SET a=:value1, b=:value2 DELETE :value3, :value4, :value5</code></p>
   83     85   
    /// <p>For more information on update expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html">Modifying Items and Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   84     86   
    pub update_expression: ::std::option::Option<::std::string::String>,
   85         -
    /// <p>A condition that must be satisfied in order for a conditional update to succeed.</p>
          87  +
    /// /* StructureGenerator.kt:231 */<p>A condition that must be satisfied in order for a conditional update to succeed.</p>
   86     88   
    /// <p>An expression can contain any of the following:</p>
   87     89   
    /// <ul>
   88     90   
    /// <li>
   89     91   
    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
   90     92   
    /// <p>These function names are case-sensitive.</p></li>
   91     93   
    /// <li>
   92     94   
    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
   93     95   
    /// <li>
   94     96   
    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
   95     97   
    /// </ul>
   96     98   
    /// <p>For more information about condition expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Specifying Conditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   97     99   
    pub condition_expression: ::std::option::Option<::std::string::String>,
   98         -
    /// <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  +
    /// /* 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>
   99    101   
    /// <ul>
  100    102   
    /// <li>
  101    103   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  102    104   
    /// <li>
  103    105   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  104    106   
    /// <li>
  105    107   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  106    108   
    /// </ul>
  107    109   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  108    110   
    /// <ul>
  109    111   
    /// <li>
  110    112   
    /// <p><code>Percentile</code></p></li>
  111    113   
    /// </ul>
  112    114   
    /// <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>
  113    115   
    /// <ul>
  114    116   
    /// <li>
  115    117   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  116    118   
    /// </ul>
  117    119   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  118    120   
    /// <ul>
  119    121   
    /// <li>
  120    122   
    /// <p><code>#P = :val</code></p></li>
  121    123   
    /// </ul><note>
  122    124   
    /// <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>
  123    125   
    /// </note>
  124    126   
    /// <p>For more information about 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>
  125    127   
    pub expression_attribute_names: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
  126         -
    /// <p>One or more values that can be substituted in an expression.</p>
         128  +
    /// /* StructureGenerator.kt:231 */<p>One or more values that can be substituted in an expression.</p>
  127    129   
    /// <p>Use the <b>:</b> (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the <code>ProductStatus</code> attribute was one of the following:</p>
  128    130   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  129    131   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  130    132   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  131    133   
    /// <p>You could then use these values in an expression, such as this:</p>
  132    134   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  133    135   
    /// <p>For more information on expression attribute values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Condition Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
  134    136   
    pub expression_attribute_values: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
         137  +
    /* StructureGenerator.kt:201 */
  135    138   
}
         139  +
/* StructureGenerator.kt:135 */
  136    140   
impl UpdateItemInput {
  137         -
    /// <p>The name of the table containing the item to update.</p>
         141  +
    /// /* StructureGenerator.kt:231 */<p>The name of the table containing the item to update.</p>
         142  +
    /* StructureGenerator.kt:166 */
  138    143   
    pub fn table_name(&self) -> ::std::option::Option<&str> {
         144  +
        /* StructureGenerator.kt:169 */
  139    145   
        self.table_name.as_deref()
         146  +
        /* StructureGenerator.kt:166 */
  140    147   
    }
  141         -
    /// <p>The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute.</p>
         148  +
    /// /* StructureGenerator.kt:231 */<p>The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute.</p>
  142    149   
    /// <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>
         150  +
    /* StructureGenerator.kt:166 */
  143    151   
    pub fn key(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         152  +
        /* StructureGenerator.kt:170 */
  144    153   
        self.key.as_ref()
         154  +
        /* StructureGenerator.kt:166 */
  145    155   
    }
  146         -
    /// <p>This is a legacy parameter. Use <code>UpdateExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html">AttributeUpdates</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         156  +
    /// /* StructureGenerator.kt:231 */<p>This is a legacy parameter. Use <code>UpdateExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html">AttributeUpdates</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         157  +
    /* StructureGenerator.kt:166 */
  147    158   
    pub fn attribute_updates(
  148    159   
        &self,
  149    160   
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValueUpdate>> {
         161  +
        /* StructureGenerator.kt:170 */
  150    162   
        self.attribute_updates.as_ref()
         163  +
        /* StructureGenerator.kt:166 */
  151    164   
    }
  152         -
    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         165  +
    /// /* StructureGenerator.kt:231 */<p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         166  +
    /* StructureGenerator.kt:166 */
  153    167   
    pub fn expected(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>> {
         168  +
        /* StructureGenerator.kt:170 */
  154    169   
        self.expected.as_ref()
         170  +
        /* StructureGenerator.kt:166 */
  155    171   
    }
  156         -
    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         172  +
    /// /* StructureGenerator.kt:231 */<p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         173  +
    /* StructureGenerator.kt:166 */
  157    174   
    pub fn conditional_operator(&self) -> ::std::option::Option<&crate::types::ConditionalOperator> {
         175  +
        /* StructureGenerator.kt:170 */
  158    176   
        self.conditional_operator.as_ref()
         177  +
        /* StructureGenerator.kt:166 */
  159    178   
    }
  160         -
    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appear before or after they are updated. For <code>UpdateItem</code>, the valid values are:</p>
         179  +
    /// /* StructureGenerator.kt:231 */<p>Use <code>ReturnValues</code> if you want to get the item attributes as they appear before or after they are updated. For <code>UpdateItem</code>, the valid values are:</p>
  161    180   
    /// <ul>
  162    181   
    /// <li>
  163    182   
    /// <p><code>NONE</code> - If <code>ReturnValues</code> is not specified, or if its value is <code>NONE</code>, then nothing is returned. (This setting is the default for <code>ReturnValues</code>.)</p></li>
  164    183   
    /// <li>
  165    184   
    /// <p><code>ALL_OLD</code> - Returns all of the attributes of the item, as they appeared before the UpdateItem operation.</p></li>
  166    185   
    /// <li>
  167    186   
    /// <p><code>UPDATED_OLD</code> - Returns only the updated attributes, as they appeared before the UpdateItem operation.</p></li>
  168    187   
    /// <li>
  169    188   
    /// <p><code>ALL_NEW</code> - Returns all of the attributes of the item, as they appear after the UpdateItem operation.</p></li>
  170    189   
    /// <li>
  171    190   
    /// <p><code>UPDATED_NEW</code> - Returns only the updated attributes, as they appear after the UpdateItem operation.</p></li>
  172    191   
    /// </ul>
  173    192   
    /// <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p>
  174    193   
    /// <p>The values returned are strongly consistent.</p>
         194  +
    /* StructureGenerator.kt:166 */
  175    195   
    pub fn return_values(&self) -> ::std::option::Option<&crate::types::ReturnValue> {
         196  +
        /* StructureGenerator.kt:170 */
  176    197   
        self.return_values.as_ref()
         198  +
        /* StructureGenerator.kt:166 */
  177    199   
    }
  178         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         200  +
    /// /* StructureGenerator.kt:231 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  179    201   
    /// <ul>
  180    202   
    /// <li>
  181    203   
    /// <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>
  182    204   
    /// <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>
  183    205   
    /// <li>
  184    206   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  185    207   
    /// <li>
  186    208   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  187    209   
    /// </ul>
         210  +
    /* StructureGenerator.kt:166 */
  188    211   
    pub fn return_consumed_capacity(&self) -> ::std::option::Option<&crate::types::ReturnConsumedCapacity> {
         212  +
        /* StructureGenerator.kt:170 */
  189    213   
        self.return_consumed_capacity.as_ref()
         214  +
        /* StructureGenerator.kt:166 */
  190    215   
    }
  191         -
    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         216  +
    /// /* StructureGenerator.kt:231 */<p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         217  +
    /* StructureGenerator.kt:166 */
  192    218   
    pub fn return_item_collection_metrics(&self) -> ::std::option::Option<&crate::types::ReturnItemCollectionMetrics> {
         219  +
        /* StructureGenerator.kt:170 */
  193    220   
        self.return_item_collection_metrics.as_ref()
         221  +
        /* StructureGenerator.kt:166 */
  194    222   
    }
  195         -
    /// <p>An expression that defines one or more attributes to be updated, the action to be performed on them, and new values for them.</p>
         223  +
    /// /* StructureGenerator.kt:231 */<p>An expression that defines one or more attributes to be updated, the action to be performed on them, and new values for them.</p>
  196    224   
    /// <p>The following action values are available for <code>UpdateExpression</code>.</p>
  197    225   
    /// <ul>
  198    226   
    /// <li>
  199    227   
    /// <p><code>SET</code> - Adds one or more attributes and values to an item. If any of these attributes already exist, they are replaced by the new values. You can also use <code>SET</code> to add or subtract from an attribute that is of type Number. For example: <code>SET myNum = myNum + :val</code></p>
  200    228   
    /// <p><code>SET</code> supports the following functions:</p>
  201    229   
    /// <ul>
  202    230   
    /// <li>
  203    231   
    /// <p><code>if_not_exists (path, operand)</code> - if the item does not contain an attribute at the specified path, then <code>if_not_exists</code> evaluates to operand; otherwise, it evaluates to path. You can use this function to avoid overwriting an attribute that may already be present in the item.</p></li>
  204    232   
    /// <li>
  205    233   
    /// <p><code>list_append (operand, operand)</code> - evaluates to a list with a new element added to it. You can append the new element to the start or the end of the list by reversing the order of the operands.</p></li>
  206    234   
    /// </ul>
  207    235   
    /// <p>These function names are case-sensitive.</p></li>
  208    236   
    /// <li>
  209    237   
    /// <p><code>REMOVE</code> - Removes one or more attributes from an item.</p></li>
  210    238   
    /// <li>
  211    239   
    /// <p><code>ADD</code> - Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of <code>ADD</code> depends on the data type of the attribute:</p>
  212    240   
    /// <ul>
  213    241   
    /// <li>
  214    242   
    /// <p>If the existing attribute is a number, and if <code>Value</code> is also a number, then <code>Value</code> is mathematically added to the existing attribute. If <code>Value</code> is a negative number, then it is subtracted from the existing attribute.</p><note>
  215    243   
    /// <p>If you use <code>ADD</code> to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses <code>0</code> as the initial value.</p>
  216    244   
    /// <p>Similarly, if you use <code>ADD</code> for an existing item to increment or decrement an attribute value that doesn't exist before the update, DynamoDB uses <code>0</code> as the initial value. For example, suppose that the item you want to update doesn't have an attribute named <code>itemcount</code>, but you decide to <code>ADD</code> the number <code>3</code> to this attribute anyway. DynamoDB will create the <code>itemcount</code> attribute, set its initial value to <code>0</code>, and finally add <code>3</code> to it. The result will be a new <code>itemcount</code> attribute in the item, with a value of <code>3</code>.</p>
  217    245   
    /// </note></li>
  218    246   
    /// <li>
  219    247   
    /// <p>If the existing data type is a set and if <code>Value</code> is also a set, then <code>Value</code> is added to the existing set. For example, if the attribute value is the set <code>\[1,2\]</code>, and the <code>ADD</code> action specified <code>\[3\]</code>, then the final attribute value is <code>\[1,2,3\]</code>. An error occurs if an <code>ADD</code> action is specified for a set attribute and the attribute type specified does not match the existing set type.</p>
  220    248   
    /// <p>Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the <code>Value</code> must also be a set of strings.</p></li>
  221    249   
    /// </ul><important>
  222    250   
    /// <p>The <code>ADD</code> action only supports Number and set data types. In addition, <code>ADD</code> can only be used on top-level attributes, not nested attributes.</p>
  223    251   
    /// </important></li>
  224    252   
    /// <li>
  225    253   
    /// <p><code>DELETE</code> - Deletes an element from a set.</p>
  226    254   
    /// <p>If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set <code>\[a,b,c\]</code> and the <code>DELETE</code> action specifies <code>\[a,c\]</code>, then the final attribute value is <code>\[b\]</code>. Specifying an empty set is an error.</p><important>
  227    255   
    /// <p>The <code>DELETE</code> action only supports set data types. In addition, <code>DELETE</code> can only be used on top-level attributes, not nested attributes.</p>
  228    256   
    /// </important></li>
  229    257   
    /// </ul>
  230    258   
    /// <p>You can have many actions in a single expression, such as the following: <code>SET a=:value1, b=:value2 DELETE :value3, :value4, :value5</code></p>
  231    259   
    /// <p>For more information on update expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html">Modifying Items and Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         260  +
    /* StructureGenerator.kt:166 */
  232    261   
    pub fn update_expression(&self) -> ::std::option::Option<&str> {
         262  +
        /* StructureGenerator.kt:169 */
  233    263   
        self.update_expression.as_deref()
         264  +
        /* StructureGenerator.kt:166 */
  234    265   
    }
  235         -
    /// <p>A condition that must be satisfied in order for a conditional update to succeed.</p>
         266  +
    /// /* StructureGenerator.kt:231 */<p>A condition that must be satisfied in order for a conditional update to succeed.</p>
  236    267   
    /// <p>An expression can contain any of the following:</p>
  237    268   
    /// <ul>
  238    269   
    /// <li>
  239    270   
    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
  240    271   
    /// <p>These function names are case-sensitive.</p></li>
  241    272   
    /// <li>
  242    273   
    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
  243    274   
    /// <li>
  244    275   
    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
  245    276   
    /// </ul>
  246    277   
    /// <p>For more information about condition expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Specifying Conditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         278  +
    /* StructureGenerator.kt:166 */
  247    279   
    pub fn condition_expression(&self) -> ::std::option::Option<&str> {
         280  +
        /* StructureGenerator.kt:169 */
  248    281   
        self.condition_expression.as_deref()
         282  +
        /* StructureGenerator.kt:166 */
  249    283   
    }
  250         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         284  +
    /// /* 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>
  251    285   
    /// <ul>
  252    286   
    /// <li>
  253    287   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  254    288   
    /// <li>
  255    289   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  256    290   
    /// <li>
  257    291   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  258    292   
    /// </ul>
  259    293   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  260    294   
    /// <ul>
  261    295   
    /// <li>
  262    296   
    /// <p><code>Percentile</code></p></li>
  263    297   
    /// </ul>
  264    298   
    /// <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>
  265    299   
    /// <ul>
  266    300   
    /// <li>
  267    301   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  268    302   
    /// </ul>
  269    303   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  270    304   
    /// <ul>
  271    305   
    /// <li>
  272    306   
    /// <p><code>#P = :val</code></p></li>
  273    307   
    /// </ul><note>
  274    308   
    /// <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>
  275    309   
    /// </note>
  276    310   
    /// <p>For more information about 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>
         311  +
    /* StructureGenerator.kt:166 */
  277    312   
    pub fn expression_attribute_names(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
         313  +
        /* StructureGenerator.kt:170 */
  278    314   
        self.expression_attribute_names.as_ref()
         315  +
        /* StructureGenerator.kt:166 */
  279    316   
    }
  280         -
    /// <p>One or more values that can be substituted in an expression.</p>
         317  +
    /// /* StructureGenerator.kt:231 */<p>One or more values that can be substituted in an expression.</p>
  281    318   
    /// <p>Use the <b>:</b> (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the <code>ProductStatus</code> attribute was one of the following:</p>
  282    319   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  283    320   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  284    321   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  285    322   
    /// <p>You could then use these values in an expression, such as this:</p>
  286    323   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  287    324   
    /// <p>For more information on expression attribute values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Condition Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         325  +
    /* StructureGenerator.kt:166 */
  288    326   
    pub fn expression_attribute_values(
  289    327   
        &self,
  290    328   
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         329  +
        /* StructureGenerator.kt:170 */
  291    330   
        self.expression_attribute_values.as_ref()
         331  +
        /* StructureGenerator.kt:166 */
  292    332   
    }
         333  +
    /* StructureGenerator.kt:135 */
  293    334   
}
         335  +
/* ClientCodegenVisitor.kt:237 */
  294    336   
impl UpdateItemInput {
  295         -
    /// Creates a new builder-style object to manufacture [`UpdateItemInput`](crate::operation::update_item::UpdateItemInput).
         337  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`UpdateItemInput`](crate::operation::update_item::UpdateItemInput).
         338  +
    /* BuilderGenerator.kt:175 */
  296    339   
    pub fn builder() -> crate::operation::update_item::builders::UpdateItemInputBuilder {
         340  +
        /* BuilderGenerator.kt:176 */
  297    341   
        crate::operation::update_item::builders::UpdateItemInputBuilder::default()
         342  +
        /* BuilderGenerator.kt:175 */
  298    343   
    }
         344  +
    /* ClientCodegenVisitor.kt:237 */
  299    345   
}
  300    346   
  301         -
/// A builder for [`UpdateItemInput`](crate::operation::update_item::UpdateItemInput).
         347  +
/// /* BuilderGenerator.kt:342 */A builder for [`UpdateItemInput`](crate::operation::update_item::UpdateItemInput).
         348  +
/* RustType.kt:516 */
  302    349   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         350  +
/* RustType.kt:516 */
  303    351   
#[non_exhaustive]
         352  +
/* BuilderGenerator.kt:345 */
  304    353   
pub struct UpdateItemInputBuilder {
  305         -
    pub(crate) table_name: ::std::option::Option<::std::string::String>,
         354  +
    /* BuilderGenerator.kt:275 */ pub(crate) table_name: ::std::option::Option<::std::string::String>,
         355  +
    /* BuilderGenerator.kt:275 */
  306    356   
    pub(crate) key: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
         357  +
    /* BuilderGenerator.kt:275 */
  307    358   
    pub(crate) attribute_updates: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValueUpdate>>,
         359  +
    /* BuilderGenerator.kt:275 */
  308    360   
    pub(crate) expected: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>>,
  309         -
    pub(crate) conditional_operator: ::std::option::Option<crate::types::ConditionalOperator>,
  310         -
    pub(crate) return_values: ::std::option::Option<crate::types::ReturnValue>,
  311         -
    pub(crate) return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
  312         -
    pub(crate) return_item_collection_metrics: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>,
  313         -
    pub(crate) update_expression: ::std::option::Option<::std::string::String>,
  314         -
    pub(crate) condition_expression: ::std::option::Option<::std::string::String>,
         361  +
    /* BuilderGenerator.kt:275 */ pub(crate) conditional_operator: ::std::option::Option<crate::types::ConditionalOperator>,
         362  +
    /* BuilderGenerator.kt:275 */ pub(crate) return_values: ::std::option::Option<crate::types::ReturnValue>,
         363  +
    /* BuilderGenerator.kt:275 */ pub(crate) return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
         364  +
    /* BuilderGenerator.kt:275 */ pub(crate) return_item_collection_metrics: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>,
         365  +
    /* BuilderGenerator.kt:275 */ pub(crate) update_expression: ::std::option::Option<::std::string::String>,
         366  +
    /* BuilderGenerator.kt:275 */ pub(crate) condition_expression: ::std::option::Option<::std::string::String>,
         367  +
    /* BuilderGenerator.kt:275 */
  315    368   
    pub(crate) expression_attribute_names: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
         369  +
    /* BuilderGenerator.kt:275 */
  316    370   
    pub(crate) expression_attribute_values: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
         371  +
    /* BuilderGenerator.kt:345 */
  317    372   
}
         373  +
/* BuilderGenerator.kt:355 */
  318    374   
impl UpdateItemInputBuilder {
  319         -
    /// <p>The name of the table containing the item to update.</p>
  320         -
    /// This field is required.
         375  +
    /// /* BuilderGenerator.kt:286 */<p>The name of the table containing the item to update.</p>
         376  +
    /// /* BuilderGenerator.kt:288 */This field is required.
         377  +
    /* BuilderGenerator.kt:291 */
  321    378   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         379  +
        /* BuilderGenerator.kt:292 */
  322    380   
        self.table_name = ::std::option::Option::Some(input.into());
         381  +
        /* BuilderGenerator.kt:293 */
  323    382   
        self
         383  +
        /* BuilderGenerator.kt:291 */
  324    384   
    }
  325         -
    /// <p>The name of the table containing the item to update.</p>
         385  +
    /// /* BuilderGenerator.kt:312 */<p>The name of the table containing the item to update.</p>
         386  +
    /* BuilderGenerator.kt:314 */
  326    387   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         388  +
        /* BuilderGenerator.kt:315 */
  327    389   
        self.table_name = input;
  328    390   
        self
         391  +
        /* BuilderGenerator.kt:314 */
  329    392   
    }
  330         -
    /// <p>The name of the table containing the item to update.</p>
         393  +
    /// /* BuilderGenerator.kt:334 */<p>The name of the table containing the item to update.</p>
         394  +
    /* BuilderGenerator.kt:336 */
  331    395   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
         396  +
        /* BuilderGenerator.kt:337 */
  332    397   
        &self.table_name
         398  +
        /* BuilderGenerator.kt:336 */
  333    399   
    }
  334         -
    /// Adds a key-value pair to `key`.
         400  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `key`.
         401  +
    /* BuilderGenerator.kt:437 */
  335    402   
    ///
  336         -
    /// To override the contents of this collection use [`set_key`](Self::set_key).
         403  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_key`](Self::set_key).
         404  +
    /* BuilderGenerator.kt:439 */
  337    405   
    ///
  338         -
    /// <p>The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute.</p>
         406  +
    /// /* BuilderGenerator.kt:440 */<p>The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute.</p>
  339    407   
    /// <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>
         408  +
    /* BuilderGenerator.kt:445 */
  340    409   
    pub fn key(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
         410  +
        /* BuilderGenerator.kt:448 */
  341    411   
        let mut hash_map = self.key.unwrap_or_default();
  342    412   
        hash_map.insert(k.into(), v);
  343    413   
        self.key = ::std::option::Option::Some(hash_map);
  344    414   
        self
         415  +
        /* BuilderGenerator.kt:445 */
  345    416   
    }
  346         -
    /// <p>The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute.</p>
         417  +
    /// /* BuilderGenerator.kt:312 */<p>The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute.</p>
  347    418   
    /// <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>
         419  +
    /* BuilderGenerator.kt:314 */
  348    420   
    pub fn set_key(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>) -> Self {
         421  +
        /* BuilderGenerator.kt:315 */
  349    422   
        self.key = input;
  350    423   
        self
         424  +
        /* BuilderGenerator.kt:314 */
  351    425   
    }
  352         -
    /// <p>The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute.</p>
         426  +
    /// /* BuilderGenerator.kt:334 */<p>The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute.</p>
  353    427   
    /// <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>
         428  +
    /* BuilderGenerator.kt:336 */
  354    429   
    pub fn get_key(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         430  +
        /* BuilderGenerator.kt:337 */
  355    431   
        &self.key
         432  +
        /* BuilderGenerator.kt:336 */
  356    433   
    }
  357         -
    /// Adds a key-value pair to `attribute_updates`.
         434  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `attribute_updates`.
         435  +
    /* BuilderGenerator.kt:437 */
  358    436   
    ///
  359         -
    /// To override the contents of this collection use [`set_attribute_updates`](Self::set_attribute_updates).
         437  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_attribute_updates`](Self::set_attribute_updates).
         438  +
    /* BuilderGenerator.kt:439 */
  360    439   
    ///
  361         -
    /// <p>This is a legacy parameter. Use <code>UpdateExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html">AttributeUpdates</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         440  +
    /// /* BuilderGenerator.kt:440 */<p>This is a legacy parameter. Use <code>UpdateExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html">AttributeUpdates</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         441  +
    /* BuilderGenerator.kt:445 */
  362    442   
    pub fn attribute_updates(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValueUpdate) -> Self {
         443  +
        /* BuilderGenerator.kt:448 */
  363    444   
        let mut hash_map = self.attribute_updates.unwrap_or_default();
  364    445   
        hash_map.insert(k.into(), v);
  365    446   
        self.attribute_updates = ::std::option::Option::Some(hash_map);
  366    447   
        self
         448  +
        /* BuilderGenerator.kt:445 */
  367    449   
    }
  368         -
    /// <p>This is a legacy parameter. Use <code>UpdateExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html">AttributeUpdates</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         450  +
    /// /* BuilderGenerator.kt:312 */<p>This is a legacy parameter. Use <code>UpdateExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html">AttributeUpdates</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         451  +
    /* BuilderGenerator.kt:314 */
  369    452   
    pub fn set_attribute_updates(
  370    453   
        mut self,
  371    454   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValueUpdate>>,
  372    455   
    ) -> Self {
         456  +
        /* BuilderGenerator.kt:315 */
  373    457   
        self.attribute_updates = input;
  374    458   
        self
         459  +
        /* BuilderGenerator.kt:314 */
  375    460   
    }
  376         -
    /// <p>This is a legacy parameter. Use <code>UpdateExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html">AttributeUpdates</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         461  +
    /// /* BuilderGenerator.kt:334 */<p>This is a legacy parameter. Use <code>UpdateExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html">AttributeUpdates</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         462  +
    /* BuilderGenerator.kt:336 */
  377    463   
    pub fn get_attribute_updates(
  378    464   
        &self,
  379    465   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValueUpdate>> {
         466  +
        /* BuilderGenerator.kt:337 */
  380    467   
        &self.attribute_updates
         468  +
        /* BuilderGenerator.kt:336 */
  381    469   
    }
  382         -
    /// Adds a key-value pair to `expected`.
         470  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `expected`.
         471  +
    /* BuilderGenerator.kt:437 */
  383    472   
    ///
  384         -
    /// To override the contents of this collection use [`set_expected`](Self::set_expected).
         473  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_expected`](Self::set_expected).
         474  +
    /* BuilderGenerator.kt:439 */
  385    475   
    ///
  386         -
    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         476  +
    /// /* BuilderGenerator.kt:440 */<p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         477  +
    /* BuilderGenerator.kt:445 */
  387    478   
    pub fn expected(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::ExpectedAttributeValue) -> Self {
         479  +
        /* BuilderGenerator.kt:448 */
  388    480   
        let mut hash_map = self.expected.unwrap_or_default();
  389    481   
        hash_map.insert(k.into(), v);
  390    482   
        self.expected = ::std::option::Option::Some(hash_map);
  391    483   
        self
         484  +
        /* BuilderGenerator.kt:445 */
  392    485   
    }
  393         -
    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         486  +
    /// /* BuilderGenerator.kt:312 */<p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         487  +
    /* BuilderGenerator.kt:314 */
  394    488   
    pub fn set_expected(
  395    489   
        mut self,
  396    490   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>>,
  397    491   
    ) -> Self {
         492  +
        /* BuilderGenerator.kt:315 */
  398    493   
        self.expected = input;
  399    494   
        self
         495  +
        /* BuilderGenerator.kt:314 */
  400    496   
    }
  401         -
    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         497  +
    /// /* BuilderGenerator.kt:334 */<p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         498  +
    /* BuilderGenerator.kt:336 */
  402    499   
    pub fn get_expected(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>> {
         500  +
        /* BuilderGenerator.kt:337 */
  403    501   
        &self.expected
         502  +
        /* BuilderGenerator.kt:336 */
  404    503   
    }
  405         -
    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         504  +
    /// /* BuilderGenerator.kt:286 */<p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         505  +
    /* BuilderGenerator.kt:291 */
  406    506   
    pub fn conditional_operator(mut self, input: crate::types::ConditionalOperator) -> Self {
         507  +
        /* BuilderGenerator.kt:292 */
  407    508   
        self.conditional_operator = ::std::option::Option::Some(input);
         509  +
        /* BuilderGenerator.kt:293 */
  408    510   
        self
         511  +
        /* BuilderGenerator.kt:291 */
  409    512   
    }
  410         -
    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         513  +
    /// /* BuilderGenerator.kt:312 */<p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         514  +
    /* BuilderGenerator.kt:314 */
  411    515   
    pub fn set_conditional_operator(mut self, input: ::std::option::Option<crate::types::ConditionalOperator>) -> Self {
         516  +
        /* BuilderGenerator.kt:315 */
  412    517   
        self.conditional_operator = input;
  413    518   
        self
         519  +
        /* BuilderGenerator.kt:314 */
  414    520   
    }
  415         -
    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         521  +
    /// /* BuilderGenerator.kt:334 */<p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         522  +
    /* BuilderGenerator.kt:336 */
  416    523   
    pub fn get_conditional_operator(&self) -> &::std::option::Option<crate::types::ConditionalOperator> {
         524  +
        /* BuilderGenerator.kt:337 */
  417    525   
        &self.conditional_operator
         526  +
        /* BuilderGenerator.kt:336 */
  418    527   
    }
  419         -
    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appear before or after they are updated. For <code>UpdateItem</code>, the valid values are:</p>
         528  +
    /// /* BuilderGenerator.kt:286 */<p>Use <code>ReturnValues</code> if you want to get the item attributes as they appear before or after they are updated. For <code>UpdateItem</code>, the valid values are:</p>
  420    529   
    /// <ul>
  421    530   
    /// <li>
  422    531   
    /// <p><code>NONE</code> - If <code>ReturnValues</code> is not specified, or if its value is <code>NONE</code>, then nothing is returned. (This setting is the default for <code>ReturnValues</code>.)</p></li>
  423    532   
    /// <li>
  424    533   
    /// <p><code>ALL_OLD</code> - Returns all of the attributes of the item, as they appeared before the UpdateItem operation.</p></li>
  425    534   
    /// <li>
  426    535   
    /// <p><code>UPDATED_OLD</code> - Returns only the updated attributes, as they appeared before the UpdateItem operation.</p></li>
  427    536   
    /// <li>
  428    537   
    /// <p><code>ALL_NEW</code> - Returns all of the attributes of the item, as they appear after the UpdateItem operation.</p></li>
  429    538   
    /// <li>
  430    539   
    /// <p><code>UPDATED_NEW</code> - Returns only the updated attributes, as they appear after the UpdateItem operation.</p></li>
  431    540   
    /// </ul>
  432    541   
    /// <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p>
  433    542   
    /// <p>The values returned are strongly consistent.</p>
         543  +
    /* BuilderGenerator.kt:291 */
  434    544   
    pub fn return_values(mut self, input: crate::types::ReturnValue) -> Self {
         545  +
        /* BuilderGenerator.kt:292 */
  435    546   
        self.return_values = ::std::option::Option::Some(input);
         547  +
        /* BuilderGenerator.kt:293 */
  436    548   
        self
         549  +
        /* BuilderGenerator.kt:291 */
  437    550   
    }
  438         -
    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appear before or after they are updated. For <code>UpdateItem</code>, the valid values are:</p>
         551  +
    /// /* BuilderGenerator.kt:312 */<p>Use <code>ReturnValues</code> if you want to get the item attributes as they appear before or after they are updated. For <code>UpdateItem</code>, the valid values are:</p>
  439    552   
    /// <ul>
  440    553   
    /// <li>
  441    554   
    /// <p><code>NONE</code> - If <code>ReturnValues</code> is not specified, or if its value is <code>NONE</code>, then nothing is returned. (This setting is the default for <code>ReturnValues</code>.)</p></li>
  442    555   
    /// <li>
  443    556   
    /// <p><code>ALL_OLD</code> - Returns all of the attributes of the item, as they appeared before the UpdateItem operation.</p></li>
  444    557   
    /// <li>
  445    558   
    /// <p><code>UPDATED_OLD</code> - Returns only the updated attributes, as they appeared before the UpdateItem operation.</p></li>
  446    559   
    /// <li>
  447    560   
    /// <p><code>ALL_NEW</code> - Returns all of the attributes of the item, as they appear after the UpdateItem operation.</p></li>
  448    561   
    /// <li>
  449    562   
    /// <p><code>UPDATED_NEW</code> - Returns only the updated attributes, as they appear after the UpdateItem operation.</p></li>
  450    563   
    /// </ul>
  451    564   
    /// <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p>
  452    565   
    /// <p>The values returned are strongly consistent.</p>
         566  +
    /* BuilderGenerator.kt:314 */
  453    567   
    pub fn set_return_values(mut self, input: ::std::option::Option<crate::types::ReturnValue>) -> Self {
         568  +
        /* BuilderGenerator.kt:315 */
  454    569   
        self.return_values = input;
  455    570   
        self
         571  +
        /* BuilderGenerator.kt:314 */
  456    572   
    }
  457         -
    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appear before or after they are updated. For <code>UpdateItem</code>, the valid values are:</p>
         573  +
    /// /* BuilderGenerator.kt:334 */<p>Use <code>ReturnValues</code> if you want to get the item attributes as they appear before or after they are updated. For <code>UpdateItem</code>, the valid values are:</p>
  458    574   
    /// <ul>
  459    575   
    /// <li>
  460    576   
    /// <p><code>NONE</code> - If <code>ReturnValues</code> is not specified, or if its value is <code>NONE</code>, then nothing is returned. (This setting is the default for <code>ReturnValues</code>.)</p></li>
  461    577   
    /// <li>
  462    578   
    /// <p><code>ALL_OLD</code> - Returns all of the attributes of the item, as they appeared before the UpdateItem operation.</p></li>
  463    579   
    /// <li>
  464    580   
    /// <p><code>UPDATED_OLD</code> - Returns only the updated attributes, as they appeared before the UpdateItem operation.</p></li>
  465    581   
    /// <li>
  466    582   
    /// <p><code>ALL_NEW</code> - Returns all of the attributes of the item, as they appear after the UpdateItem operation.</p></li>
  467    583   
    /// <li>
  468    584   
    /// <p><code>UPDATED_NEW</code> - Returns only the updated attributes, as they appear after the UpdateItem operation.</p></li>
  469    585   
    /// </ul>
  470    586   
    /// <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p>
  471    587   
    /// <p>The values returned are strongly consistent.</p>
         588  +
    /* BuilderGenerator.kt:336 */
  472    589   
    pub fn get_return_values(&self) -> &::std::option::Option<crate::types::ReturnValue> {
         590  +
        /* BuilderGenerator.kt:337 */
  473    591   
        &self.return_values
         592  +
        /* BuilderGenerator.kt:336 */
  474    593   
    }
  475         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         594  +
    /// /* BuilderGenerator.kt:286 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  476    595   
    /// <ul>
  477    596   
    /// <li>
  478    597   
    /// <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>
  479    598   
    /// <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>
  480    599   
    /// <li>
  481    600   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  482    601   
    /// <li>
  483    602   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  484    603   
    /// </ul>
         604  +
    /* BuilderGenerator.kt:291 */
  485    605   
    pub fn return_consumed_capacity(mut self, input: crate::types::ReturnConsumedCapacity) -> Self {
         606  +
        /* BuilderGenerator.kt:292 */
  486    607   
        self.return_consumed_capacity = ::std::option::Option::Some(input);
         608  +
        /* BuilderGenerator.kt:293 */
  487    609   
        self
         610  +
        /* BuilderGenerator.kt:291 */
  488    611   
    }
  489         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         612  +
    /// /* BuilderGenerator.kt:312 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  490    613   
    /// <ul>
  491    614   
    /// <li>
  492    615   
    /// <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>
  493    616   
    /// <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>
  494    617   
    /// <li>
  495    618   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  496    619   
    /// <li>
  497    620   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  498    621   
    /// </ul>
         622  +
    /* BuilderGenerator.kt:314 */
  499    623   
    pub fn set_return_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ReturnConsumedCapacity>) -> Self {
         624  +
        /* BuilderGenerator.kt:315 */
  500    625   
        self.return_consumed_capacity = input;
  501    626   
        self
         627  +
        /* BuilderGenerator.kt:314 */
  502    628   
    }
  503         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         629  +
    /// /* BuilderGenerator.kt:334 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  504    630   
    /// <ul>
  505    631   
    /// <li>
  506    632   
    /// <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>
  507    633   
    /// <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>
  508    634   
    /// <li>
  509    635   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  510    636   
    /// <li>
  511    637   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  512    638   
    /// </ul>
         639  +
    /* BuilderGenerator.kt:336 */
  513    640   
    pub fn get_return_consumed_capacity(&self) -> &::std::option::Option<crate::types::ReturnConsumedCapacity> {
         641  +
        /* BuilderGenerator.kt:337 */
  514    642   
        &self.return_consumed_capacity
         643  +
        /* BuilderGenerator.kt:336 */
  515    644   
    }
  516         -
    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         645  +
    /// /* BuilderGenerator.kt:286 */<p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         646  +
    /* BuilderGenerator.kt:291 */
  517    647   
    pub fn return_item_collection_metrics(mut self, input: crate::types::ReturnItemCollectionMetrics) -> Self {
         648  +
        /* BuilderGenerator.kt:292 */
  518    649   
        self.return_item_collection_metrics = ::std::option::Option::Some(input);
         650  +
        /* BuilderGenerator.kt:293 */
  519    651   
        self
         652  +
        /* BuilderGenerator.kt:291 */
  520    653   
    }
  521         -
    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         654  +
    /// /* BuilderGenerator.kt:312 */<p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         655  +
    /* BuilderGenerator.kt:314 */
  522    656   
    pub fn set_return_item_collection_metrics(mut self, input: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>) -> Self {
         657  +
        /* BuilderGenerator.kt:315 */
  523    658   
        self.return_item_collection_metrics = input;
  524    659   
        self
         660  +
        /* BuilderGenerator.kt:314 */
  525    661   
    }
  526         -
    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         662  +
    /// /* BuilderGenerator.kt:334 */<p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         663  +
    /* BuilderGenerator.kt:336 */
  527    664   
    pub fn get_return_item_collection_metrics(&self) -> &::std::option::Option<crate::types::ReturnItemCollectionMetrics> {
         665  +
        /* BuilderGenerator.kt:337 */
  528    666   
        &self.return_item_collection_metrics
         667  +
        /* BuilderGenerator.kt:336 */
  529    668   
    }
  530         -
    /// <p>An expression that defines one or more attributes to be updated, the action to be performed on them, and new values for them.</p>
         669  +
    /// /* BuilderGenerator.kt:286 */<p>An expression that defines one or more attributes to be updated, the action to be performed on them, and new values for them.</p>
  531    670   
    /// <p>The following action values are available for <code>UpdateExpression</code>.</p>
  532    671   
    /// <ul>
  533    672   
    /// <li>
  534    673   
    /// <p><code>SET</code> - Adds one or more attributes and values to an item. If any of these attributes already exist, they are replaced by the new values. You can also use <code>SET</code> to add or subtract from an attribute that is of type Number. For example: <code>SET myNum = myNum + :val</code></p>
  535    674   
    /// <p><code>SET</code> supports the following functions:</p>
  536    675   
    /// <ul>
  537    676   
    /// <li>
  538    677   
    /// <p><code>if_not_exists (path, operand)</code> - if the item does not contain an attribute at the specified path, then <code>if_not_exists</code> evaluates to operand; otherwise, it evaluates to path. You can use this function to avoid overwriting an attribute that may already be present in the item.</p></li>
  539    678   
    /// <li>
  540    679   
    /// <p><code>list_append (operand, operand)</code> - evaluates to a list with a new element added to it. You can append the new element to the start or the end of the list by reversing the order of the operands.</p></li>
  541    680   
    /// </ul>
  542    681   
    /// <p>These function names are case-sensitive.</p></li>
  543    682   
    /// <li>
  544    683   
    /// <p><code>REMOVE</code> - Removes one or more attributes from an item.</p></li>
  545    684   
    /// <li>
  546    685   
    /// <p><code>ADD</code> - Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of <code>ADD</code> depends on the data type of the attribute:</p>
  547    686   
    /// <ul>
  548    687   
    /// <li>
  549    688   
    /// <p>If the existing attribute is a number, and if <code>Value</code> is also a number, then <code>Value</code> is mathematically added to the existing attribute. If <code>Value</code> is a negative number, then it is subtracted from the existing attribute.</p><note>
  550    689   
    /// <p>If you use <code>ADD</code> to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses <code>0</code> as the initial value.</p>
  551    690   
    /// <p>Similarly, if you use <code>ADD</code> for an existing item to increment or decrement an attribute value that doesn't exist before the update, DynamoDB uses <code>0</code> as the initial value. For example, suppose that the item you want to update doesn't have an attribute named <code>itemcount</code>, but you decide to <code>ADD</code> the number <code>3</code> to this attribute anyway. DynamoDB will create the <code>itemcount</code> attribute, set its initial value to <code>0</code>, and finally add <code>3</code> to it. The result will be a new <code>itemcount</code> attribute in the item, with a value of <code>3</code>.</p>
  552    691   
    /// </note></li>
  553    692   
    /// <li>
  554    693   
    /// <p>If the existing data type is a set and if <code>Value</code> is also a set, then <code>Value</code> is added to the existing set. For example, if the attribute value is the set <code>\[1,2\]</code>, and the <code>ADD</code> action specified <code>\[3\]</code>, then the final attribute value is <code>\[1,2,3\]</code>. An error occurs if an <code>ADD</code> action is specified for a set attribute and the attribute type specified does not match the existing set type.</p>
  555    694   
    /// <p>Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the <code>Value</code> must also be a set of strings.</p></li>
  556    695   
    /// </ul><important>
  557    696   
    /// <p>The <code>ADD</code> action only supports Number and set data types. In addition, <code>ADD</code> can only be used on top-level attributes, not nested attributes.</p>
  558    697   
    /// </important></li>
  559    698   
    /// <li>
  560    699   
    /// <p><code>DELETE</code> - Deletes an element from a set.</p>
  561    700   
    /// <p>If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set <code>\[a,b,c\]</code> and the <code>DELETE</code> action specifies <code>\[a,c\]</code>, then the final attribute value is <code>\[b\]</code>. Specifying an empty set is an error.</p><important>
  562    701   
    /// <p>The <code>DELETE</code> action only supports set data types. In addition, <code>DELETE</code> can only be used on top-level attributes, not nested attributes.</p>
  563    702   
    /// </important></li>
  564    703   
    /// </ul>
  565    704   
    /// <p>You can have many actions in a single expression, such as the following: <code>SET a=:value1, b=:value2 DELETE :value3, :value4, :value5</code></p>
  566    705   
    /// <p>For more information on update expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html">Modifying Items and Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         706  +
    /* BuilderGenerator.kt:291 */
  567    707   
    pub fn update_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         708  +
        /* BuilderGenerator.kt:292 */
  568    709   
        self.update_expression = ::std::option::Option::Some(input.into());
         710  +
        /* BuilderGenerator.kt:293 */
  569    711   
        self
         712  +
        /* BuilderGenerator.kt:291 */
  570    713   
    }
  571         -
    /// <p>An expression that defines one or more attributes to be updated, the action to be performed on them, and new values for them.</p>
         714  +
    /// /* BuilderGenerator.kt:312 */<p>An expression that defines one or more attributes to be updated, the action to be performed on them, and new values for them.</p>
  572    715   
    /// <p>The following action values are available for <code>UpdateExpression</code>.</p>
  573    716   
    /// <ul>
  574    717   
    /// <li>
  575    718   
    /// <p><code>SET</code> - Adds one or more attributes and values to an item. If any of these attributes already exist, they are replaced by the new values. You can also use <code>SET</code> to add or subtract from an attribute that is of type Number. For example: <code>SET myNum = myNum + :val</code></p>
  576    719   
    /// <p><code>SET</code> supports the following functions:</p>
  577    720   
    /// <ul>
  578    721   
    /// <li>
  579    722   
    /// <p><code>if_not_exists (path, operand)</code> - if the item does not contain an attribute at the specified path, then <code>if_not_exists</code> evaluates to operand; otherwise, it evaluates to path. You can use this function to avoid overwriting an attribute that may already be present in the item.</p></li>
  580    723   
    /// <li>
  581    724   
    /// <p><code>list_append (operand, operand)</code> - evaluates to a list with a new element added to it. You can append the new element to the start or the end of the list by reversing the order of the operands.</p></li>
  582    725   
    /// </ul>
  583    726   
    /// <p>These function names are case-sensitive.</p></li>
  584    727   
    /// <li>
  585    728   
    /// <p><code>REMOVE</code> - Removes one or more attributes from an item.</p></li>
  586    729   
    /// <li>
  587    730   
    /// <p><code>ADD</code> - Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of <code>ADD</code> depends on the data type of the attribute:</p>
  588    731   
    /// <ul>
  589    732   
    /// <li>
  590    733   
    /// <p>If the existing attribute is a number, and if <code>Value</code> is also a number, then <code>Value</code> is mathematically added to the existing attribute. If <code>Value</code> is a negative number, then it is subtracted from the existing attribute.</p><note>
  591    734   
    /// <p>If you use <code>ADD</code> to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses <code>0</code> as the initial value.</p>
  592    735   
    /// <p>Similarly, if you use <code>ADD</code> for an existing item to increment or decrement an attribute value that doesn't exist before the update, DynamoDB uses <code>0</code> as the initial value. For example, suppose that the item you want to update doesn't have an attribute named <code>itemcount</code>, but you decide to <code>ADD</code> the number <code>3</code> to this attribute anyway. DynamoDB will create the <code>itemcount</code> attribute, set its initial value to <code>0</code>, and finally add <code>3</code> to it. The result will be a new <code>itemcount</code> attribute in the item, with a value of <code>3</code>.</p>
  593    736   
    /// </note></li>
  594    737   
    /// <li>
  595    738   
    /// <p>If the existing data type is a set and if <code>Value</code> is also a set, then <code>Value</code> is added to the existing set. For example, if the attribute value is the set <code>\[1,2\]</code>, and the <code>ADD</code> action specified <code>\[3\]</code>, then the final attribute value is <code>\[1,2,3\]</code>. An error occurs if an <code>ADD</code> action is specified for a set attribute and the attribute type specified does not match the existing set type.</p>
  596    739   
    /// <p>Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the <code>Value</code> must also be a set of strings.</p></li>
  597    740   
    /// </ul><important>
  598    741   
    /// <p>The <code>ADD</code> action only supports Number and set data types. In addition, <code>ADD</code> can only be used on top-level attributes, not nested attributes.</p>
  599    742   
    /// </important></li>
  600    743   
    /// <li>
  601    744   
    /// <p><code>DELETE</code> - Deletes an element from a set.</p>
  602    745   
    /// <p>If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set <code>\[a,b,c\]</code> and the <code>DELETE</code> action specifies <code>\[a,c\]</code>, then the final attribute value is <code>\[b\]</code>. Specifying an empty set is an error.</p><important>
  603    746   
    /// <p>The <code>DELETE</code> action only supports set data types. In addition, <code>DELETE</code> can only be used on top-level attributes, not nested attributes.</p>
  604    747   
    /// </important></li>
  605    748   
    /// </ul>
  606    749   
    /// <p>You can have many actions in a single expression, such as the following: <code>SET a=:value1, b=:value2 DELETE :value3, :value4, :value5</code></p>
  607    750   
    /// <p>For more information on update expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html">Modifying Items and Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         751  +
    /* BuilderGenerator.kt:314 */
  608    752   
    pub fn set_update_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         753  +
        /* BuilderGenerator.kt:315 */
  609    754   
        self.update_expression = input;
  610    755   
        self
         756  +
        /* BuilderGenerator.kt:314 */
  611    757   
    }
  612         -
    /// <p>An expression that defines one or more attributes to be updated, the action to be performed on them, and new values for them.</p>
         758  +
    /// /* BuilderGenerator.kt:334 */<p>An expression that defines one or more attributes to be updated, the action to be performed on them, and new values for them.</p>
  613    759   
    /// <p>The following action values are available for <code>UpdateExpression</code>.</p>
  614    760   
    /// <ul>
  615    761   
    /// <li>
  616    762   
    /// <p><code>SET</code> - Adds one or more attributes and values to an item. If any of these attributes already exist, they are replaced by the new values. You can also use <code>SET</code> to add or subtract from an attribute that is of type Number. For example: <code>SET myNum = myNum + :val</code></p>
  617    763   
    /// <p><code>SET</code> supports the following functions:</p>
  618    764   
    /// <ul>
  619    765   
    /// <li>
  620    766   
    /// <p><code>if_not_exists (path, operand)</code> - if the item does not contain an attribute at the specified path, then <code>if_not_exists</code> evaluates to operand; otherwise, it evaluates to path. You can use this function to avoid overwriting an attribute that may already be present in the item.</p></li>
  621    767   
    /// <li>
  622    768   
    /// <p><code>list_append (operand, operand)</code> - evaluates to a list with a new element added to it. You can append the new element to the start or the end of the list by reversing the order of the operands.</p></li>
  623    769   
    /// </ul>
  624    770   
    /// <p>These function names are case-sensitive.</p></li>
  625    771   
    /// <li>
  626    772   
    /// <p><code>REMOVE</code> - Removes one or more attributes from an item.</p></li>
  627    773   
    /// <li>
  628    774   
    /// <p><code>ADD</code> - Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of <code>ADD</code> depends on the data type of the attribute:</p>
  629    775   
    /// <ul>
  630    776   
    /// <li>
  631    777   
    /// <p>If the existing attribute is a number, and if <code>Value</code> is also a number, then <code>Value</code> is mathematically added to the existing attribute. If <code>Value</code> is a negative number, then it is subtracted from the existing attribute.</p><note>
  632    778   
    /// <p>If you use <code>ADD</code> to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses <code>0</code> as the initial value.</p>
  633    779   
    /// <p>Similarly, if you use <code>ADD</code> for an existing item to increment or decrement an attribute value that doesn't exist before the update, DynamoDB uses <code>0</code> as the initial value. For example, suppose that the item you want to update doesn't have an attribute named <code>itemcount</code>, but you decide to <code>ADD</code> the number <code>3</code> to this attribute anyway. DynamoDB will create the <code>itemcount</code> attribute, set its initial value to <code>0</code>, and finally add <code>3</code> to it. The result will be a new <code>itemcount</code> attribute in the item, with a value of <code>3</code>.</p>
  634    780   
    /// </note></li>
  635    781   
    /// <li>
  636    782   
    /// <p>If the existing data type is a set and if <code>Value</code> is also a set, then <code>Value</code> is added to the existing set. For example, if the attribute value is the set <code>\[1,2\]</code>, and the <code>ADD</code> action specified <code>\[3\]</code>, then the final attribute value is <code>\[1,2,3\]</code>. An error occurs if an <code>ADD</code> action is specified for a set attribute and the attribute type specified does not match the existing set type.</p>
  637    783   
    /// <p>Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the <code>Value</code> must also be a set of strings.</p></li>
  638    784   
    /// </ul><important>
  639    785   
    /// <p>The <code>ADD</code> action only supports Number and set data types. In addition, <code>ADD</code> can only be used on top-level attributes, not nested attributes.</p>
  640    786   
    /// </important></li>
  641    787   
    /// <li>
  642    788   
    /// <p><code>DELETE</code> - Deletes an element from a set.</p>
  643    789   
    /// <p>If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set <code>\[a,b,c\]</code> and the <code>DELETE</code> action specifies <code>\[a,c\]</code>, then the final attribute value is <code>\[b\]</code>. Specifying an empty set is an error.</p><important>
  644    790   
    /// <p>The <code>DELETE</code> action only supports set data types. In addition, <code>DELETE</code> can only be used on top-level attributes, not nested attributes.</p>
  645    791   
    /// </important></li>
  646    792   
    /// </ul>
  647    793   
    /// <p>You can have many actions in a single expression, such as the following: <code>SET a=:value1, b=:value2 DELETE :value3, :value4, :value5</code></p>
  648    794   
    /// <p>For more information on update expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html">Modifying Items and Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         795  +
    /* BuilderGenerator.kt:336 */
  649    796   
    pub fn get_update_expression(&self) -> &::std::option::Option<::std::string::String> {
         797  +
        /* BuilderGenerator.kt:337 */
  650    798   
        &self.update_expression
         799  +
        /* BuilderGenerator.kt:336 */
  651    800   
    }
  652         -
    /// <p>A condition that must be satisfied in order for a conditional update to succeed.</p>
         801  +
    /// /* BuilderGenerator.kt:286 */<p>A condition that must be satisfied in order for a conditional update to succeed.</p>
  653    802   
    /// <p>An expression can contain any of the following:</p>
  654    803   
    /// <ul>
  655    804   
    /// <li>
  656    805   
    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
  657    806   
    /// <p>These function names are case-sensitive.</p></li>
  658    807   
    /// <li>
  659    808   
    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
  660    809   
    /// <li>
  661    810   
    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
  662    811   
    /// </ul>
  663    812   
    /// <p>For more information about condition expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Specifying Conditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         813  +
    /* BuilderGenerator.kt:291 */
  664    814   
    pub fn condition_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         815  +
        /* BuilderGenerator.kt:292 */
  665    816   
        self.condition_expression = ::std::option::Option::Some(input.into());
         817  +
        /* BuilderGenerator.kt:293 */
  666    818   
        self
         819  +
        /* BuilderGenerator.kt:291 */
  667    820   
    }
  668         -
    /// <p>A condition that must be satisfied in order for a conditional update to succeed.</p>
         821  +
    /// /* BuilderGenerator.kt:312 */<p>A condition that must be satisfied in order for a conditional update to succeed.</p>
  669    822   
    /// <p>An expression can contain any of the following:</p>
  670    823   
    /// <ul>
  671    824   
    /// <li>
  672    825   
    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
  673    826   
    /// <p>These function names are case-sensitive.</p></li>
  674    827   
    /// <li>
  675    828   
    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
  676    829   
    /// <li>
  677    830   
    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
  678    831   
    /// </ul>
  679    832   
    /// <p>For more information about condition expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Specifying Conditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         833  +
    /* BuilderGenerator.kt:314 */
  680    834   
    pub fn set_condition_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         835  +
        /* BuilderGenerator.kt:315 */
  681    836   
        self.condition_expression = input;
  682    837   
        self
         838  +
        /* BuilderGenerator.kt:314 */
  683    839   
    }
  684         -
    /// <p>A condition that must be satisfied in order for a conditional update to succeed.</p>
         840  +
    /// /* BuilderGenerator.kt:334 */<p>A condition that must be satisfied in order for a conditional update to succeed.</p>
  685    841   
    /// <p>An expression can contain any of the following:</p>
  686    842   
    /// <ul>
  687    843   
    /// <li>
  688    844   
    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
  689    845   
    /// <p>These function names are case-sensitive.</p></li>
  690    846   
    /// <li>
  691    847   
    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
  692    848   
    /// <li>
  693    849   
    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
  694    850   
    /// </ul>
  695    851   
    /// <p>For more information about condition expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Specifying Conditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         852  +
    /* BuilderGenerator.kt:336 */
  696    853   
    pub fn get_condition_expression(&self) -> &::std::option::Option<::std::string::String> {
         854  +
        /* BuilderGenerator.kt:337 */
  697    855   
        &self.condition_expression
         856  +
        /* BuilderGenerator.kt:336 */
  698    857   
    }
  699         -
    /// Adds a key-value pair to `expression_attribute_names`.
         858  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `expression_attribute_names`.
         859  +
    /* BuilderGenerator.kt:437 */
  700    860   
    ///
  701         -
    /// To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
         861  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
         862  +
    /* BuilderGenerator.kt:439 */
  702    863   
    ///
  703         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         864  +
    /// /* BuilderGenerator.kt: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>
  704    865   
    /// <ul>
  705    866   
    /// <li>
  706    867   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  707    868   
    /// <li>
  708    869   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  709    870   
    /// <li>
  710    871   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  711    872   
    /// </ul>
  712    873   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  713    874   
    /// <ul>
  714    875   
    /// <li>
  715    876   
    /// <p><code>Percentile</code></p></li>
  716    877   
    /// </ul>
  717    878   
    /// <p>The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html">Reserved Words</a> in the <i>Amazon DynamoDB Developer Guide</i>.) To work around this, you could specify the following for <code>ExpressionAttributeNames</code>:</p>
  718    879   
    /// <ul>
  719    880   
    /// <li>
  720    881   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  721    882   
    /// </ul>
  722    883   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  723    884   
    /// <ul>
  724    885   
    /// <li>
  725    886   
    /// <p><code>#P = :val</code></p></li>
  726    887   
    /// </ul><note>
  727    888   
    /// <p>Tokens that begin with the <b>:</b> character are <i>expression attribute values</i>, which are placeholders for the actual value at runtime.</p>
  728    889   
    /// </note>
  729    890   
    /// <p>For more information about expression attribute names, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html">Specifying Item Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         891  +
    /* BuilderGenerator.kt:445 */
  730    892   
    pub fn expression_attribute_names(
  731    893   
        mut self,
  732    894   
        k: impl ::std::convert::Into<::std::string::String>,
  733    895   
        v: impl ::std::convert::Into<::std::string::String>,
  734    896   
    ) -> Self {
         897  +
        /* BuilderGenerator.kt:448 */
  735    898   
        let mut hash_map = self.expression_attribute_names.unwrap_or_default();
  736    899   
        hash_map.insert(k.into(), v.into());
  737    900   
        self.expression_attribute_names = ::std::option::Option::Some(hash_map);
  738    901   
        self
         902  +
        /* BuilderGenerator.kt:445 */
  739    903   
    }
  740         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         904  +
    /// /* 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>
  741    905   
    /// <ul>
  742    906   
    /// <li>
  743    907   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  744    908   
    /// <li>
  745    909   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  746    910   
    /// <li>
  747    911   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  748    912   
    /// </ul>
  749    913   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  750    914   
    /// <ul>
  751    915   
    /// <li>
  752    916   
    /// <p><code>Percentile</code></p></li>
  753    917   
    /// </ul>
  754    918   
    /// <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>
  755    919   
    /// <ul>
  756    920   
    /// <li>
  757    921   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  758    922   
    /// </ul>
  759    923   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  760    924   
    /// <ul>
  761    925   
    /// <li>
  762    926   
    /// <p><code>#P = :val</code></p></li>
  763    927   
    /// </ul><note>
  764    928   
    /// <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>
  765    929   
    /// </note>
  766    930   
    /// <p>For more information about 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>
         931  +
    /* BuilderGenerator.kt:314 */
  767    932   
    pub fn set_expression_attribute_names(
  768    933   
        mut self,
  769    934   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
  770    935   
    ) -> Self {
         936  +
        /* BuilderGenerator.kt:315 */
  771    937   
        self.expression_attribute_names = input;
  772    938   
        self
         939  +
        /* BuilderGenerator.kt:314 */
  773    940   
    }
  774         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         941  +
    /// /* 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>
  775    942   
    /// <ul>
  776    943   
    /// <li>
  777    944   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  778    945   
    /// <li>
  779    946   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  780    947   
    /// <li>
  781    948   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  782    949   
    /// </ul>
  783    950   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  784    951   
    /// <ul>
  785    952   
    /// <li>
  786    953   
    /// <p><code>Percentile</code></p></li>
  787    954   
    /// </ul>
  788    955   
    /// <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>
  789    956   
    /// <ul>
  790    957   
    /// <li>
  791    958   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  792    959   
    /// </ul>
  793    960   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  794    961   
    /// <ul>
  795    962   
    /// <li>
  796    963   
    /// <p><code>#P = :val</code></p></li>
  797    964   
    /// </ul><note>
  798    965   
    /// <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>
  799    966   
    /// </note>
  800    967   
    /// <p>For more information about 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>
         968  +
    /* BuilderGenerator.kt:336 */
  801    969   
    pub fn get_expression_attribute_names(
  802    970   
        &self,
  803    971   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
         972  +
        /* BuilderGenerator.kt:337 */
  804    973   
        &self.expression_attribute_names
         974  +
        /* BuilderGenerator.kt:336 */
  805    975   
    }
  806         -
    /// Adds a key-value pair to `expression_attribute_values`.
         976  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `expression_attribute_values`.
         977  +
    /* BuilderGenerator.kt:437 */
  807    978   
    ///
  808         -
    /// To override the contents of this collection use [`set_expression_attribute_values`](Self::set_expression_attribute_values).
         979  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_expression_attribute_values`](Self::set_expression_attribute_values).
         980  +
    /* BuilderGenerator.kt:439 */
  809    981   
    ///
  810         -
    /// <p>One or more values that can be substituted in an expression.</p>
         982  +
    /// /* BuilderGenerator.kt:440 */<p>One or more values that can be substituted in an expression.</p>
  811    983   
    /// <p>Use the <b>:</b> (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the <code>ProductStatus</code> attribute was one of the following:</p>
  812    984   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  813    985   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  814    986   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  815    987   
    /// <p>You could then use these values in an expression, such as this:</p>
  816    988   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  817    989   
    /// <p>For more information on expression attribute values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Condition Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         990  +
    /* BuilderGenerator.kt:445 */
  818    991   
    pub fn expression_attribute_values(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
         992  +
        /* BuilderGenerator.kt:448 */
  819    993   
        let mut hash_map = self.expression_attribute_values.unwrap_or_default();
  820    994   
        hash_map.insert(k.into(), v);
  821    995   
        self.expression_attribute_values = ::std::option::Option::Some(hash_map);
  822    996   
        self
         997  +
        /* BuilderGenerator.kt:445 */
  823    998   
    }
  824         -
    /// <p>One or more values that can be substituted in an expression.</p>
         999  +
    /// /* BuilderGenerator.kt:312 */<p>One or more values that can be substituted in an expression.</p>
  825   1000   
    /// <p>Use the <b>:</b> (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the <code>ProductStatus</code> attribute was one of the following:</p>
  826   1001   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  827   1002   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  828   1003   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  829   1004   
    /// <p>You could then use these values in an expression, such as this:</p>
  830   1005   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  831   1006   
    /// <p>For more information on expression attribute values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Condition Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
        1007  +
    /* BuilderGenerator.kt:314 */
  832   1008   
    pub fn set_expression_attribute_values(
  833   1009   
        mut self,
  834   1010   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  835   1011   
    ) -> Self {
        1012  +
        /* BuilderGenerator.kt:315 */
  836   1013   
        self.expression_attribute_values = input;
  837   1014   
        self
        1015  +
        /* BuilderGenerator.kt:314 */
  838   1016   
    }
  839         -
    /// <p>One or more values that can be substituted in an expression.</p>
        1017  +
    /// /* BuilderGenerator.kt:334 */<p>One or more values that can be substituted in an expression.</p>
  840   1018   
    /// <p>Use the <b>:</b> (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the <code>ProductStatus</code> attribute was one of the following:</p>
  841   1019   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  842   1020   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  843   1021   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  844   1022   
    /// <p>You could then use these values in an expression, such as this:</p>
  845   1023   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  846   1024   
    /// <p>For more information on expression attribute values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Condition Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
        1025  +
    /* BuilderGenerator.kt:336 */
  847   1026   
    pub fn get_expression_attribute_values(
  848   1027   
        &self,
  849   1028   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
        1029  +
        /* BuilderGenerator.kt:337 */
  850   1030   
        &self.expression_attribute_values
        1031  +
        /* BuilderGenerator.kt:336 */
  851   1032   
    }
  852         -
    /// Consumes the builder and constructs a [`UpdateItemInput`](crate::operation::update_item::UpdateItemInput).
        1033  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`UpdateItemInput`](crate::operation::update_item::UpdateItemInput).
        1034  +
    /* BuilderGenerator.kt:253 */
  853   1035   
    pub fn build(self) -> ::std::result::Result<crate::operation::update_item::UpdateItemInput, ::aws_smithy_types::error::operation::BuildError> {
  854         -
        ::std::result::Result::Ok(crate::operation::update_item::UpdateItemInput {
  855         -
            table_name: self.table_name,
        1036  +
        /* BuilderGenerator.kt:254 */
        1037  +
        ::std::result::Result::Ok(
        1038  +
            /* BuilderGenerator.kt:477 */
        1039  +
            crate::operation::update_item::UpdateItemInput {
        1040  +
                /* BuilderGenerator.kt:481 */ table_name: self.table_name,
        1041  +
                /* BuilderGenerator.kt:481 */
  856   1042   
                key: self.key,
        1043  +
                /* BuilderGenerator.kt:481 */
  857   1044   
                attribute_updates: self.attribute_updates,
        1045  +
                /* BuilderGenerator.kt:481 */
  858   1046   
                expected: self.expected,
        1047  +
                /* BuilderGenerator.kt:481 */
  859   1048   
                conditional_operator: self.conditional_operator,
        1049  +
                /* BuilderGenerator.kt:481 */
  860   1050   
                return_values: self.return_values,
        1051  +
                /* BuilderGenerator.kt:481 */
  861   1052   
                return_consumed_capacity: self.return_consumed_capacity,
        1053  +
                /* BuilderGenerator.kt:481 */
  862   1054   
                return_item_collection_metrics: self.return_item_collection_metrics,
        1055  +
                /* BuilderGenerator.kt:481 */
  863   1056   
                update_expression: self.update_expression,
        1057  +
                /* BuilderGenerator.kt:481 */
  864   1058   
                condition_expression: self.condition_expression,
        1059  +
                /* BuilderGenerator.kt:481 */
  865   1060   
                expression_attribute_names: self.expression_attribute_names,
        1061  +
                /* BuilderGenerator.kt:481 */
  866   1062   
                expression_attribute_values: self.expression_attribute_values,
  867         -
        })
        1063  +
                /* BuilderGenerator.kt:477 */
        1064  +
            }, /* BuilderGenerator.kt:254 */
        1065  +
        )
        1066  +
        /* BuilderGenerator.kt:253 */
  868   1067   
    }
        1068  +
    /* BuilderGenerator.kt:355 */
  869   1069   
}