Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943

Files changed:

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

@@ -1,1 +50,89 @@
    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 DeleteBackupInput {
    6         -
    /// <p>The ARN associated with the backup.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct DeleteBackupInput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The ARN associated with the backup.</p>
    7     10   
    pub backup_arn: ::std::option::Option<::std::string::String>,
          11  +
    /* StructureGenerator.kt:201 */
    8     12   
}
          13  +
/* StructureGenerator.kt:135 */
    9     14   
impl DeleteBackupInput {
   10         -
    /// <p>The ARN associated with the backup.</p>
          15  +
    /// /* StructureGenerator.kt:231 */<p>The ARN associated with the backup.</p>
          16  +
    /* StructureGenerator.kt:166 */
   11     17   
    pub fn backup_arn(&self) -> ::std::option::Option<&str> {
          18  +
        /* StructureGenerator.kt:169 */
   12     19   
        self.backup_arn.as_deref()
          20  +
        /* StructureGenerator.kt:166 */
   13     21   
    }
          22  +
    /* StructureGenerator.kt:135 */
   14     23   
}
          24  +
/* ClientCodegenVisitor.kt:237 */
   15     25   
impl DeleteBackupInput {
   16         -
    /// Creates a new builder-style object to manufacture [`DeleteBackupInput`](crate::operation::delete_backup::DeleteBackupInput).
          26  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`DeleteBackupInput`](crate::operation::delete_backup::DeleteBackupInput).
          27  +
    /* BuilderGenerator.kt:175 */
   17     28   
    pub fn builder() -> crate::operation::delete_backup::builders::DeleteBackupInputBuilder {
          29  +
        /* BuilderGenerator.kt:176 */
   18     30   
        crate::operation::delete_backup::builders::DeleteBackupInputBuilder::default()
          31  +
        /* BuilderGenerator.kt:175 */
   19     32   
    }
          33  +
    /* ClientCodegenVisitor.kt:237 */
   20     34   
}
   21     35   
   22         -
/// A builder for [`DeleteBackupInput`](crate::operation::delete_backup::DeleteBackupInput).
          36  +
/// /* BuilderGenerator.kt:342 */A builder for [`DeleteBackupInput`](crate::operation::delete_backup::DeleteBackupInput).
          37  +
/* RustType.kt:516 */
   23     38   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          39  +
/* RustType.kt:516 */
   24     40   
#[non_exhaustive]
          41  +
/* BuilderGenerator.kt:345 */
   25     42   
pub struct DeleteBackupInputBuilder {
   26         -
    pub(crate) backup_arn: ::std::option::Option<::std::string::String>,
          43  +
    /* BuilderGenerator.kt:275 */ pub(crate) backup_arn: ::std::option::Option<::std::string::String>,
          44  +
    /* BuilderGenerator.kt:345 */
   27     45   
}
          46  +
/* BuilderGenerator.kt:355 */
   28     47   
impl DeleteBackupInputBuilder {
   29         -
    /// <p>The ARN associated with the backup.</p>
   30         -
    /// This field is required.
          48  +
    /// /* BuilderGenerator.kt:286 */<p>The ARN associated with the backup.</p>
          49  +
    /// /* BuilderGenerator.kt:288 */This field is required.
          50  +
    /* BuilderGenerator.kt:291 */
   31     51   
    pub fn backup_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          52  +
        /* BuilderGenerator.kt:292 */
   32     53   
        self.backup_arn = ::std::option::Option::Some(input.into());
          54  +
        /* BuilderGenerator.kt:293 */
   33     55   
        self
          56  +
        /* BuilderGenerator.kt:291 */
   34     57   
    }
   35         -
    /// <p>The ARN associated with the backup.</p>
          58  +
    /// /* BuilderGenerator.kt:312 */<p>The ARN associated with the backup.</p>
          59  +
    /* BuilderGenerator.kt:314 */
   36     60   
    pub fn set_backup_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          61  +
        /* BuilderGenerator.kt:315 */
   37     62   
        self.backup_arn = input;
   38     63   
        self
          64  +
        /* BuilderGenerator.kt:314 */
   39     65   
    }
   40         -
    /// <p>The ARN associated with the backup.</p>
          66  +
    /// /* BuilderGenerator.kt:334 */<p>The ARN associated with the backup.</p>
          67  +
    /* BuilderGenerator.kt:336 */
   41     68   
    pub fn get_backup_arn(&self) -> &::std::option::Option<::std::string::String> {
          69  +
        /* BuilderGenerator.kt:337 */
   42     70   
        &self.backup_arn
          71  +
        /* BuilderGenerator.kt:336 */
   43     72   
    }
   44         -
    /// Consumes the builder and constructs a [`DeleteBackupInput`](crate::operation::delete_backup::DeleteBackupInput).
          73  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`DeleteBackupInput`](crate::operation::delete_backup::DeleteBackupInput).
          74  +
    /* BuilderGenerator.kt:253 */
   45     75   
    pub fn build(
   46     76   
        self,
   47     77   
    ) -> ::std::result::Result<crate::operation::delete_backup::DeleteBackupInput, ::aws_smithy_types::error::operation::BuildError> {
   48         -
        ::std::result::Result::Ok(crate::operation::delete_backup::DeleteBackupInput { backup_arn: self.backup_arn })
          78  +
        /* BuilderGenerator.kt:254 */
          79  +
        ::std::result::Result::Ok(
          80  +
            /* BuilderGenerator.kt:477 */
          81  +
            crate::operation::delete_backup::DeleteBackupInput {
          82  +
                /* BuilderGenerator.kt:481 */ backup_arn: self.backup_arn,
          83  +
                /* BuilderGenerator.kt:477 */
          84  +
            }, /* BuilderGenerator.kt:254 */
          85  +
        )
          86  +
        /* BuilderGenerator.kt:253 */
   49     87   
    }
          88  +
    /* BuilderGenerator.kt:355 */
   50     89   
}

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

@@ -1,1 +49,84 @@
    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 DeleteBackupOutput {
    6         -
    /// <p>Contains the description of the backup created for the table.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct DeleteBackupOutput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>Contains the description of the backup created for the table.</p>
    7     10   
    pub backup_description: ::std::option::Option<crate::types::BackupDescription>,
          11  +
    /* StructureGenerator.kt:201 */
    8     12   
}
          13  +
/* StructureGenerator.kt:135 */
    9     14   
impl DeleteBackupOutput {
   10         -
    /// <p>Contains the description of the backup created for the table.</p>
          15  +
    /// /* StructureGenerator.kt:231 */<p>Contains the description of the backup created for the table.</p>
          16  +
    /* StructureGenerator.kt:166 */
   11     17   
    pub fn backup_description(&self) -> ::std::option::Option<&crate::types::BackupDescription> {
          18  +
        /* StructureGenerator.kt:170 */
   12     19   
        self.backup_description.as_ref()
          20  +
        /* StructureGenerator.kt:166 */
   13     21   
    }
          22  +
    /* StructureGenerator.kt:135 */
   14     23   
}
          24  +
/* ClientCodegenVisitor.kt:237 */
   15     25   
impl DeleteBackupOutput {
   16         -
    /// Creates a new builder-style object to manufacture [`DeleteBackupOutput`](crate::operation::delete_backup::DeleteBackupOutput).
          26  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`DeleteBackupOutput`](crate::operation::delete_backup::DeleteBackupOutput).
          27  +
    /* BuilderGenerator.kt:175 */
   17     28   
    pub fn builder() -> crate::operation::delete_backup::builders::DeleteBackupOutputBuilder {
          29  +
        /* BuilderGenerator.kt:176 */
   18     30   
        crate::operation::delete_backup::builders::DeleteBackupOutputBuilder::default()
          31  +
        /* BuilderGenerator.kt:175 */
   19     32   
    }
          33  +
    /* ClientCodegenVisitor.kt:237 */
   20     34   
}
   21     35   
   22         -
/// A builder for [`DeleteBackupOutput`](crate::operation::delete_backup::DeleteBackupOutput).
          36  +
/// /* BuilderGenerator.kt:342 */A builder for [`DeleteBackupOutput`](crate::operation::delete_backup::DeleteBackupOutput).
          37  +
/* RustType.kt:516 */
   23     38   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          39  +
/* RustType.kt:516 */
   24     40   
#[non_exhaustive]
          41  +
/* BuilderGenerator.kt:345 */
   25     42   
pub struct DeleteBackupOutputBuilder {
          43  +
    /* BuilderGenerator.kt:275 */
   26     44   
    pub(crate) backup_description: ::std::option::Option<crate::types::BackupDescription>,
          45  +
    /* BuilderGenerator.kt:345 */
   27     46   
}
          47  +
/* BuilderGenerator.kt:355 */
   28     48   
impl DeleteBackupOutputBuilder {
   29         -
    /// <p>Contains the description of the backup created for the table.</p>
          49  +
    /// /* BuilderGenerator.kt:286 */<p>Contains the description of the backup created for the table.</p>
          50  +
    /* BuilderGenerator.kt:291 */
   30     51   
    pub fn backup_description(mut self, input: crate::types::BackupDescription) -> Self {
          52  +
        /* BuilderGenerator.kt:292 */
   31     53   
        self.backup_description = ::std::option::Option::Some(input);
          54  +
        /* BuilderGenerator.kt:293 */
   32     55   
        self
          56  +
        /* BuilderGenerator.kt:291 */
   33     57   
    }
   34         -
    /// <p>Contains the description of the backup created for the table.</p>
          58  +
    /// /* BuilderGenerator.kt:312 */<p>Contains the description of the backup created for the table.</p>
          59  +
    /* BuilderGenerator.kt:314 */
   35     60   
    pub fn set_backup_description(mut self, input: ::std::option::Option<crate::types::BackupDescription>) -> Self {
          61  +
        /* BuilderGenerator.kt:315 */
   36     62   
        self.backup_description = input;
   37     63   
        self
          64  +
        /* BuilderGenerator.kt:314 */
   38     65   
    }
   39         -
    /// <p>Contains the description of the backup created for the table.</p>
          66  +
    /// /* BuilderGenerator.kt:334 */<p>Contains the description of the backup created for the table.</p>
          67  +
    /* BuilderGenerator.kt:336 */
   40     68   
    pub fn get_backup_description(&self) -> &::std::option::Option<crate::types::BackupDescription> {
          69  +
        /* BuilderGenerator.kt:337 */
   41     70   
        &self.backup_description
          71  +
        /* BuilderGenerator.kt:336 */
   42     72   
    }
   43         -
    /// Consumes the builder and constructs a [`DeleteBackupOutput`](crate::operation::delete_backup::DeleteBackupOutput).
          73  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`DeleteBackupOutput`](crate::operation::delete_backup::DeleteBackupOutput).
          74  +
    /* BuilderGenerator.kt:253 */
   44     75   
    pub fn build(self) -> crate::operation::delete_backup::DeleteBackupOutput {
          76  +
        /* BuilderGenerator.kt:477 */
   45     77   
        crate::operation::delete_backup::DeleteBackupOutput {
   46         -
            backup_description: self.backup_description,
          78  +
            /* BuilderGenerator.kt:481 */ backup_description: self.backup_description,
          79  +
            /* BuilderGenerator.kt:477 */
   47     80   
        }
          81  +
        /* BuilderGenerator.kt:253 */
   48     82   
    }
          83  +
    /* BuilderGenerator.kt:355 */
   49     84   
}

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

@@ -1,1 +126,141 @@
    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::delete_backup::_delete_backup_output::DeleteBackupOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::delete_backup::_delete_backup_input::DeleteBackupInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::delete_backup::builders::DeleteBackupInputBuilder {
    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::delete_backup::DeleteBackupOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::delete_backup::DeleteBackupError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.delete_backup();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `DeleteBackup`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `DeleteBackup`.
   24     27   
///
   25         -
/// <p>Deletes an existing backup of a table.</p>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p>Deletes an existing backup of a table.</p>
   26     29   
/// <p>You can call <code>DeleteBackup</code> at a maximum rate of 10 times per second.</p>
          30  +
/* RustType.kt:516 */
   27     31   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          32  +
/* FluentBuilderGenerator.kt:270 */
   28     33   
pub struct DeleteBackupFluentBuilder {
   29     34   
    handle: ::std::sync::Arc<crate::client::Handle>,
   30     35   
    inner: crate::operation::delete_backup::builders::DeleteBackupInputBuilder,
   31     36   
    config_override: ::std::option::Option<crate::config::Builder>,
   32     37   
}
          38  +
/* FluentBuilderGenerator.kt:381 */
   33     39   
impl
   34     40   
    crate::client::customize::internal::CustomizableSend<
   35     41   
        crate::operation::delete_backup::DeleteBackupOutput,
   36     42   
        crate::operation::delete_backup::DeleteBackupError,
   37     43   
    > for DeleteBackupFluentBuilder
   38     44   
{
   39     45   
    fn send(
   40     46   
        self,
   41     47   
        config_override: crate::config::Builder,
   42     48   
    ) -> crate::client::customize::internal::BoxFuture<
   43     49   
        crate::client::customize::internal::SendResult<
   44     50   
            crate::operation::delete_backup::DeleteBackupOutput,
   45     51   
            crate::operation::delete_backup::DeleteBackupError,
   46     52   
        >,
   47     53   
    > {
   48     54   
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
   49     55   
    }
   50     56   
}
          57  +
/* FluentBuilderGenerator.kt:282 */
   51     58   
impl DeleteBackupFluentBuilder {
          59  +
    /* FluentBuilderGenerator.kt:288 */
   52     60   
    /// Creates a new `DeleteBackupFluentBuilder`.
   53     61   
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
   54     62   
        Self {
   55     63   
            handle,
   56     64   
            inner: ::std::default::Default::default(),
   57     65   
            config_override: ::std::option::Option::None,
   58     66   
        }
   59     67   
    }
          68  +
    /* FluentBuilderGenerator.kt:301 */
   60     69   
    /// Access the DeleteBackup as a reference.
   61     70   
    pub fn as_input(&self) -> &crate::operation::delete_backup::builders::DeleteBackupInputBuilder {
   62     71   
        &self.inner
   63     72   
    }
          73  +
    /* FluentBuilderGenerator.kt:145 */
   64     74   
    /// Sends the request and returns the response.
   65     75   
    ///
   66     76   
    /// If an error occurs, an `SdkError` will be returned with additional details that
   67     77   
    /// can be matched against.
   68     78   
    ///
   69     79   
    /// By default, any retryable failures will be retried twice. Retry behavior
   70     80   
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
   71     81   
    /// set when configuring the client.
   72     82   
    pub async fn send(
   73     83   
        self,
   74     84   
    ) -> ::std::result::Result<
   75     85   
        crate::operation::delete_backup::DeleteBackupOutput,
   76     86   
        ::aws_smithy_runtime_api::client::result::SdkError<
   77     87   
            crate::operation::delete_backup::DeleteBackupError,
   78     88   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   79     89   
        >,
   80     90   
    > {
   81     91   
        let input = self
   82     92   
            .inner
   83     93   
            .build()
   84     94   
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
   85     95   
        let runtime_plugins = crate::operation::delete_backup::DeleteBackup::operation_runtime_plugins(
   86     96   
            self.handle.runtime_plugins.clone(),
   87     97   
            &self.handle.conf,
   88     98   
            self.config_override,
   89     99   
        );
   90    100   
        crate::operation::delete_backup::DeleteBackup::orchestrate(&runtime_plugins, input).await
   91    101   
    }
   92    102   
   93    103   
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
   94    104   
    pub fn customize(
   95    105   
        self,
   96    106   
    ) -> crate::client::customize::CustomizableOperation<
   97    107   
        crate::operation::delete_backup::DeleteBackupOutput,
   98    108   
        crate::operation::delete_backup::DeleteBackupError,
   99    109   
        Self,
  100    110   
    > {
  101    111   
        crate::client::customize::CustomizableOperation::new(self)
  102    112   
    }
         113  +
    /* FluentBuilderGenerator.kt:315 */
  103    114   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
  104    115   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
  105    116   
        self
  106    117   
    }
  107    118   
  108    119   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  109    120   
        self.config_override = config_override;
  110    121   
        self
  111    122   
    }
  112         -
    /// <p>The ARN associated with the backup.</p>
         123  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The ARN associated with the backup.</p>
         124  +
    /* FluentBuilderGenerator.kt:500 */
  113    125   
    pub fn backup_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  114    126   
        self.inner = self.inner.backup_arn(input.into());
  115    127   
        self
  116    128   
    }
  117         -
    /// <p>The ARN associated with the backup.</p>
         129  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The ARN associated with the backup.</p>
         130  +
    /* FluentBuilderGenerator.kt:500 */
  118    131   
    pub fn set_backup_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  119    132   
        self.inner = self.inner.set_backup_arn(input);
  120    133   
        self
  121    134   
    }
  122         -
    /// <p>The ARN associated with the backup.</p>
         135  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The ARN associated with the backup.</p>
         136  +
    /* FluentBuilderGenerator.kt:520 */
  123    137   
    pub fn get_backup_arn(&self) -> &::std::option::Option<::std::string::String> {
  124    138   
        self.inner.get_backup_arn()
  125    139   
    }
         140  +
    /* FluentBuilderGenerator.kt:282 */
  126    141   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/operation/delete_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 `DeleteItem`.
           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 DeleteItem;
          10  +
/* OperationGenerator.kt:85 */
    6     11   
impl DeleteItem {
    7         -
    /// Creates a new `DeleteItem`
          12  +
    /// /* OperationGenerator.kt:86 */Creates a new `DeleteItem`
          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::delete_item::DeleteItemInput,
   14     23   
    ) -> ::std::result::Result<
   15     24   
        crate::operation::delete_item::DeleteItemOutput,
   16     25   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     26   
            crate::operation::delete_item::DeleteItemError,
   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 DeleteItem {
   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("DeleteItem");
   91    102   
   92    103   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
   93    104   
            DeleteItemRequestSerializer,
   94    105   
        ));
   95    106   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
   96    107   
            DeleteItemResponseDeserializer,
   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("DeleteItem", "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("DeleteItem")
  114    125   
            .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default())
  115    126   
            .with_interceptor(DeleteItemEndpointParamsInterceptor)
  116    127   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
  117    128   
                crate::operation::delete_item::DeleteItemError,
  118    129   
            >::new())
  119    130   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
  120    131   
                crate::operation::delete_item::DeleteItemError,
  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 DeleteItemResponseDeserializer;
  129    141   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for DeleteItemResponseDeserializer {
  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_delete_item::de_delete_item_http_error(status, headers, body)
  142    154   
        } else {
  143    155   
            crate::protocol_serde::shape_delete_item::de_delete_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 DeleteItemRequestSerializer;
  150    163   
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for DeleteItemRequestSerializer {
  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::delete_item::DeleteItemInput>().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::delete_item::DeleteItemInput,
  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::delete_item::DeleteItemInput,
  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.DeleteItem",
  186    199   
            );
  187    200   
            builder
  188    201   
        };
  189    202   
        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_delete_item::ser_delete_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 DeleteItemEndpointParamsInterceptor;
  199    213   
  200    214   
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for DeleteItemEndpointParamsInterceptor {
  201    215   
    fn name(&self) -> &'static str {
  202    216   
        "DeleteItemEndpointParamsInterceptor"
  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::<DeleteItemInput>()
  218    232   
            .ok_or("failed to downcast to DeleteItemInput")?;
  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 `DeleteItemError` operation.
         248  +
/* RustType.kt:516 */
  233    249   
#[non_exhaustive]
         250  +
/* RustType.kt:516 */
  234    251   
#[derive(::std::fmt::Debug)]
  235         -
pub enum DeleteItemError {
  236         -
    /// <p>A condition specified in the operation could not be evaluated.</p>
         252  +
pub /* OperationErrorGenerator.kt:81 */ enum DeleteItemError {
         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-DeleteItemError) 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 DeleteItemError {
         291  +
    /* OperationErrorGenerator.kt:219 */
  262    292   
    /// Creates the `DeleteItemError::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 `DeleteItemError::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 `DeleteItemError::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 `DeleteItemError::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 `DeleteItemError::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 `DeleteItemError::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 `DeleteItemError::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 `DeleteItemError::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 `DeleteItemError::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 `DeleteItemError::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 DeleteItemError {
         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 DeleteItemError {
         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   
                }
  361         -
            }
         547  +
                /* OperationErrorGenerator.kt:326 */
         548  +
            } /* OperationErrorGenerator.kt:318 */
  362    549   
        }
         550  +
        /* OperationErrorGenerator.kt:134 */
  363    551   
    }
         552  +
    /* OperationErrorGenerator.kt:133 */
  364    553   
}
         554  +
/* OperationErrorGenerator.kt:182 */
  365    555   
impl ::aws_smithy_types::retry::ProvideErrorKind for DeleteItemError {
         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 DeleteItemError {
         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 DeleteItemError {
         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::delete_item::_delete_item_output::DeleteItemOutput;
  401    662   
         663  +
/* CodegenDelegator.kt:255 */
  402    664   
pub use crate::operation::delete_item::_delete_item_input::DeleteItemInput;
  403    665   
         666  +
/* RustModule.kt:172 */
  404    667   
mod _delete_item_input;
  405    668   
         669  +
/* RustModule.kt:172 */
  406    670   
mod _delete_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/delete_item/_delete_item_input.rs

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

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

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

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

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