Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943 (ignoring whitespace)

Files changed:

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

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

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

@@ -1,1 +22,39 @@
    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 TagResourceOutput {}
           8  +
pub /* StructureGenerator.kt:201 */ struct TagResourceOutput {/* StructureGenerator.kt:201 */}
           9  +
/* ClientCodegenVisitor.kt:237 */
    6     10   
impl TagResourceOutput {
    7         -
    /// Creates a new builder-style object to manufacture [`TagResourceOutput`](crate::operation::tag_resource::TagResourceOutput).
          11  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`TagResourceOutput`](crate::operation::tag_resource::TagResourceOutput).
          12  +
    /* BuilderGenerator.kt:175 */
    8     13   
    pub fn builder() -> crate::operation::tag_resource::builders::TagResourceOutputBuilder {
          14  +
        /* BuilderGenerator.kt:176 */
    9     15   
        crate::operation::tag_resource::builders::TagResourceOutputBuilder::default()
          16  +
        /* BuilderGenerator.kt:175 */
   10     17   
    }
          18  +
    /* ClientCodegenVisitor.kt:237 */
   11     19   
}
   12     20   
   13         -
/// A builder for [`TagResourceOutput`](crate::operation::tag_resource::TagResourceOutput).
          21  +
/// /* BuilderGenerator.kt:342 */A builder for [`TagResourceOutput`](crate::operation::tag_resource::TagResourceOutput).
          22  +
/* RustType.kt:516 */
   14     23   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          24  +
/* RustType.kt:516 */
   15     25   
#[non_exhaustive]
   16         -
pub struct TagResourceOutputBuilder {}
          26  +
/* BuilderGenerator.kt:345 */
          27  +
pub struct TagResourceOutputBuilder {/* BuilderGenerator.kt:345 */}
          28  +
/* BuilderGenerator.kt:355 */
   17     29   
impl TagResourceOutputBuilder {
   18         -
    /// Consumes the builder and constructs a [`TagResourceOutput`](crate::operation::tag_resource::TagResourceOutput).
          30  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`TagResourceOutput`](crate::operation::tag_resource::TagResourceOutput).
          31  +
    /* BuilderGenerator.kt:253 */
   19     32   
    pub fn build(self) -> crate::operation::tag_resource::TagResourceOutput {
   20         -
        crate::operation::tag_resource::TagResourceOutput {}
          33  +
        /* BuilderGenerator.kt:477 */
          34  +
        crate::operation::tag_resource::TagResourceOutput {
          35  +
        /* BuilderGenerator.kt:477 */}
          36  +
        /* BuilderGenerator.kt:253 */
   21     37   
    }
          38  +
    /* BuilderGenerator.kt:355 */
   22     39   
}

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

@@ -1,1 +145,163 @@
    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::tag_resource::_tag_resource_output::TagResourceOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::tag_resource::_tag_resource_input::TagResourceInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::tag_resource::builders::TagResourceInputBuilder {
    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::tag_resource::TagResourceOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::tag_resource::TagResourceError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.tag_resource();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `TagResource`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `TagResource`.
   24     27   
///
   25         -
/// <p>Associate a set of tags with an Amazon DynamoDB resource. You can then activate these user-defined tags so that they appear on the Billing and Cost Management console for cost allocation tracking. You can call TagResource up to five times per second, per account.</p>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p>Associate a set of tags with an Amazon DynamoDB resource. You can then activate these user-defined tags so that they appear on the Billing and Cost Management console for cost allocation tracking. You can call TagResource up to five times per second, per account.</p>
   26     29   
/// <p>For an overview on tagging DynamoDB resources, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html">Tagging for DynamoDB</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          30  +
/* RustType.kt:516 */
   27     31   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          32  +
/* FluentBuilderGenerator.kt:270 */
   28     33   
pub struct TagResourceFluentBuilder {
   29     34   
    handle: ::std::sync::Arc<crate::client::Handle>,
   30     35   
    inner: crate::operation::tag_resource::builders::TagResourceInputBuilder,
   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::tag_resource::TagResourceOutput,
   36     42   
        crate::operation::tag_resource::TagResourceError,
   37     43   
    > for TagResourceFluentBuilder
   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::tag_resource::TagResourceOutput,
   45     51   
            crate::operation::tag_resource::TagResourceError,
   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 TagResourceFluentBuilder {
          59  +
    /* FluentBuilderGenerator.kt:288 */
   52     60   
    /// Creates a new `TagResourceFluentBuilder`.
   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 TagResource as a reference.
   61     70   
    pub fn as_input(&self) -> &crate::operation::tag_resource::builders::TagResourceInputBuilder {
   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::tag_resource::TagResourceOutput,
   76     86   
        ::aws_smithy_runtime_api::client::result::SdkError<
   77     87   
            crate::operation::tag_resource::TagResourceError,
   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::tag_resource::TagResource::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::tag_resource::TagResource::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::tag_resource::TagResourceOutput,
   98    108   
        crate::operation::tag_resource::TagResourceError,
   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>Identifies the Amazon DynamoDB resource to which tags should be added. This value is an Amazon Resource Name (ARN).</p>
         123  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Identifies the Amazon DynamoDB resource to which tags should be added. This value is an Amazon Resource Name (ARN).</p>
         124  +
    /* FluentBuilderGenerator.kt:500 */
  113    125   
    pub fn resource_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  114    126   
        self.inner = self.inner.resource_arn(input.into());
  115    127   
        self
  116    128   
    }
  117         -
    /// <p>Identifies the Amazon DynamoDB resource to which tags should be added. This value is an Amazon Resource Name (ARN).</p>
         129  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Identifies the Amazon DynamoDB resource to which tags should be added. This value is an Amazon Resource Name (ARN).</p>
         130  +
    /* FluentBuilderGenerator.kt:500 */
  118    131   
    pub fn set_resource_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  119    132   
        self.inner = self.inner.set_resource_arn(input);
  120    133   
        self
  121    134   
    }
  122         -
    /// <p>Identifies the Amazon DynamoDB resource to which tags should be added. This value is an Amazon Resource Name (ARN).</p>
         135  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Identifies the Amazon DynamoDB resource to which tags should be added. This value is an Amazon Resource Name (ARN).</p>
         136  +
    /* FluentBuilderGenerator.kt:520 */
  123    137   
    pub fn get_resource_arn(&self) -> &::std::option::Option<::std::string::String> {
  124    138   
        self.inner.get_resource_arn()
  125    139   
    }
  126         -
    ///
         140  +
    /// /* FluentBuilderGenerator.kt:436 */
  127    141   
    /// Appends an item to `Tags`.
  128    142   
    ///
  129    143   
    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
  130    144   
    ///
  131         -
    /// <p>The tags to be assigned to the Amazon DynamoDB resource.</p>
         145  +
    /// /* FluentBuilderGenerator.kt:443 */<p>The tags to be assigned to the Amazon DynamoDB resource.</p>
         146  +
    /* FluentBuilderGenerator.kt:446 */
  132    147   
    pub fn tags(mut self, input: crate::types::Tag) -> Self {
  133    148   
        self.inner = self.inner.tags(input);
  134    149   
        self
  135    150   
    }
  136         -
    /// <p>The tags to be assigned to the Amazon DynamoDB resource.</p>
         151  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The tags to be assigned to the Amazon DynamoDB resource.</p>
         152  +
    /* FluentBuilderGenerator.kt:500 */
  137    153   
    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
  138    154   
        self.inner = self.inner.set_tags(input);
  139    155   
        self
  140    156   
    }
  141         -
    /// <p>The tags to be assigned to the Amazon DynamoDB resource.</p>
         157  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The tags to be assigned to the Amazon DynamoDB resource.</p>
         158  +
    /* FluentBuilderGenerator.kt:520 */
  142    159   
    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
  143    160   
        self.inner.get_tags()
  144    161   
    }
         162  +
    /* FluentBuilderGenerator.kt:282 */
  145    163   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/operation/transact_get_items.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 `TransactGetItems`.
           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 TransactGetItems;
          10  +
/* OperationGenerator.kt:85 */
    6     11   
impl TransactGetItems {
    7         -
    /// Creates a new `TransactGetItems`
          12  +
    /// /* OperationGenerator.kt:86 */Creates a new `TransactGetItems`
          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::transact_get_items::TransactGetItemsInput,
   14     23   
    ) -> ::std::result::Result<
   15     24   
        crate::operation::transact_get_items::TransactGetItemsOutput,
   16     25   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     26   
            crate::operation::transact_get_items::TransactGetItemsError,
   18     27   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     28   
        >,
   20     29   
    > {
@@ -57,66 +281,304 @@
   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 TransactGetItems {
   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("TransactGetItems");
   91    102   
   92    103   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
   93    104   
            TransactGetItemsRequestSerializer,
   94    105   
        ));
   95    106   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
   96    107   
            TransactGetItemsResponseDeserializer,
   97    108   
        ));
   98    109   
   99    110   
        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
  100    111   
            ::aws_smithy_runtime_api::client::auth::static_resolver::StaticAuthSchemeOptionResolverParams::new(),
  101    112   
        ));
  102    113   
  103    114   
        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
  104    115   
            "TransactGetItems",
  105    116   
            "DynamoDB",
  106    117   
        ));
  107    118   
  108    119   
        ::std::option::Option::Some(cfg.freeze())
  109    120   
    }
  110    121   
  111    122   
    fn runtime_components(
  112    123   
        &self,
  113    124   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
  114    125   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
  115    126   
        #[allow(unused_mut)]
  116    127   
        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("TransactGetItems")
  117    128   
            .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default())
  118    129   
            .with_interceptor(TransactGetItemsEndpointParamsInterceptor)
  119    130   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
  120    131   
                crate::operation::transact_get_items::TransactGetItemsError,
  121    132   
            >::new())
  122    133   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
  123    134   
                crate::operation::transact_get_items::TransactGetItemsError,
  124    135   
            >::new());
  125    136   
  126    137   
        ::std::borrow::Cow::Owned(rcb)
  127    138   
    }
  128    139   
}
  129    140   
         141  +
/* ResponseDeserializerGenerator.kt:64 */
  130    142   
#[derive(Debug)]
  131    143   
struct TransactGetItemsResponseDeserializer;
  132    144   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for TransactGetItemsResponseDeserializer {
  133    145   
    fn deserialize_nonstreaming(
  134    146   
        &self,
  135    147   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  136    148   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  137    149   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  138    150   
        let headers = response.headers();
  139    151   
        let body = response.body().bytes().expect("body loaded");
  140    152   
        #[allow(unused_mut)]
  141    153   
        let mut force_error = false;
  142    154   
  143    155   
        let parse_result = if !success && status != 200 || force_error {
  144    156   
            crate::protocol_serde::shape_transact_get_items::de_transact_get_items_http_error(status, headers, body)
  145    157   
        } else {
  146    158   
            crate::protocol_serde::shape_transact_get_items::de_transact_get_items_http_response(status, headers, body)
  147    159   
        };
  148    160   
        crate::protocol_serde::type_erase_result(parse_result)
  149    161   
    }
  150    162   
}
         163  +
/* RequestSerializerGenerator.kt:67 */
  151    164   
#[derive(Debug)]
  152    165   
struct TransactGetItemsRequestSerializer;
  153    166   
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for TransactGetItemsRequestSerializer {
  154    167   
    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
  155    168   
    fn serialize_input(
  156    169   
        &self,
  157    170   
        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
  158    171   
        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  159    172   
    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
  160    173   
        let input = input
  161    174   
            .downcast::<crate::operation::transact_get_items::TransactGetItemsInput>()
  162    175   
            .expect("correct type");
  163    176   
        let _header_serialization_settings = _cfg
  164    177   
            .load::<crate::serialization_settings::HeaderSerializationSettings>()
  165    178   
            .cloned()
  166    179   
            .unwrap_or_default();
  167    180   
        let mut request_builder = {
  168    181   
            fn uri_base(
  169    182   
                _input: &crate::operation::transact_get_items::TransactGetItemsInput,
  170    183   
                output: &mut ::std::string::String,
  171    184   
            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
  172    185   
                use ::std::fmt::Write as _;
  173    186   
                ::std::write!(output, "/").expect("formatting should succeed");
  174    187   
                ::std::result::Result::Ok(())
  175    188   
            }
  176    189   
            #[allow(clippy::unnecessary_wraps)]
  177    190   
            fn update_http_builder(
  178    191   
                input: &crate::operation::transact_get_items::TransactGetItemsInput,
  179    192   
                builder: ::http::request::Builder,
  180    193   
            ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
  181    194   
                let mut uri = ::std::string::String::new();
  182    195   
                uri_base(input, &mut uri)?;
  183    196   
                ::std::result::Result::Ok(builder.method("POST").uri(uri))
  184    197   
            }
  185    198   
            let mut builder = update_http_builder(&input, ::http::request::Builder::new())?;
  186    199   
            builder = _header_serialization_settings.set_default_header(builder, ::http::header::CONTENT_TYPE, "application/x-amz-json-1.0");
  187    200   
            builder = _header_serialization_settings.set_default_header(
  188    201   
                builder,
  189    202   
                ::http::header::HeaderName::from_static("x-amz-target"),
  190    203   
                "DynamoDB_20120810.TransactGetItems",
  191    204   
            );
  192    205   
            builder
  193    206   
        };
  194    207   
        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_transact_get_items::ser_transact_get_items_input(&input)?);
  195    208   
        if let Some(content_length) = body.content_length() {
  196    209   
            let content_length = content_length.to_string();
  197    210   
            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http::header::CONTENT_LENGTH, &content_length);
  198    211   
        }
  199    212   
        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
  200    213   
    }
  201    214   
}
         215  +
/* EndpointParamsInterceptorGenerator.kt:86 */
  202    216   
#[derive(Debug)]
  203    217   
struct TransactGetItemsEndpointParamsInterceptor;
  204    218   
  205    219   
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for TransactGetItemsEndpointParamsInterceptor {
  206    220   
    fn name(&self) -> &'static str {
  207    221   
        "TransactGetItemsEndpointParamsInterceptor"
  208    222   
    }
  209    223   
  210    224   
    fn read_before_execution(
  211    225   
        &self,
  212    226   
        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
  213    227   
            '_,
  214    228   
            ::aws_smithy_runtime_api::client::interceptors::context::Input,
  215    229   
            ::aws_smithy_runtime_api::client::interceptors::context::Output,
  216    230   
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
  217    231   
        >,
  218    232   
        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  219    233   
    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
  220    234   
        let _input = context
  221    235   
            .input()
  222    236   
            .downcast_ref::<TransactGetItemsInput>()
  223    237   
            .ok_or("failed to downcast to TransactGetItemsInput")?;
  224    238   
  225    239   
        let params = crate::config::endpoint::Params::builder().build().map_err(|err| {
  226    240   
            ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  227    241   
        })?;
  228    242   
        cfg.interceptor_state()
  229    243   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  230    244   
        ::std::result::Result::Ok(())
  231    245   
    }
  232    246   
}
  233    247   
  234    248   
// The get_* functions below are generated from JMESPath expressions in the
  235    249   
// operationContextParams trait. They target the operation's input shape.
  236    250   
         251  +
/* OperationErrorGenerator.kt:79 */
  237    252   
/// Error type for the `TransactGetItemsError` operation.
         253  +
/* RustType.kt:516 */
  238    254   
#[non_exhaustive]
         255  +
/* RustType.kt:516 */
  239    256   
#[derive(::std::fmt::Debug)]
  240         -
pub enum TransactGetItemsError {
  241         -
    /// <p>An error occurred on the server side.</p>
         257  +
pub /* OperationErrorGenerator.kt:81 */ enum TransactGetItemsError {
         258  +
    /// /* OperationErrorGenerator.kt:83 */<p>An error occurred on the server side.</p>
         259  +
    /* OperationErrorGenerator.kt:86 */
  242    260   
    InternalServerError(crate::types::error::InternalServerError),
         261  +
    /* OperationErrorGenerator.kt:83 */
  243    262   
    #[allow(missing_docs)] // documentation missing in model
         263  +
    /* OperationErrorGenerator.kt:86 */
  244    264   
    InvalidEndpointError(crate::types::error::InvalidEndpointError),
  245         -
    /// <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>
         265  +
    /// /* 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>
         266  +
    /* OperationErrorGenerator.kt:86 */
  246    267   
    ProvisionedThroughputExceededError(crate::types::error::ProvisionedThroughputExceededError),
  247         -
    /// <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>
         268  +
    /// /* 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>
         269  +
    /* OperationErrorGenerator.kt:86 */
  248    270   
    RequestLimitExceeded(crate::types::error::RequestLimitExceeded),
  249         -
    /// <p>The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be <code>ACTIVE</code>.</p>
         271  +
    /// /* OperationErrorGenerator.kt:83 */<p>The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be <code>ACTIVE</code>.</p>
         272  +
    /* OperationErrorGenerator.kt:86 */
  250    273   
    ResourceNotFoundError(crate::types::error::ResourceNotFoundError),
  251         -
    /// <p>The entire transaction request was canceled.</p>
         274  +
    /// /* OperationErrorGenerator.kt:83 */<p>The entire transaction request was canceled.</p>
  252    275   
    /// <p>DynamoDB cancels a <code>TransactWriteItems</code> request under the following circumstances:</p>
  253    276   
    /// <ul>
  254    277   
    /// <li>
  255    278   
    /// <p>A condition in one of the condition expressions is not met.</p></li>
  256    279   
    /// <li>
  257    280   
    /// <p>A table in the <code>TransactWriteItems</code> request is in a different account or region.</p></li>
  258    281   
    /// <li>
  259    282   
    /// <p>More than one action in the <code>TransactWriteItems</code> operation targets the same item.</p></li>
  260    283   
    /// <li>
  261    284   
    /// <p>There is insufficient provisioned capacity for the transaction to be completed.</p></li>
@@ -351,374 +523,739 @@
  371    394   
    /// <p>Type mismatch for attribute to update.</p></li>
  372    395   
    /// <li>
  373    396   
    /// <p>Nesting Levels have exceeded supported limits.</p></li>
  374    397   
    /// <li>
  375    398   
    /// <p>The document path provided in the update expression is invalid for update.</p></li>
  376    399   
    /// <li>
  377    400   
    /// <p>The provided expression refers to an attribute that does not exist in the item.</p></li>
  378    401   
    /// </ul></li>
  379    402   
    /// </ul></li>
  380    403   
    /// </ul>
         404  +
    /* OperationErrorGenerator.kt:86 */
  381    405   
    TransactionCanceledError(crate::types::error::TransactionCanceledError),
         406  +
    /* OperationErrorGenerator.kt:88 */
  382    407   
    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
  383    408   
    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
  384    409   
    variable wildcard pattern and check `.code()`:
  385    410   
     \
  386    411   
    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
  387    412   
     \
  388    413   
    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-TransactGetItemsError) for what information is available for the error.")]
  389    414   
    Unhandled(crate::error::sealed_unhandled::Unhandled),
         415  +
    /* OperationErrorGenerator.kt:81 */
  390    416   
}
         417  +
/* OperationErrorGenerator.kt:218 */
  391    418   
impl TransactGetItemsError {
         419  +
    /* OperationErrorGenerator.kt:219 */
  392    420   
    /// Creates the `TransactGetItemsError::Unhandled` variant from any error type.
  393    421   
    pub fn unhandled(
  394    422   
        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
  395    423   
    ) -> Self {
  396    424   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  397    425   
            source: err.into(),
  398    426   
            meta: ::std::default::Default::default(),
  399    427   
        })
  400    428   
    }
  401    429   
  402    430   
    /// Creates the `TransactGetItemsError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
  403    431   
    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
  404    432   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  405    433   
            source: err.clone().into(),
  406    434   
            meta: err,
  407    435   
        })
  408    436   
    }
  409         -
    ///
         437  +
    /// /* OperationErrorGenerator.kt:236 */
  410    438   
    /// Returns error metadata, which includes the error code, message,
  411    439   
    /// request ID, and potentially additional information.
  412    440   
    ///
         441  +
    /* OperationErrorGenerator.kt:242 */
  413    442   
    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         443  +
        /* OperationErrorGenerator.kt:243 */
  414    444   
        match self {
         445  +
            /* OperationErrorGenerator.kt:246 */
  415    446   
            Self::InternalServerError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         447  +
            /* OperationErrorGenerator.kt:246 */
  416    448   
            Self::InvalidEndpointError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         449  +
            /* OperationErrorGenerator.kt:246 */
  417    450   
            Self::ProvisionedThroughputExceededError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         451  +
            /* OperationErrorGenerator.kt:246 */
  418    452   
            Self::RequestLimitExceeded(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         453  +
            /* OperationErrorGenerator.kt:246 */
  419    454   
            Self::ResourceNotFoundError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         455  +
            /* OperationErrorGenerator.kt:246 */
  420    456   
            Self::TransactionCanceledError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
  421         -
            Self::Unhandled(e) => &e.meta,
         457  +
            /* OperationErrorGenerator.kt:251 */ Self::Unhandled(e) => &e.meta,
         458  +
            /* OperationErrorGenerator.kt:243 */
  422    459   
        }
         460  +
        /* OperationErrorGenerator.kt:242 */
  423    461   
    }
         462  +
    /* OperationErrorGenerator.kt:257 */
  424    463   
    /// Returns `true` if the error kind is `TransactGetItemsError::InternalServerError`.
         464  +
    /* OperationErrorGenerator.kt:258 */
  425    465   
    pub fn is_internal_server_error(&self) -> bool {
         466  +
        /* OperationErrorGenerator.kt:259 */
  426    467   
        matches!(self, Self::InternalServerError(_))
         468  +
        /* OperationErrorGenerator.kt:258 */
  427    469   
    }
         470  +
    /* OperationErrorGenerator.kt:257 */
  428    471   
    /// Returns `true` if the error kind is `TransactGetItemsError::InvalidEndpointError`.
         472  +
    /* OperationErrorGenerator.kt:258 */
  429    473   
    pub fn is_invalid_endpoint_error(&self) -> bool {
         474  +
        /* OperationErrorGenerator.kt:259 */
  430    475   
        matches!(self, Self::InvalidEndpointError(_))
         476  +
        /* OperationErrorGenerator.kt:258 */
  431    477   
    }
         478  +
    /* OperationErrorGenerator.kt:257 */
  432    479   
    /// Returns `true` if the error kind is `TransactGetItemsError::ProvisionedThroughputExceededError`.
         480  +
    /* OperationErrorGenerator.kt:258 */
  433    481   
    pub fn is_provisioned_throughput_exceeded_error(&self) -> bool {
         482  +
        /* OperationErrorGenerator.kt:259 */
  434    483   
        matches!(self, Self::ProvisionedThroughputExceededError(_))
         484  +
        /* OperationErrorGenerator.kt:258 */
  435    485   
    }
         486  +
    /* OperationErrorGenerator.kt:257 */
  436    487   
    /// Returns `true` if the error kind is `TransactGetItemsError::RequestLimitExceeded`.
         488  +
    /* OperationErrorGenerator.kt:258 */
  437    489   
    pub fn is_request_limit_exceeded(&self) -> bool {
         490  +
        /* OperationErrorGenerator.kt:259 */
  438    491   
        matches!(self, Self::RequestLimitExceeded(_))
         492  +
        /* OperationErrorGenerator.kt:258 */
  439    493   
    }
         494  +
    /* OperationErrorGenerator.kt:257 */
  440    495   
    /// Returns `true` if the error kind is `TransactGetItemsError::ResourceNotFoundError`.
         496  +
    /* OperationErrorGenerator.kt:258 */
  441    497   
    pub fn is_resource_not_found_error(&self) -> bool {
         498  +
        /* OperationErrorGenerator.kt:259 */
  442    499   
        matches!(self, Self::ResourceNotFoundError(_))
         500  +
        /* OperationErrorGenerator.kt:258 */
  443    501   
    }
         502  +
    /* OperationErrorGenerator.kt:257 */
  444    503   
    /// Returns `true` if the error kind is `TransactGetItemsError::TransactionCanceledError`.
         504  +
    /* OperationErrorGenerator.kt:258 */
  445    505   
    pub fn is_transaction_canceled_error(&self) -> bool {
         506  +
        /* OperationErrorGenerator.kt:259 */
  446    507   
        matches!(self, Self::TransactionCanceledError(_))
         508  +
        /* OperationErrorGenerator.kt:258 */
  447    509   
    }
         510  +
    /* OperationErrorGenerator.kt:218 */
  448    511   
}
         512  +
/* OperationErrorGenerator.kt:269 */
  449    513   
impl ::std::error::Error for TransactGetItemsError {
         514  +
    /* OperationErrorGenerator.kt:270 */
  450    515   
    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
         516  +
        /* OperationErrorGenerator.kt:318 */
  451    517   
        match self {
  452         -
            Self::InternalServerError(_inner) => ::std::option::Option::Some(_inner),
  453         -
            Self::InvalidEndpointError(_inner) => ::std::option::Option::Some(_inner),
  454         -
            Self::ProvisionedThroughputExceededError(_inner) => ::std::option::Option::Some(_inner),
  455         -
            Self::RequestLimitExceeded(_inner) => ::std::option::Option::Some(_inner),
  456         -
            Self::ResourceNotFoundError(_inner) => ::std::option::Option::Some(_inner),
  457         -
            Self::TransactionCanceledError(_inner) => ::std::option::Option::Some(_inner),
  458         -
            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
         518  +
            /* OperationErrorGenerator.kt:321 */
         519  +
            Self::InternalServerError(_inner) =>
         520  +
            /* OperationErrorGenerator.kt:283 */
         521  +
            {
         522  +
                ::std::option::Option::Some(_inner)
         523  +
            }
         524  +
            ,
         525  +
            /* OperationErrorGenerator.kt:321 */
         526  +
            Self::InvalidEndpointError(_inner) =>
         527  +
            /* OperationErrorGenerator.kt:283 */
         528  +
            {
         529  +
                ::std::option::Option::Some(_inner)
         530  +
            }
         531  +
            ,
         532  +
            /* OperationErrorGenerator.kt:321 */
         533  +
            Self::ProvisionedThroughputExceededError(_inner) =>
         534  +
            /* OperationErrorGenerator.kt:283 */
         535  +
            {
         536  +
                ::std::option::Option::Some(_inner)
         537  +
            }
         538  +
            ,
         539  +
            /* OperationErrorGenerator.kt:321 */
         540  +
            Self::RequestLimitExceeded(_inner) =>
         541  +
            /* OperationErrorGenerator.kt:283 */
         542  +
            {
         543  +
                ::std::option::Option::Some(_inner)
         544  +
            }
         545  +
            ,
         546  +
            /* OperationErrorGenerator.kt:321 */
         547  +
            Self::ResourceNotFoundError(_inner) =>
         548  +
            /* OperationErrorGenerator.kt:283 */
         549  +
            {
         550  +
                ::std::option::Option::Some(_inner)
         551  +
            }
         552  +
            ,
         553  +
            /* OperationErrorGenerator.kt:321 */
         554  +
            Self::TransactionCanceledError(_inner) =>
         555  +
            /* OperationErrorGenerator.kt:283 */
         556  +
            {
         557  +
                ::std::option::Option::Some(_inner)
         558  +
            }
         559  +
            ,
         560  +
            /* OperationErrorGenerator.kt:326 */
         561  +
            Self::Unhandled(_inner) => {
         562  +
                /* OperationErrorGenerator.kt:279 */
         563  +
                ::std::option::Option::Some(&*_inner.source)
         564  +
                /* OperationErrorGenerator.kt:326 */
         565  +
            } /* OperationErrorGenerator.kt:318 */
  459    566   
        }
         567  +
        /* OperationErrorGenerator.kt:270 */
  460    568   
    }
         569  +
    /* OperationErrorGenerator.kt:269 */
  461    570   
}
         571  +
/* OperationErrorGenerator.kt:133 */
  462    572   
impl ::std::fmt::Display for TransactGetItemsError {
         573  +
    /* OperationErrorGenerator.kt:134 */
  463    574   
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         575  +
        /* OperationErrorGenerator.kt:318 */
  464    576   
        match self {
  465         -
            Self::InternalServerError(_inner) => _inner.fmt(f),
  466         -
            Self::InvalidEndpointError(_inner) => _inner.fmt(f),
  467         -
            Self::ProvisionedThroughputExceededError(_inner) => _inner.fmt(f),
  468         -
            Self::RequestLimitExceeded(_inner) => _inner.fmt(f),
  469         -
            Self::ResourceNotFoundError(_inner) => _inner.fmt(f),
  470         -
            Self::TransactionCanceledError(_inner) => _inner.fmt(f),
         577  +
            /* OperationErrorGenerator.kt:321 */
         578  +
            Self::InternalServerError(_inner) =>
         579  +
            /* OperationErrorGenerator.kt:151 */
         580  +
            {
         581  +
                _inner.fmt(f)
         582  +
            }
         583  +
            ,
         584  +
            /* OperationErrorGenerator.kt:321 */
         585  +
            Self::InvalidEndpointError(_inner) =>
         586  +
            /* OperationErrorGenerator.kt:151 */
         587  +
            {
         588  +
                _inner.fmt(f)
         589  +
            }
         590  +
            ,
         591  +
            /* OperationErrorGenerator.kt:321 */
         592  +
            Self::ProvisionedThroughputExceededError(_inner) =>
         593  +
            /* OperationErrorGenerator.kt:151 */
         594  +
            {
         595  +
                _inner.fmt(f)
         596  +
            }
         597  +
            ,
         598  +
            /* OperationErrorGenerator.kt:321 */
         599  +
            Self::RequestLimitExceeded(_inner) =>
         600  +
            /* OperationErrorGenerator.kt:151 */
         601  +
            {
         602  +
                _inner.fmt(f)
         603  +
            }
         604  +
            ,
         605  +
            /* OperationErrorGenerator.kt:321 */
         606  +
            Self::ResourceNotFoundError(_inner) =>
         607  +
            /* OperationErrorGenerator.kt:151 */
         608  +
            {
         609  +
                _inner.fmt(f)
         610  +
            }
         611  +
            ,
         612  +
            /* OperationErrorGenerator.kt:321 */
         613  +
            Self::TransactionCanceledError(_inner) =>
         614  +
            /* OperationErrorGenerator.kt:151 */
         615  +
            {
         616  +
                _inner.fmt(f)
         617  +
            }
         618  +
            ,
         619  +
            /* OperationErrorGenerator.kt:326 */
  471    620   
            Self::Unhandled(_inner) => {
         621  +
                /* OperationErrorGenerator.kt:139 */
  472    622   
                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
  473    623   
                    write!(f, "unhandled error ({code})")
  474    624   
                } else {
  475    625   
                    f.write_str("unhandled error")
  476    626   
                }
         627  +
                /* OperationErrorGenerator.kt:326 */
         628  +
            } /* OperationErrorGenerator.kt:318 */
  477    629   
        }
         630  +
        /* OperationErrorGenerator.kt:134 */
  478    631   
    }
  479         -
    }
         632  +
    /* OperationErrorGenerator.kt:133 */
  480    633   
}
         634  +
/* OperationErrorGenerator.kt:182 */
  481    635   
impl ::aws_smithy_types::retry::ProvideErrorKind for TransactGetItemsError {
         636  +
    /* OperationErrorGenerator.kt:186 */
  482    637   
    fn code(&self) -> ::std::option::Option<&str> {
         638  +
        /* OperationErrorGenerator.kt:187 */
  483    639   
        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
         640  +
        /* OperationErrorGenerator.kt:186 */
  484    641   
    }
         642  +
    /* OperationErrorGenerator.kt:190 */
  485    643   
    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
         644  +
        /* OperationErrorGenerator.kt:197 */
  486    645   
        ::std::option::Option::None
         646  +
        /* OperationErrorGenerator.kt:190 */
  487    647   
    }
         648  +
    /* OperationErrorGenerator.kt:182 */
  488    649   
}
         650  +
/* OperationErrorGenerator.kt:163 */
  489    651   
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for TransactGetItemsError {
         652  +
    /* OperationErrorGenerator.kt:164 */
  490    653   
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         654  +
        /* OperationErrorGenerator.kt:318 */
  491    655   
        match self {
  492         -
            Self::InternalServerError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  493         -
            Self::InvalidEndpointError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  494         -
            Self::ProvisionedThroughputExceededError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  495         -
            Self::RequestLimitExceeded(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  496         -
            Self::ResourceNotFoundError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  497         -
            Self::TransactionCanceledError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  498         -
            Self::Unhandled(_inner) => &_inner.meta,
         656  +
            /* OperationErrorGenerator.kt:321 */
         657  +
            Self::InternalServerError(_inner) =>
         658  +
            /* OperationErrorGenerator.kt:169 */
         659  +
            {
         660  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         661  +
            }
         662  +
            ,
         663  +
            /* OperationErrorGenerator.kt:321 */
         664  +
            Self::InvalidEndpointError(_inner) =>
         665  +
            /* OperationErrorGenerator.kt:169 */
         666  +
            {
         667  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         668  +
            }
         669  +
            ,
         670  +
            /* OperationErrorGenerator.kt:321 */
         671  +
            Self::ProvisionedThroughputExceededError(_inner) =>
         672  +
            /* OperationErrorGenerator.kt:169 */
         673  +
            {
         674  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         675  +
            }
         676  +
            ,
         677  +
            /* OperationErrorGenerator.kt:321 */
         678  +
            Self::RequestLimitExceeded(_inner) =>
         679  +
            /* OperationErrorGenerator.kt:169 */
         680  +
            {
         681  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         682  +
            }
         683  +
            ,
         684  +
            /* OperationErrorGenerator.kt:321 */
         685  +
            Self::ResourceNotFoundError(_inner) =>
         686  +
            /* OperationErrorGenerator.kt:169 */
         687  +
            {
         688  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         689  +
            }
         690  +
            ,
         691  +
            /* OperationErrorGenerator.kt:321 */
         692  +
            Self::TransactionCanceledError(_inner) =>
         693  +
            /* OperationErrorGenerator.kt:169 */
         694  +
            {
         695  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         696  +
            }
         697  +
            ,
         698  +
            /* OperationErrorGenerator.kt:326 */
         699  +
            Self::Unhandled(_inner) => {
         700  +
                /* OperationErrorGenerator.kt:168 */
         701  +
                &_inner.meta
         702  +
                /* OperationErrorGenerator.kt:326 */
         703  +
            } /* OperationErrorGenerator.kt:318 */
  499    704   
        }
         705  +
        /* OperationErrorGenerator.kt:164 */
  500    706   
    }
         707  +
    /* OperationErrorGenerator.kt:163 */
  501    708   
}
         709  +
/* OperationErrorGenerator.kt:109 */
  502    710   
impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for TransactGetItemsError {
         711  +
    /* OperationErrorGenerator.kt:110 */
  503    712   
    fn create_unhandled_error(
  504    713   
        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
  505    714   
        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
  506    715   
    ) -> Self {
         716  +
        /* OperationErrorGenerator.kt:121 */
  507    717   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  508    718   
            source,
  509    719   
            meta: meta.unwrap_or_default(),
  510    720   
        })
         721  +
        /* OperationErrorGenerator.kt:110 */
  511    722   
    }
         723  +
    /* OperationErrorGenerator.kt:109 */
  512    724   
}
  513    725   
         726  +
/* CodegenDelegator.kt:255 */
  514    727   
pub use crate::operation::transact_get_items::_transact_get_items_output::TransactGetItemsOutput;
  515    728   
         729  +
/* CodegenDelegator.kt:255 */
  516    730   
pub use crate::operation::transact_get_items::_transact_get_items_input::TransactGetItemsInput;
  517    731   
         732  +
/* RustModule.kt:172 */
  518    733   
mod _transact_get_items_input;
  519    734   
         735  +
/* RustModule.kt:172 */
  520    736   
mod _transact_get_items_output;
  521    737   
  522         -
/// Builders
         738  +
/// /* CodegenDelegator.kt:51 */Builders
  523    739   
pub mod builders;

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

@@ -1,1 +81,137 @@
    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 TransactGetItemsInput {
    6         -
    /// <p>An ordered array of up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct TransactGetItemsInput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>An ordered array of up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure.</p>
    7     10   
    pub transact_items: ::std::option::Option<::std::vec::Vec<crate::types::TransactGetItem>>,
    8         -
    /// <p>A value of <code>TOTAL</code> causes consumed capacity information to be returned, and a value of <code>NONE</code> prevents that information from being returned. No other value is valid.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>A value of <code>TOTAL</code> causes consumed capacity information to be returned, and a value of <code>NONE</code> prevents that information from being returned. No other value is valid.</p>
    9     12   
    pub return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
          13  +
    /* StructureGenerator.kt:201 */
   10     14   
}
          15  +
/* StructureGenerator.kt:135 */
   11     16   
impl TransactGetItemsInput {
   12         -
    /// <p>An ordered array of up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure.</p>
   13         -
    ///
   14         -
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.transact_items.is_none()`.
          17  +
    /// /* StructureGenerator.kt:231 */<p>An ordered array of up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure.</p>
          18  +
    /// /* StructureGenerator.kt:162 */
          19  +
    /// /* StructureGenerator.kt:163 */If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.transact_items.is_none()`.
          20  +
    /* StructureGenerator.kt:166 */
   15     21   
    pub fn transact_items(&self) -> &[crate::types::TransactGetItem] {
   16         -
        self.transact_items.as_deref().unwrap_or_default()
          22  +
        /* StructureGenerator.kt:169 */
          23  +
        self.transact_items
          24  +
            .as_deref()
          25  +
            /* StructureGenerator.kt:175 */
          26  +
            .unwrap_or_default()
          27  +
        /* StructureGenerator.kt:166 */
   17     28   
    }
   18         -
    /// <p>A value of <code>TOTAL</code> causes consumed capacity information to be returned, and a value of <code>NONE</code> prevents that information from being returned. No other value is valid.</p>
          29  +
    /// /* StructureGenerator.kt:231 */<p>A value of <code>TOTAL</code> causes consumed capacity information to be returned, and a value of <code>NONE</code> prevents that information from being returned. No other value is valid.</p>
          30  +
    /* StructureGenerator.kt:166 */
   19     31   
    pub fn return_consumed_capacity(&self) -> ::std::option::Option<&crate::types::ReturnConsumedCapacity> {
          32  +
        /* StructureGenerator.kt:170 */
   20     33   
        self.return_consumed_capacity.as_ref()
          34  +
        /* StructureGenerator.kt:166 */
   21     35   
    }
          36  +
    /* StructureGenerator.kt:135 */
   22     37   
}
          38  +
/* ClientCodegenVisitor.kt:237 */
   23     39   
impl TransactGetItemsInput {
   24         -
    /// Creates a new builder-style object to manufacture [`TransactGetItemsInput`](crate::operation::transact_get_items::TransactGetItemsInput).
          40  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`TransactGetItemsInput`](crate::operation::transact_get_items::TransactGetItemsInput).
          41  +
    /* BuilderGenerator.kt:175 */
   25     42   
    pub fn builder() -> crate::operation::transact_get_items::builders::TransactGetItemsInputBuilder {
          43  +
        /* BuilderGenerator.kt:176 */
   26     44   
        crate::operation::transact_get_items::builders::TransactGetItemsInputBuilder::default()
          45  +
        /* BuilderGenerator.kt:175 */
   27     46   
    }
          47  +
    /* ClientCodegenVisitor.kt:237 */
   28     48   
}
   29     49   
   30         -
/// A builder for [`TransactGetItemsInput`](crate::operation::transact_get_items::TransactGetItemsInput).
          50  +
/// /* BuilderGenerator.kt:342 */A builder for [`TransactGetItemsInput`](crate::operation::transact_get_items::TransactGetItemsInput).
          51  +
/* RustType.kt:516 */
   31     52   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          53  +
/* RustType.kt:516 */
   32     54   
#[non_exhaustive]
          55  +
/* BuilderGenerator.kt:345 */
   33     56   
pub struct TransactGetItemsInputBuilder {
   34         -
    pub(crate) transact_items: ::std::option::Option<::std::vec::Vec<crate::types::TransactGetItem>>,
          57  +
    /* BuilderGenerator.kt:275 */ pub(crate) transact_items: ::std::option::Option<::std::vec::Vec<crate::types::TransactGetItem>>,
          58  +
    /* BuilderGenerator.kt:275 */
   35     59   
    pub(crate) return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
          60  +
    /* BuilderGenerator.kt:345 */
   36     61   
}
          62  +
/* BuilderGenerator.kt:355 */
   37     63   
impl TransactGetItemsInputBuilder {
   38         -
    /// Appends an item to `transact_items`.
          64  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `transact_items`.
          65  +
    /* BuilderGenerator.kt:411 */
   39     66   
    ///
   40         -
    /// To override the contents of this collection use [`set_transact_items`](Self::set_transact_items).
          67  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_transact_items`](Self::set_transact_items).
          68  +
    /* BuilderGenerator.kt:413 */
   41     69   
    ///
   42         -
    /// <p>An ordered array of up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure.</p>
          70  +
    /// /* BuilderGenerator.kt:414 */<p>An ordered array of up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure.</p>
          71  +
    /* BuilderGenerator.kt:418 */
   43     72   
    pub fn transact_items(mut self, input: crate::types::TransactGetItem) -> Self {
          73  +
        /* BuilderGenerator.kt:419 */
   44     74   
        let mut v = self.transact_items.unwrap_or_default();
   45     75   
        v.push(input);
   46     76   
        self.transact_items = ::std::option::Option::Some(v);
   47     77   
        self
          78  +
        /* BuilderGenerator.kt:418 */
   48     79   
    }
   49         -
    /// <p>An ordered array of up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure.</p>
          80  +
    /// /* BuilderGenerator.kt:312 */<p>An ordered array of up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure.</p>
          81  +
    /* BuilderGenerator.kt:314 */
   50     82   
    pub fn set_transact_items(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TransactGetItem>>) -> Self {
          83  +
        /* BuilderGenerator.kt:315 */
   51     84   
        self.transact_items = input;
   52     85   
        self
          86  +
        /* BuilderGenerator.kt:314 */
   53     87   
    }
   54         -
    /// <p>An ordered array of up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure.</p>
          88  +
    /// /* BuilderGenerator.kt:334 */<p>An ordered array of up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure.</p>
          89  +
    /* BuilderGenerator.kt:336 */
   55     90   
    pub fn get_transact_items(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TransactGetItem>> {
          91  +
        /* BuilderGenerator.kt:337 */
   56     92   
        &self.transact_items
          93  +
        /* BuilderGenerator.kt:336 */
   57     94   
    }
   58         -
    /// <p>A value of <code>TOTAL</code> causes consumed capacity information to be returned, and a value of <code>NONE</code> prevents that information from being returned. No other value is valid.</p>
          95  +
    /// /* BuilderGenerator.kt:286 */<p>A value of <code>TOTAL</code> causes consumed capacity information to be returned, and a value of <code>NONE</code> prevents that information from being returned. No other value is valid.</p>
          96  +
    /* BuilderGenerator.kt:291 */
   59     97   
    pub fn return_consumed_capacity(mut self, input: crate::types::ReturnConsumedCapacity) -> Self {
          98  +
        /* BuilderGenerator.kt:292 */
   60     99   
        self.return_consumed_capacity = ::std::option::Option::Some(input);
         100  +
        /* BuilderGenerator.kt:293 */
   61    101   
        self
         102  +
        /* BuilderGenerator.kt:291 */
   62    103   
    }
   63         -
    /// <p>A value of <code>TOTAL</code> causes consumed capacity information to be returned, and a value of <code>NONE</code> prevents that information from being returned. No other value is valid.</p>
         104  +
    /// /* BuilderGenerator.kt:312 */<p>A value of <code>TOTAL</code> causes consumed capacity information to be returned, and a value of <code>NONE</code> prevents that information from being returned. No other value is valid.</p>
         105  +
    /* BuilderGenerator.kt:314 */
   64    106   
    pub fn set_return_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ReturnConsumedCapacity>) -> Self {
         107  +
        /* BuilderGenerator.kt:315 */
   65    108   
        self.return_consumed_capacity = input;
   66    109   
        self
         110  +
        /* BuilderGenerator.kt:314 */
   67    111   
    }
   68         -
    /// <p>A value of <code>TOTAL</code> causes consumed capacity information to be returned, and a value of <code>NONE</code> prevents that information from being returned. No other value is valid.</p>
         112  +
    /// /* BuilderGenerator.kt:334 */<p>A value of <code>TOTAL</code> causes consumed capacity information to be returned, and a value of <code>NONE</code> prevents that information from being returned. No other value is valid.</p>
         113  +
    /* BuilderGenerator.kt:336 */
   69    114   
    pub fn get_return_consumed_capacity(&self) -> &::std::option::Option<crate::types::ReturnConsumedCapacity> {
         115  +
        /* BuilderGenerator.kt:337 */
   70    116   
        &self.return_consumed_capacity
         117  +
        /* BuilderGenerator.kt:336 */
   71    118   
    }
   72         -
    /// Consumes the builder and constructs a [`TransactGetItemsInput`](crate::operation::transact_get_items::TransactGetItemsInput).
         119  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`TransactGetItemsInput`](crate::operation::transact_get_items::TransactGetItemsInput).
         120  +
    /* BuilderGenerator.kt:253 */
   73    121   
    pub fn build(
   74    122   
        self,
   75    123   
    ) -> ::std::result::Result<crate::operation::transact_get_items::TransactGetItemsInput, ::aws_smithy_types::error::operation::BuildError> {
   76         -
        ::std::result::Result::Ok(crate::operation::transact_get_items::TransactGetItemsInput {
   77         -
            transact_items: self.transact_items,
         124  +
        /* BuilderGenerator.kt:254 */
         125  +
        ::std::result::Result::Ok(
         126  +
            /* BuilderGenerator.kt:477 */
         127  +
            crate::operation::transact_get_items::TransactGetItemsInput {
         128  +
                /* BuilderGenerator.kt:481 */ transact_items: self.transact_items,
         129  +
                /* BuilderGenerator.kt:481 */
   78    130   
                return_consumed_capacity: self.return_consumed_capacity,
   79         -
        })
         131  +
                /* BuilderGenerator.kt:477 */
         132  +
            }, /* BuilderGenerator.kt:254 */
         133  +
        )
         134  +
        /* BuilderGenerator.kt:253 */
   80    135   
    }
         136  +
    /* BuilderGenerator.kt:355 */
   81    137   
}

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

@@ -1,1 +92,149 @@
    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 TransactGetItemsOutput {
    6         -
    /// <p>If the <i>ReturnConsumedCapacity</i> value was <code>TOTAL</code>, this is an array of <code>ConsumedCapacity</code> objects, one for each table addressed by <code>TransactGetItem</code> objects in the <i>TransactItems</i> parameter. These <code>ConsumedCapacity</code> objects report the read-capacity units consumed by the <code>TransactGetItems</code> call in that table.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct TransactGetItemsOutput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>If the <i>ReturnConsumedCapacity</i> value was <code>TOTAL</code>, this is an array of <code>ConsumedCapacity</code> objects, one for each table addressed by <code>TransactGetItem</code> objects in the <i>TransactItems</i> parameter. These <code>ConsumedCapacity</code> objects report the read-capacity units consumed by the <code>TransactGetItems</code> call in that table.</p>
    7     10   
    pub consumed_capacity: ::std::option::Option<::std::vec::Vec<crate::types::ConsumedCapacity>>,
    8         -
    /// <p>An ordered array of up to 25 <code>ItemResponse</code> objects, each of which corresponds to the <code>TransactGetItem</code> object in the same position in the <i>TransactItems</i> array. Each <code>ItemResponse</code> object contains a Map of the name-value pairs that are the projected attributes of the requested item.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>An ordered array of up to 25 <code>ItemResponse</code> objects, each of which corresponds to the <code>TransactGetItem</code> object in the same position in the <i>TransactItems</i> array. Each <code>ItemResponse</code> object contains a Map of the name-value pairs that are the projected attributes of the requested item.</p>
    9     12   
    /// <p>If a requested item could not be retrieved, the corresponding <code>ItemResponse</code> object is Null, or if the requested item has no projected attributes, the corresponding <code>ItemResponse</code> object is an empty Map.</p>
   10     13   
    pub responses: ::std::option::Option<::std::vec::Vec<crate::types::ItemResponse>>,
          14  +
    /* StructureGenerator.kt:201 */
   11     15   
}
          16  +
/* StructureGenerator.kt:135 */
   12     17   
impl TransactGetItemsOutput {
   13         -
    /// <p>If the <i>ReturnConsumedCapacity</i> value was <code>TOTAL</code>, this is an array of <code>ConsumedCapacity</code> objects, one for each table addressed by <code>TransactGetItem</code> objects in the <i>TransactItems</i> parameter. These <code>ConsumedCapacity</code> objects report the read-capacity units consumed by the <code>TransactGetItems</code> call in that table.</p>
   14         -
    ///
   15         -
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.consumed_capacity.is_none()`.
          18  +
    /// /* StructureGenerator.kt:231 */<p>If the <i>ReturnConsumedCapacity</i> value was <code>TOTAL</code>, this is an array of <code>ConsumedCapacity</code> objects, one for each table addressed by <code>TransactGetItem</code> objects in the <i>TransactItems</i> parameter. These <code>ConsumedCapacity</code> objects report the read-capacity units consumed by the <code>TransactGetItems</code> call in that table.</p>
          19  +
    /// /* StructureGenerator.kt:162 */
          20  +
    /// /* StructureGenerator.kt:163 */If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.consumed_capacity.is_none()`.
          21  +
    /* StructureGenerator.kt:166 */
   16     22   
    pub fn consumed_capacity(&self) -> &[crate::types::ConsumedCapacity] {
   17         -
        self.consumed_capacity.as_deref().unwrap_or_default()
          23  +
        /* StructureGenerator.kt:169 */
          24  +
        self.consumed_capacity
          25  +
            .as_deref()
          26  +
            /* StructureGenerator.kt:175 */
          27  +
            .unwrap_or_default()
          28  +
        /* StructureGenerator.kt:166 */
   18     29   
    }
   19         -
    /// <p>An ordered array of up to 25 <code>ItemResponse</code> objects, each of which corresponds to the <code>TransactGetItem</code> object in the same position in the <i>TransactItems</i> array. Each <code>ItemResponse</code> object contains a Map of the name-value pairs that are the projected attributes of the requested item.</p>
          30  +
    /// /* StructureGenerator.kt:231 */<p>An ordered array of up to 25 <code>ItemResponse</code> objects, each of which corresponds to the <code>TransactGetItem</code> object in the same position in the <i>TransactItems</i> array. Each <code>ItemResponse</code> object contains a Map of the name-value pairs that are the projected attributes of the requested item.</p>
   20     31   
    /// <p>If a requested item could not be retrieved, the corresponding <code>ItemResponse</code> object is Null, or if the requested item has no projected attributes, the corresponding <code>ItemResponse</code> object is an empty Map.</p>
   21         -
    ///
   22         -
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.responses.is_none()`.
          32  +
    /// /* StructureGenerator.kt:162 */
          33  +
    /// /* StructureGenerator.kt:163 */If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.responses.is_none()`.
          34  +
    /* StructureGenerator.kt:166 */
   23     35   
    pub fn responses(&self) -> &[crate::types::ItemResponse] {
   24         -
        self.responses.as_deref().unwrap_or_default()
          36  +
        /* StructureGenerator.kt:169 */
          37  +
        self.responses
          38  +
            .as_deref()
          39  +
            /* StructureGenerator.kt:175 */
          40  +
            .unwrap_or_default()
          41  +
        /* StructureGenerator.kt:166 */
   25     42   
    }
          43  +
    /* StructureGenerator.kt:135 */
   26     44   
}
          45  +
/* ClientCodegenVisitor.kt:237 */
   27     46   
impl TransactGetItemsOutput {
   28         -
    /// Creates a new builder-style object to manufacture [`TransactGetItemsOutput`](crate::operation::transact_get_items::TransactGetItemsOutput).
          47  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`TransactGetItemsOutput`](crate::operation::transact_get_items::TransactGetItemsOutput).
          48  +
    /* BuilderGenerator.kt:175 */
   29     49   
    pub fn builder() -> crate::operation::transact_get_items::builders::TransactGetItemsOutputBuilder {
          50  +
        /* BuilderGenerator.kt:176 */
   30     51   
        crate::operation::transact_get_items::builders::TransactGetItemsOutputBuilder::default()
          52  +
        /* BuilderGenerator.kt:175 */
   31     53   
    }
          54  +
    /* ClientCodegenVisitor.kt:237 */
   32     55   
}
   33     56   
   34         -
/// A builder for [`TransactGetItemsOutput`](crate::operation::transact_get_items::TransactGetItemsOutput).
          57  +
/// /* BuilderGenerator.kt:342 */A builder for [`TransactGetItemsOutput`](crate::operation::transact_get_items::TransactGetItemsOutput).
          58  +
/* RustType.kt:516 */
   35     59   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          60  +
/* RustType.kt:516 */
   36     61   
#[non_exhaustive]
          62  +
/* BuilderGenerator.kt:345 */
   37     63   
pub struct TransactGetItemsOutputBuilder {
   38         -
    pub(crate) consumed_capacity: ::std::option::Option<::std::vec::Vec<crate::types::ConsumedCapacity>>,
          64  +
    /* BuilderGenerator.kt:275 */ pub(crate) consumed_capacity: ::std::option::Option<::std::vec::Vec<crate::types::ConsumedCapacity>>,
          65  +
    /* BuilderGenerator.kt:275 */
   39     66   
    pub(crate) responses: ::std::option::Option<::std::vec::Vec<crate::types::ItemResponse>>,
          67  +
    /* BuilderGenerator.kt:345 */
   40     68   
}
          69  +
/* BuilderGenerator.kt:355 */
   41     70   
impl TransactGetItemsOutputBuilder {
   42         -
    /// Appends an item to `consumed_capacity`.
          71  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `consumed_capacity`.
          72  +
    /* BuilderGenerator.kt:411 */
   43     73   
    ///
   44         -
    /// To override the contents of this collection use [`set_consumed_capacity`](Self::set_consumed_capacity).
          74  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_consumed_capacity`](Self::set_consumed_capacity).
          75  +
    /* BuilderGenerator.kt:413 */
   45     76   
    ///
   46         -
    /// <p>If the <i>ReturnConsumedCapacity</i> value was <code>TOTAL</code>, this is an array of <code>ConsumedCapacity</code> objects, one for each table addressed by <code>TransactGetItem</code> objects in the <i>TransactItems</i> parameter. These <code>ConsumedCapacity</code> objects report the read-capacity units consumed by the <code>TransactGetItems</code> call in that table.</p>
          77  +
    /// /* BuilderGenerator.kt:414 */<p>If the <i>ReturnConsumedCapacity</i> value was <code>TOTAL</code>, this is an array of <code>ConsumedCapacity</code> objects, one for each table addressed by <code>TransactGetItem</code> objects in the <i>TransactItems</i> parameter. These <code>ConsumedCapacity</code> objects report the read-capacity units consumed by the <code>TransactGetItems</code> call in that table.</p>
          78  +
    /* BuilderGenerator.kt:418 */
   47     79   
    pub fn consumed_capacity(mut self, input: crate::types::ConsumedCapacity) -> Self {
          80  +
        /* BuilderGenerator.kt:419 */
   48     81   
        let mut v = self.consumed_capacity.unwrap_or_default();
   49     82   
        v.push(input);
   50     83   
        self.consumed_capacity = ::std::option::Option::Some(v);
   51     84   
        self
          85  +
        /* BuilderGenerator.kt:418 */
   52     86   
    }
   53         -
    /// <p>If the <i>ReturnConsumedCapacity</i> value was <code>TOTAL</code>, this is an array of <code>ConsumedCapacity</code> objects, one for each table addressed by <code>TransactGetItem</code> objects in the <i>TransactItems</i> parameter. These <code>ConsumedCapacity</code> objects report the read-capacity units consumed by the <code>TransactGetItems</code> call in that table.</p>
          87  +
    /// /* BuilderGenerator.kt:312 */<p>If the <i>ReturnConsumedCapacity</i> value was <code>TOTAL</code>, this is an array of <code>ConsumedCapacity</code> objects, one for each table addressed by <code>TransactGetItem</code> objects in the <i>TransactItems</i> parameter. These <code>ConsumedCapacity</code> objects report the read-capacity units consumed by the <code>TransactGetItems</code> call in that table.</p>
          88  +
    /* BuilderGenerator.kt:314 */
   54     89   
    pub fn set_consumed_capacity(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ConsumedCapacity>>) -> Self {
          90  +
        /* BuilderGenerator.kt:315 */
   55     91   
        self.consumed_capacity = input;
   56     92   
        self
          93  +
        /* BuilderGenerator.kt:314 */
   57     94   
    }
   58         -
    /// <p>If the <i>ReturnConsumedCapacity</i> value was <code>TOTAL</code>, this is an array of <code>ConsumedCapacity</code> objects, one for each table addressed by <code>TransactGetItem</code> objects in the <i>TransactItems</i> parameter. These <code>ConsumedCapacity</code> objects report the read-capacity units consumed by the <code>TransactGetItems</code> call in that table.</p>
          95  +
    /// /* BuilderGenerator.kt:334 */<p>If the <i>ReturnConsumedCapacity</i> value was <code>TOTAL</code>, this is an array of <code>ConsumedCapacity</code> objects, one for each table addressed by <code>TransactGetItem</code> objects in the <i>TransactItems</i> parameter. These <code>ConsumedCapacity</code> objects report the read-capacity units consumed by the <code>TransactGetItems</code> call in that table.</p>
          96  +
    /* BuilderGenerator.kt:336 */
   59     97   
    pub fn get_consumed_capacity(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ConsumedCapacity>> {
          98  +
        /* BuilderGenerator.kt:337 */
   60     99   
        &self.consumed_capacity
         100  +
        /* BuilderGenerator.kt:336 */
   61    101   
    }
   62         -
    /// Appends an item to `responses`.
         102  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `responses`.
         103  +
    /* BuilderGenerator.kt:411 */
   63    104   
    ///
   64         -
    /// To override the contents of this collection use [`set_responses`](Self::set_responses).
         105  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_responses`](Self::set_responses).
         106  +
    /* BuilderGenerator.kt:413 */
   65    107   
    ///
   66         -
    /// <p>An ordered array of up to 25 <code>ItemResponse</code> objects, each of which corresponds to the <code>TransactGetItem</code> object in the same position in the <i>TransactItems</i> array. Each <code>ItemResponse</code> object contains a Map of the name-value pairs that are the projected attributes of the requested item.</p>
         108  +
    /// /* BuilderGenerator.kt:414 */<p>An ordered array of up to 25 <code>ItemResponse</code> objects, each of which corresponds to the <code>TransactGetItem</code> object in the same position in the <i>TransactItems</i> array. Each <code>ItemResponse</code> object contains a Map of the name-value pairs that are the projected attributes of the requested item.</p>
   67    109   
    /// <p>If a requested item could not be retrieved, the corresponding <code>ItemResponse</code> object is Null, or if the requested item has no projected attributes, the corresponding <code>ItemResponse</code> object is an empty Map.</p>
         110  +
    /* BuilderGenerator.kt:418 */
   68    111   
    pub fn responses(mut self, input: crate::types::ItemResponse) -> Self {
         112  +
        /* BuilderGenerator.kt:419 */
   69    113   
        let mut v = self.responses.unwrap_or_default();
   70    114   
        v.push(input);
   71    115   
        self.responses = ::std::option::Option::Some(v);
   72    116   
        self
         117  +
        /* BuilderGenerator.kt:418 */
   73    118   
    }
   74         -
    /// <p>An ordered array of up to 25 <code>ItemResponse</code> objects, each of which corresponds to the <code>TransactGetItem</code> object in the same position in the <i>TransactItems</i> array. Each <code>ItemResponse</code> object contains a Map of the name-value pairs that are the projected attributes of the requested item.</p>
         119  +
    /// /* BuilderGenerator.kt:312 */<p>An ordered array of up to 25 <code>ItemResponse</code> objects, each of which corresponds to the <code>TransactGetItem</code> object in the same position in the <i>TransactItems</i> array. Each <code>ItemResponse</code> object contains a Map of the name-value pairs that are the projected attributes of the requested item.</p>
   75    120   
    /// <p>If a requested item could not be retrieved, the corresponding <code>ItemResponse</code> object is Null, or if the requested item has no projected attributes, the corresponding <code>ItemResponse</code> object is an empty Map.</p>
         121  +
    /* BuilderGenerator.kt:314 */
   76    122   
    pub fn set_responses(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ItemResponse>>) -> Self {
         123  +
        /* BuilderGenerator.kt:315 */
   77    124   
        self.responses = input;
   78    125   
        self
         126  +
        /* BuilderGenerator.kt:314 */
   79    127   
    }
   80         -
    /// <p>An ordered array of up to 25 <code>ItemResponse</code> objects, each of which corresponds to the <code>TransactGetItem</code> object in the same position in the <i>TransactItems</i> array. Each <code>ItemResponse</code> object contains a Map of the name-value pairs that are the projected attributes of the requested item.</p>
         128  +
    /// /* BuilderGenerator.kt:334 */<p>An ordered array of up to 25 <code>ItemResponse</code> objects, each of which corresponds to the <code>TransactGetItem</code> object in the same position in the <i>TransactItems</i> array. Each <code>ItemResponse</code> object contains a Map of the name-value pairs that are the projected attributes of the requested item.</p>
   81    129   
    /// <p>If a requested item could not be retrieved, the corresponding <code>ItemResponse</code> object is Null, or if the requested item has no projected attributes, the corresponding <code>ItemResponse</code> object is an empty Map.</p>
         130  +
    /* BuilderGenerator.kt:336 */
   82    131   
    pub fn get_responses(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ItemResponse>> {
         132  +
        /* BuilderGenerator.kt:337 */
   83    133   
        &self.responses
         134  +
        /* BuilderGenerator.kt:336 */
   84    135   
    }
   85         -
    /// Consumes the builder and constructs a [`TransactGetItemsOutput`](crate::operation::transact_get_items::TransactGetItemsOutput).
         136  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`TransactGetItemsOutput`](crate::operation::transact_get_items::TransactGetItemsOutput).
         137  +
    /* BuilderGenerator.kt:253 */
   86    138   
    pub fn build(self) -> crate::operation::transact_get_items::TransactGetItemsOutput {
         139  +
        /* BuilderGenerator.kt:477 */
   87    140   
        crate::operation::transact_get_items::TransactGetItemsOutput {
   88         -
            consumed_capacity: self.consumed_capacity,
         141  +
            /* BuilderGenerator.kt:481 */ consumed_capacity: self.consumed_capacity,
         142  +
            /* BuilderGenerator.kt:481 */
   89    143   
            responses: self.responses,
         144  +
            /* BuilderGenerator.kt:477 */
   90    145   
        }
         146  +
        /* BuilderGenerator.kt:253 */
   91    147   
    }
         148  +
    /* BuilderGenerator.kt:355 */
   92    149   
}

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

@@ -1,1 +155,173 @@
    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::transact_get_items::_transact_get_items_output::TransactGetItemsOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::transact_get_items::_transact_get_items_input::TransactGetItemsInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::transact_get_items::builders::TransactGetItemsInputBuilder {
    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::transact_get_items::TransactGetItemsOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::transact_get_items::TransactGetItemsError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.transact_get_items();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `TransactGetItems`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `TransactGetItems`.
   24     27   
///
   25         -
/// <p><code>TransactGetItems</code> is a synchronous operation that atomically retrieves multiple items from one or more tables (but not from indexes) in a single account and Region. A <code>TransactGetItems</code> call can contain up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure that specifies an item to retrieve from a table in the account and Region. A call to <code>TransactGetItems</code> cannot retrieve items from tables in more than one AWS account or Region. The aggregate size of the items in the transaction cannot exceed 4 MB.</p>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p><code>TransactGetItems</code> is a synchronous operation that atomically retrieves multiple items from one or more tables (but not from indexes) in a single account and Region. A <code>TransactGetItems</code> call can contain up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure that specifies an item to retrieve from a table in the account and Region. A call to <code>TransactGetItems</code> cannot retrieve items from tables in more than one AWS account or Region. The aggregate size of the items in the transaction cannot exceed 4 MB.</p>
   26     29   
/// <p>DynamoDB rejects the entire <code>TransactGetItems</code> request if any of the following is true:</p>
   27     30   
/// <ul>
   28     31   
/// <li>
   29     32   
/// <p>A conflicting operation is in the process of updating an item to be read.</p></li>
   30     33   
/// <li>
   31     34   
/// <p>There is insufficient provisioned capacity for the transaction to be completed.</p></li>
   32     35   
/// <li>
   33     36   
/// <p>There is a user error, such as an invalid data format.</p></li>
   34     37   
/// <li>
   35     38   
/// <p>The aggregate size of the items in the transaction cannot exceed 4 MB.</p></li>
   36     39   
/// </ul>
          40  +
/* RustType.kt:516 */
   37     41   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          42  +
/* FluentBuilderGenerator.kt:270 */
   38     43   
pub struct TransactGetItemsFluentBuilder {
   39     44   
    handle: ::std::sync::Arc<crate::client::Handle>,
   40     45   
    inner: crate::operation::transact_get_items::builders::TransactGetItemsInputBuilder,
   41     46   
    config_override: ::std::option::Option<crate::config::Builder>,
   42     47   
}
          48  +
/* FluentBuilderGenerator.kt:381 */
   43     49   
impl
   44     50   
    crate::client::customize::internal::CustomizableSend<
   45     51   
        crate::operation::transact_get_items::TransactGetItemsOutput,
   46     52   
        crate::operation::transact_get_items::TransactGetItemsError,
   47     53   
    > for TransactGetItemsFluentBuilder
   48     54   
{
   49     55   
    fn send(
   50     56   
        self,
   51     57   
        config_override: crate::config::Builder,
   52     58   
    ) -> crate::client::customize::internal::BoxFuture<
   53     59   
        crate::client::customize::internal::SendResult<
   54     60   
            crate::operation::transact_get_items::TransactGetItemsOutput,
   55     61   
            crate::operation::transact_get_items::TransactGetItemsError,
   56     62   
        >,
   57     63   
    > {
   58     64   
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
   59     65   
    }
   60     66   
}
          67  +
/* FluentBuilderGenerator.kt:282 */
   61     68   
impl TransactGetItemsFluentBuilder {
          69  +
    /* FluentBuilderGenerator.kt:288 */
   62     70   
    /// Creates a new `TransactGetItemsFluentBuilder`.
   63     71   
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
   64     72   
        Self {
   65     73   
            handle,
   66     74   
            inner: ::std::default::Default::default(),
   67     75   
            config_override: ::std::option::Option::None,
   68     76   
        }
   69     77   
    }
          78  +
    /* FluentBuilderGenerator.kt:301 */
   70     79   
    /// Access the TransactGetItems as a reference.
   71     80   
    pub fn as_input(&self) -> &crate::operation::transact_get_items::builders::TransactGetItemsInputBuilder {
   72     81   
        &self.inner
   73     82   
    }
          83  +
    /* FluentBuilderGenerator.kt:145 */
   74     84   
    /// Sends the request and returns the response.
   75     85   
    ///
   76     86   
    /// If an error occurs, an `SdkError` will be returned with additional details that
   77     87   
    /// can be matched against.
   78     88   
    ///
   79     89   
    /// By default, any retryable failures will be retried twice. Retry behavior
   80     90   
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
   81     91   
    /// set when configuring the client.
   82     92   
    pub async fn send(
   83     93   
        self,
   84     94   
    ) -> ::std::result::Result<
   85     95   
        crate::operation::transact_get_items::TransactGetItemsOutput,
   86     96   
        ::aws_smithy_runtime_api::client::result::SdkError<
   87     97   
            crate::operation::transact_get_items::TransactGetItemsError,
   88     98   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   89     99   
        >,
   90    100   
    > {
   91    101   
        let input = self
   92    102   
            .inner
   93    103   
            .build()
   94    104   
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
   95    105   
        let runtime_plugins = crate::operation::transact_get_items::TransactGetItems::operation_runtime_plugins(
   96    106   
            self.handle.runtime_plugins.clone(),
   97    107   
            &self.handle.conf,
   98    108   
            self.config_override,
   99    109   
        );
  100    110   
        crate::operation::transact_get_items::TransactGetItems::orchestrate(&runtime_plugins, input).await
  101    111   
    }
  102    112   
  103    113   
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
  104    114   
    pub fn customize(
  105    115   
        self,
  106    116   
    ) -> crate::client::customize::CustomizableOperation<
  107    117   
        crate::operation::transact_get_items::TransactGetItemsOutput,
  108    118   
        crate::operation::transact_get_items::TransactGetItemsError,
  109    119   
        Self,
  110    120   
    > {
  111    121   
        crate::client::customize::CustomizableOperation::new(self)
  112    122   
    }
         123  +
    /* FluentBuilderGenerator.kt:315 */
  113    124   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
  114    125   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
  115    126   
        self
  116    127   
    }
  117    128   
  118    129   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  119    130   
        self.config_override = config_override;
  120    131   
        self
  121    132   
    }
  122         -
    ///
         133  +
    /// /* FluentBuilderGenerator.kt:436 */
  123    134   
    /// Appends an item to `TransactItems`.
  124    135   
    ///
  125    136   
    /// To override the contents of this collection use [`set_transact_items`](Self::set_transact_items).
  126    137   
    ///
  127         -
    /// <p>An ordered array of up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure.</p>
         138  +
    /// /* FluentBuilderGenerator.kt:443 */<p>An ordered array of up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure.</p>
         139  +
    /* FluentBuilderGenerator.kt:446 */
  128    140   
    pub fn transact_items(mut self, input: crate::types::TransactGetItem) -> Self {
  129    141   
        self.inner = self.inner.transact_items(input);
  130    142   
        self
  131    143   
    }
  132         -
    /// <p>An ordered array of up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure.</p>
         144  +
    /// /* FluentBuilderGenerator.kt:498 */<p>An ordered array of up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure.</p>
         145  +
    /* FluentBuilderGenerator.kt:500 */
  133    146   
    pub fn set_transact_items(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TransactGetItem>>) -> Self {
  134    147   
        self.inner = self.inner.set_transact_items(input);
  135    148   
        self
  136    149   
    }
  137         -
    /// <p>An ordered array of up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure.</p>
         150  +
    /// /* FluentBuilderGenerator.kt:518 */<p>An ordered array of up to 25 <code>TransactGetItem</code> objects, each of which contains a <code>Get</code> structure.</p>
         151  +
    /* FluentBuilderGenerator.kt:520 */
  138    152   
    pub fn get_transact_items(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TransactGetItem>> {
  139    153   
        self.inner.get_transact_items()
  140    154   
    }
  141         -
    /// <p>A value of <code>TOTAL</code> causes consumed capacity information to be returned, and a value of <code>NONE</code> prevents that information from being returned. No other value is valid.</p>
         155  +
    /// /* FluentBuilderGenerator.kt:498 */<p>A value of <code>TOTAL</code> causes consumed capacity information to be returned, and a value of <code>NONE</code> prevents that information from being returned. No other value is valid.</p>
         156  +
    /* FluentBuilderGenerator.kt:500 */
  142    157   
    pub fn return_consumed_capacity(mut self, input: crate::types::ReturnConsumedCapacity) -> Self {
  143    158   
        self.inner = self.inner.return_consumed_capacity(input);
  144    159   
        self
  145    160   
    }
  146         -
    /// <p>A value of <code>TOTAL</code> causes consumed capacity information to be returned, and a value of <code>NONE</code> prevents that information from being returned. No other value is valid.</p>
         161  +
    /// /* FluentBuilderGenerator.kt:498 */<p>A value of <code>TOTAL</code> causes consumed capacity information to be returned, and a value of <code>NONE</code> prevents that information from being returned. No other value is valid.</p>
         162  +
    /* FluentBuilderGenerator.kt:500 */
  147    163   
    pub fn set_return_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ReturnConsumedCapacity>) -> Self {
  148    164   
        self.inner = self.inner.set_return_consumed_capacity(input);
  149    165   
        self
  150    166   
    }
  151         -
    /// <p>A value of <code>TOTAL</code> causes consumed capacity information to be returned, and a value of <code>NONE</code> prevents that information from being returned. No other value is valid.</p>
         167  +
    /// /* FluentBuilderGenerator.kt:518 */<p>A value of <code>TOTAL</code> causes consumed capacity information to be returned, and a value of <code>NONE</code> prevents that information from being returned. No other value is valid.</p>
         168  +
    /* FluentBuilderGenerator.kt:520 */
  152    169   
    pub fn get_return_consumed_capacity(&self) -> &::std::option::Option<crate::types::ReturnConsumedCapacity> {
  153    170   
        self.inner.get_return_consumed_capacity()
  154    171   
    }
         172  +
    /* FluentBuilderGenerator.kt:282 */
  155    173   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/operation/transact_write_items.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 `TransactWriteItems`.
           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 TransactWriteItems;
          10  +
/* OperationGenerator.kt:85 */
    6     11   
impl TransactWriteItems {
    7         -
    /// Creates a new `TransactWriteItems`
          12  +
    /// /* OperationGenerator.kt:86 */Creates a new `TransactWriteItems`
          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::transact_write_items::TransactWriteItemsInput,
   14     23   
    ) -> ::std::result::Result<
   15     24   
        crate::operation::transact_write_items::TransactWriteItemsOutput,
   16     25   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     26   
            crate::operation::transact_write_items::TransactWriteItemsError,
   18     27   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     28   
        >,
   20     29   
    > {
@@ -66,75 +293,317 @@
   86     95   
                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
   87     96   
            }
   88     97   
            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
   89     98   
                config_override,
   90     99   
                client_config.config.clone(),
   91    100   
                &client_config.runtime_components,
   92    101   
            ));
   93    102   
        }
   94    103   
        runtime_plugins
   95    104   
    }
         105  +
    /* OperationGenerator.kt:85 */
   96    106   
}
         107  +
/* OperationRuntimePluginGenerator.kt:55 */
   97    108   
impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for TransactWriteItems {
   98    109   
    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
   99    110   
        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("TransactWriteItems");
  100    111   
  101    112   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
  102    113   
            TransactWriteItemsRequestSerializer,
  103    114   
        ));
  104    115   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
  105    116   
            TransactWriteItemsResponseDeserializer,
  106    117   
        ));
  107    118   
  108    119   
        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
  109    120   
            ::aws_smithy_runtime_api::client::auth::static_resolver::StaticAuthSchemeOptionResolverParams::new(),
  110    121   
        ));
  111    122   
  112    123   
        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
  113    124   
            "TransactWriteItems",
  114    125   
            "DynamoDB",
  115    126   
        ));
  116    127   
  117    128   
        ::std::option::Option::Some(cfg.freeze())
  118    129   
    }
  119    130   
  120    131   
    fn runtime_components(
  121    132   
        &self,
  122    133   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
  123    134   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
  124    135   
        #[allow(unused_mut)]
  125    136   
        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("TransactWriteItems")
  126    137   
            .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default())
  127    138   
            .with_interceptor(TransactWriteItemsEndpointParamsInterceptor)
  128    139   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
  129    140   
                crate::operation::transact_write_items::TransactWriteItemsError,
  130    141   
            >::new())
  131    142   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
  132    143   
                crate::operation::transact_write_items::TransactWriteItemsError,
  133    144   
            >::new());
  134    145   
  135    146   
        ::std::borrow::Cow::Owned(rcb)
  136    147   
    }
  137    148   
}
  138    149   
         150  +
/* ResponseDeserializerGenerator.kt:64 */
  139    151   
#[derive(Debug)]
  140    152   
struct TransactWriteItemsResponseDeserializer;
  141    153   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for TransactWriteItemsResponseDeserializer {
  142    154   
    fn deserialize_nonstreaming(
  143    155   
        &self,
  144    156   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  145    157   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  146    158   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  147    159   
        let headers = response.headers();
  148    160   
        let body = response.body().bytes().expect("body loaded");
  149    161   
        #[allow(unused_mut)]
  150    162   
        let mut force_error = false;
  151    163   
  152    164   
        let parse_result = if !success && status != 200 || force_error {
  153    165   
            crate::protocol_serde::shape_transact_write_items::de_transact_write_items_http_error(status, headers, body)
  154    166   
        } else {
  155    167   
            crate::protocol_serde::shape_transact_write_items::de_transact_write_items_http_response(status, headers, body)
  156    168   
        };
  157    169   
        crate::protocol_serde::type_erase_result(parse_result)
  158    170   
    }
  159    171   
}
         172  +
/* RequestSerializerGenerator.kt:67 */
  160    173   
#[derive(Debug)]
  161    174   
struct TransactWriteItemsRequestSerializer;
  162    175   
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for TransactWriteItemsRequestSerializer {
  163    176   
    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
  164    177   
    fn serialize_input(
  165    178   
        &self,
  166    179   
        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
  167    180   
        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  168    181   
    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
  169    182   
        let input = input
  170    183   
            .downcast::<crate::operation::transact_write_items::TransactWriteItemsInput>()
  171    184   
            .expect("correct type");
  172    185   
        let _header_serialization_settings = _cfg
  173    186   
            .load::<crate::serialization_settings::HeaderSerializationSettings>()
  174    187   
            .cloned()
  175    188   
            .unwrap_or_default();
  176    189   
        let mut request_builder = {
  177    190   
            fn uri_base(
  178    191   
                _input: &crate::operation::transact_write_items::TransactWriteItemsInput,
  179    192   
                output: &mut ::std::string::String,
  180    193   
            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
  181    194   
                use ::std::fmt::Write as _;
  182    195   
                ::std::write!(output, "/").expect("formatting should succeed");
  183    196   
                ::std::result::Result::Ok(())
  184    197   
            }
  185    198   
            #[allow(clippy::unnecessary_wraps)]
  186    199   
            fn update_http_builder(
  187    200   
                input: &crate::operation::transact_write_items::TransactWriteItemsInput,
  188    201   
                builder: ::http::request::Builder,
  189    202   
            ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
  190    203   
                let mut uri = ::std::string::String::new();
  191    204   
                uri_base(input, &mut uri)?;
  192    205   
                ::std::result::Result::Ok(builder.method("POST").uri(uri))
  193    206   
            }
  194    207   
            let mut builder = update_http_builder(&input, ::http::request::Builder::new())?;
  195    208   
            builder = _header_serialization_settings.set_default_header(builder, ::http::header::CONTENT_TYPE, "application/x-amz-json-1.0");
  196    209   
            builder = _header_serialization_settings.set_default_header(
  197    210   
                builder,
  198    211   
                ::http::header::HeaderName::from_static("x-amz-target"),
  199    212   
                "DynamoDB_20120810.TransactWriteItems",
  200    213   
            );
  201    214   
            builder
  202    215   
        };
  203    216   
        let body =
  204    217   
            ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_transact_write_items::ser_transact_write_items_input(&input)?);
  205    218   
        if let Some(content_length) = body.content_length() {
  206    219   
            let content_length = content_length.to_string();
  207    220   
            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http::header::CONTENT_LENGTH, &content_length);
  208    221   
        }
  209    222   
        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
  210    223   
    }
  211    224   
}
         225  +
/* EndpointParamsInterceptorGenerator.kt:86 */
  212    226   
#[derive(Debug)]
  213    227   
struct TransactWriteItemsEndpointParamsInterceptor;
  214    228   
  215    229   
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for TransactWriteItemsEndpointParamsInterceptor {
  216    230   
    fn name(&self) -> &'static str {
  217    231   
        "TransactWriteItemsEndpointParamsInterceptor"
  218    232   
    }
  219    233   
  220    234   
    fn read_before_execution(
  221    235   
        &self,
  222    236   
        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
  223    237   
            '_,
  224    238   
            ::aws_smithy_runtime_api::client::interceptors::context::Input,
  225    239   
            ::aws_smithy_runtime_api::client::interceptors::context::Output,
  226    240   
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
  227    241   
        >,
  228    242   
        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  229    243   
    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
  230    244   
        let _input = context
  231    245   
            .input()
  232    246   
            .downcast_ref::<TransactWriteItemsInput>()
  233    247   
            .ok_or("failed to downcast to TransactWriteItemsInput")?;
  234    248   
  235    249   
        let params = crate::config::endpoint::Params::builder().build().map_err(|err| {
  236    250   
            ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  237    251   
        })?;
  238    252   
        cfg.interceptor_state()
  239    253   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  240    254   
        ::std::result::Result::Ok(())
  241    255   
    }
  242    256   
}
  243    257   
  244    258   
// The get_* functions below are generated from JMESPath expressions in the
  245    259   
// operationContextParams trait. They target the operation's input shape.
  246    260   
         261  +
/* OperationErrorGenerator.kt:79 */
  247    262   
/// Error type for the `TransactWriteItemsError` operation.
         263  +
/* RustType.kt:516 */
  248    264   
#[non_exhaustive]
         265  +
/* RustType.kt:516 */
  249    266   
#[derive(::std::fmt::Debug)]
  250         -
pub enum TransactWriteItemsError {
  251         -
    /// <p>DynamoDB rejected the request because you retried a request with a different payload but with an idempotent token that was already used.</p>
         267  +
pub /* OperationErrorGenerator.kt:81 */ enum TransactWriteItemsError {
         268  +
    /// /* OperationErrorGenerator.kt:83 */<p>DynamoDB rejected the request because you retried a request with a different payload but with an idempotent token that was already used.</p>
         269  +
    /* OperationErrorGenerator.kt:86 */
  252    270   
    IdempotentParameterMismatchError(crate::types::error::IdempotentParameterMismatchError),
  253         -
    /// <p>An error occurred on the server side.</p>
         271  +
    /// /* OperationErrorGenerator.kt:83 */<p>An error occurred on the server side.</p>
         272  +
    /* OperationErrorGenerator.kt:86 */
  254    273   
    InternalServerError(crate::types::error::InternalServerError),
         274  +
    /* OperationErrorGenerator.kt:83 */
  255    275   
    #[allow(missing_docs)] // documentation missing in model
         276  +
    /* OperationErrorGenerator.kt:86 */
  256    277   
    InvalidEndpointError(crate::types::error::InvalidEndpointError),
  257         -
    /// <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>
         278  +
    /// /* 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>
         279  +
    /* OperationErrorGenerator.kt:86 */
  258    280   
    ProvisionedThroughputExceededError(crate::types::error::ProvisionedThroughputExceededError),
  259         -
    /// <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>
         281  +
    /// /* 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>
         282  +
    /* OperationErrorGenerator.kt:86 */
  260    283   
    RequestLimitExceeded(crate::types::error::RequestLimitExceeded),
  261         -
    /// <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>
         284  +
    /// /* 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>
         285  +
    /* OperationErrorGenerator.kt:86 */
  262    286   
    ResourceNotFoundError(crate::types::error::ResourceNotFoundError),
  263         -
    /// <p>The entire transaction request was canceled.</p>
         287  +
    /// /* OperationErrorGenerator.kt:83 */<p>The entire transaction request was canceled.</p>
  264    288   
    /// <p>DynamoDB cancels a <code>TransactWriteItems</code> request under the following circumstances:</p>
  265    289   
    /// <ul>
  266    290   
    /// <li>
  267    291   
    /// <p>A condition in one of the condition expressions is not met.</p></li>
  268    292   
    /// <li>
  269    293   
    /// <p>A table in the <code>TransactWriteItems</code> request is in a different account or region.</p></li>
  270    294   
    /// <li>
  271    295   
    /// <p>More than one action in the <code>TransactWriteItems</code> operation targets the same item.</p></li>
  272    296   
    /// <li>
  273    297   
    /// <p>There is insufficient provisioned capacity for the transaction to be completed.</p></li>
@@ -363,387 +553,817 @@
  383    407   
    /// <p>Type mismatch for attribute to update.</p></li>
  384    408   
    /// <li>
  385    409   
    /// <p>Nesting Levels have exceeded supported limits.</p></li>
  386    410   
    /// <li>
  387    411   
    /// <p>The document path provided in the update expression is invalid for update.</p></li>
  388    412   
    /// <li>
  389    413   
    /// <p>The provided expression refers to an attribute that does not exist in the item.</p></li>
  390    414   
    /// </ul></li>
  391    415   
    /// </ul></li>
  392    416   
    /// </ul>
         417  +
    /* OperationErrorGenerator.kt:86 */
  393    418   
    TransactionCanceledError(crate::types::error::TransactionCanceledError),
  394         -
    /// <p>The transaction with the given request token is already in progress.</p>
         419  +
    /// /* OperationErrorGenerator.kt:83 */<p>The transaction with the given request token is already in progress.</p>
         420  +
    /* OperationErrorGenerator.kt:86 */
  395    421   
    TransactionInProgressError(crate::types::error::TransactionInProgressError),
         422  +
    /* OperationErrorGenerator.kt:88 */
  396    423   
    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
  397    424   
    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
  398    425   
    variable wildcard pattern and check `.code()`:
  399    426   
     \
  400    427   
    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
  401    428   
     \
  402    429   
    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-TransactWriteItemsError) for what information is available for the error.")]
  403    430   
    Unhandled(crate::error::sealed_unhandled::Unhandled),
         431  +
    /* OperationErrorGenerator.kt:81 */
  404    432   
}
         433  +
/* OperationErrorGenerator.kt:218 */
  405    434   
impl TransactWriteItemsError {
         435  +
    /* OperationErrorGenerator.kt:219 */
  406    436   
    /// Creates the `TransactWriteItemsError::Unhandled` variant from any error type.
  407    437   
    pub fn unhandled(
  408    438   
        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
  409    439   
    ) -> Self {
  410    440   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  411    441   
            source: err.into(),
  412    442   
            meta: ::std::default::Default::default(),
  413    443   
        })
  414    444   
    }
  415    445   
  416    446   
    /// Creates the `TransactWriteItemsError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
  417    447   
    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
  418    448   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  419    449   
            source: err.clone().into(),
  420    450   
            meta: err,
  421    451   
        })
  422    452   
    }
  423         -
    ///
         453  +
    /// /* OperationErrorGenerator.kt:236 */
  424    454   
    /// Returns error metadata, which includes the error code, message,
  425    455   
    /// request ID, and potentially additional information.
  426    456   
    ///
         457  +
    /* OperationErrorGenerator.kt:242 */
  427    458   
    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         459  +
        /* OperationErrorGenerator.kt:243 */
  428    460   
        match self {
         461  +
            /* OperationErrorGenerator.kt:246 */
  429    462   
            Self::IdempotentParameterMismatchError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         463  +
            /* OperationErrorGenerator.kt:246 */
  430    464   
            Self::InternalServerError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         465  +
            /* OperationErrorGenerator.kt:246 */
  431    466   
            Self::InvalidEndpointError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         467  +
            /* OperationErrorGenerator.kt:246 */
  432    468   
            Self::ProvisionedThroughputExceededError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         469  +
            /* OperationErrorGenerator.kt:246 */
  433    470   
            Self::RequestLimitExceeded(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         471  +
            /* OperationErrorGenerator.kt:246 */
  434    472   
            Self::ResourceNotFoundError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         473  +
            /* OperationErrorGenerator.kt:246 */
  435    474   
            Self::TransactionCanceledError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         475  +
            /* OperationErrorGenerator.kt:246 */
  436    476   
            Self::TransactionInProgressError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
  437         -
            Self::Unhandled(e) => &e.meta,
         477  +
            /* OperationErrorGenerator.kt:251 */ Self::Unhandled(e) => &e.meta,
         478  +
            /* OperationErrorGenerator.kt:243 */
  438    479   
        }
         480  +
        /* OperationErrorGenerator.kt:242 */
  439    481   
    }
         482  +
    /* OperationErrorGenerator.kt:257 */
  440    483   
    /// Returns `true` if the error kind is `TransactWriteItemsError::IdempotentParameterMismatchError`.
         484  +
    /* OperationErrorGenerator.kt:258 */
  441    485   
    pub fn is_idempotent_parameter_mismatch_error(&self) -> bool {
         486  +
        /* OperationErrorGenerator.kt:259 */
  442    487   
        matches!(self, Self::IdempotentParameterMismatchError(_))
         488  +
        /* OperationErrorGenerator.kt:258 */
  443    489   
    }
         490  +
    /* OperationErrorGenerator.kt:257 */
  444    491   
    /// Returns `true` if the error kind is `TransactWriteItemsError::InternalServerError`.
         492  +
    /* OperationErrorGenerator.kt:258 */
  445    493   
    pub fn is_internal_server_error(&self) -> bool {
         494  +
        /* OperationErrorGenerator.kt:259 */
  446    495   
        matches!(self, Self::InternalServerError(_))
         496  +
        /* OperationErrorGenerator.kt:258 */
  447    497   
    }
         498  +
    /* OperationErrorGenerator.kt:257 */
  448    499   
    /// Returns `true` if the error kind is `TransactWriteItemsError::InvalidEndpointError`.
         500  +
    /* OperationErrorGenerator.kt:258 */
  449    501   
    pub fn is_invalid_endpoint_error(&self) -> bool {
         502  +
        /* OperationErrorGenerator.kt:259 */
  450    503   
        matches!(self, Self::InvalidEndpointError(_))
         504  +
        /* OperationErrorGenerator.kt:258 */
  451    505   
    }
         506  +
    /* OperationErrorGenerator.kt:257 */
  452    507   
    /// Returns `true` if the error kind is `TransactWriteItemsError::ProvisionedThroughputExceededError`.
         508  +
    /* OperationErrorGenerator.kt:258 */
  453    509   
    pub fn is_provisioned_throughput_exceeded_error(&self) -> bool {
         510  +
        /* OperationErrorGenerator.kt:259 */
  454    511   
        matches!(self, Self::ProvisionedThroughputExceededError(_))
         512  +
        /* OperationErrorGenerator.kt:258 */
  455    513   
    }
         514  +
    /* OperationErrorGenerator.kt:257 */
  456    515   
    /// Returns `true` if the error kind is `TransactWriteItemsError::RequestLimitExceeded`.
         516  +
    /* OperationErrorGenerator.kt:258 */
  457    517   
    pub fn is_request_limit_exceeded(&self) -> bool {
         518  +
        /* OperationErrorGenerator.kt:259 */
  458    519   
        matches!(self, Self::RequestLimitExceeded(_))
         520  +
        /* OperationErrorGenerator.kt:258 */
  459    521   
    }
         522  +
    /* OperationErrorGenerator.kt:257 */
  460    523   
    /// Returns `true` if the error kind is `TransactWriteItemsError::ResourceNotFoundError`.
         524  +
    /* OperationErrorGenerator.kt:258 */
  461    525   
    pub fn is_resource_not_found_error(&self) -> bool {
         526  +
        /* OperationErrorGenerator.kt:259 */
  462    527   
        matches!(self, Self::ResourceNotFoundError(_))
         528  +
        /* OperationErrorGenerator.kt:258 */
  463    529   
    }
         530  +
    /* OperationErrorGenerator.kt:257 */
  464    531   
    /// Returns `true` if the error kind is `TransactWriteItemsError::TransactionCanceledError`.
         532  +
    /* OperationErrorGenerator.kt:258 */
  465    533   
    pub fn is_transaction_canceled_error(&self) -> bool {
         534  +
        /* OperationErrorGenerator.kt:259 */
  466    535   
        matches!(self, Self::TransactionCanceledError(_))
         536  +
        /* OperationErrorGenerator.kt:258 */
  467    537   
    }
         538  +
    /* OperationErrorGenerator.kt:257 */
  468    539   
    /// Returns `true` if the error kind is `TransactWriteItemsError::TransactionInProgressError`.
         540  +
    /* OperationErrorGenerator.kt:258 */
  469    541   
    pub fn is_transaction_in_progress_error(&self) -> bool {
         542  +
        /* OperationErrorGenerator.kt:259 */
  470    543   
        matches!(self, Self::TransactionInProgressError(_))
         544  +
        /* OperationErrorGenerator.kt:258 */
  471    545   
    }
         546  +
    /* OperationErrorGenerator.kt:218 */
  472    547   
}
         548  +
/* OperationErrorGenerator.kt:269 */
  473    549   
impl ::std::error::Error for TransactWriteItemsError {
         550  +
    /* OperationErrorGenerator.kt:270 */
  474    551   
    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
         552  +
        /* OperationErrorGenerator.kt:318 */
  475    553   
        match self {
  476         -
            Self::IdempotentParameterMismatchError(_inner) => ::std::option::Option::Some(_inner),
  477         -
            Self::InternalServerError(_inner) => ::std::option::Option::Some(_inner),
  478         -
            Self::InvalidEndpointError(_inner) => ::std::option::Option::Some(_inner),
  479         -
            Self::ProvisionedThroughputExceededError(_inner) => ::std::option::Option::Some(_inner),
  480         -
            Self::RequestLimitExceeded(_inner) => ::std::option::Option::Some(_inner),
  481         -
            Self::ResourceNotFoundError(_inner) => ::std::option::Option::Some(_inner),
  482         -
            Self::TransactionCanceledError(_inner) => ::std::option::Option::Some(_inner),
  483         -
            Self::TransactionInProgressError(_inner) => ::std::option::Option::Some(_inner),
  484         -
            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
         554  +
            /* OperationErrorGenerator.kt:321 */
         555  +
            Self::IdempotentParameterMismatchError(_inner) =>
         556  +
            /* OperationErrorGenerator.kt:283 */
         557  +
            {
         558  +
                ::std::option::Option::Some(_inner)
         559  +
            }
         560  +
            ,
         561  +
            /* OperationErrorGenerator.kt:321 */
         562  +
            Self::InternalServerError(_inner) =>
         563  +
            /* OperationErrorGenerator.kt:283 */
         564  +
            {
         565  +
                ::std::option::Option::Some(_inner)
         566  +
            }
         567  +
            ,
         568  +
            /* OperationErrorGenerator.kt:321 */
         569  +
            Self::InvalidEndpointError(_inner) =>
         570  +
            /* OperationErrorGenerator.kt:283 */
         571  +
            {
         572  +
                ::std::option::Option::Some(_inner)
         573  +
            }
         574  +
            ,
         575  +
            /* OperationErrorGenerator.kt:321 */
         576  +
            Self::ProvisionedThroughputExceededError(_inner) =>
         577  +
            /* OperationErrorGenerator.kt:283 */
         578  +
            {
         579  +
                ::std::option::Option::Some(_inner)
         580  +
            }
         581  +
            ,
         582  +
            /* OperationErrorGenerator.kt:321 */
         583  +
            Self::RequestLimitExceeded(_inner) =>
         584  +
            /* OperationErrorGenerator.kt:283 */
         585  +
            {
         586  +
                ::std::option::Option::Some(_inner)
         587  +
            }
         588  +
            ,
         589  +
            /* OperationErrorGenerator.kt:321 */
         590  +
            Self::ResourceNotFoundError(_inner) =>
         591  +
            /* OperationErrorGenerator.kt:283 */
         592  +
            {
         593  +
                ::std::option::Option::Some(_inner)
         594  +
            }
         595  +
            ,
         596  +
            /* OperationErrorGenerator.kt:321 */
         597  +
            Self::TransactionCanceledError(_inner) =>
         598  +
            /* OperationErrorGenerator.kt:283 */
         599  +
            {
         600  +
                ::std::option::Option::Some(_inner)
         601  +
            }
         602  +
            ,
         603  +
            /* OperationErrorGenerator.kt:321 */
         604  +
            Self::TransactionInProgressError(_inner) =>
         605  +
            /* OperationErrorGenerator.kt:283 */
         606  +
            {
         607  +
                ::std::option::Option::Some(_inner)
         608  +
            }
         609  +
            ,
         610  +
            /* OperationErrorGenerator.kt:326 */
         611  +
            Self::Unhandled(_inner) => {
         612  +
                /* OperationErrorGenerator.kt:279 */
         613  +
                ::std::option::Option::Some(&*_inner.source)
         614  +
                /* OperationErrorGenerator.kt:326 */
         615  +
            } /* OperationErrorGenerator.kt:318 */
  485    616   
        }
         617  +
        /* OperationErrorGenerator.kt:270 */
  486    618   
    }
         619  +
    /* OperationErrorGenerator.kt:269 */
  487    620   
}
         621  +
/* OperationErrorGenerator.kt:133 */
  488    622   
impl ::std::fmt::Display for TransactWriteItemsError {
         623  +
    /* OperationErrorGenerator.kt:134 */
  489    624   
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         625  +
        /* OperationErrorGenerator.kt:318 */
  490    626   
        match self {
  491         -
            Self::IdempotentParameterMismatchError(_inner) => _inner.fmt(f),
  492         -
            Self::InternalServerError(_inner) => _inner.fmt(f),
  493         -
            Self::InvalidEndpointError(_inner) => _inner.fmt(f),
  494         -
            Self::ProvisionedThroughputExceededError(_inner) => _inner.fmt(f),
  495         -
            Self::RequestLimitExceeded(_inner) => _inner.fmt(f),
  496         -
            Self::ResourceNotFoundError(_inner) => _inner.fmt(f),
  497         -
            Self::TransactionCanceledError(_inner) => _inner.fmt(f),
  498         -
            Self::TransactionInProgressError(_inner) => _inner.fmt(f),
         627  +
            /* OperationErrorGenerator.kt:321 */
         628  +
            Self::IdempotentParameterMismatchError(_inner) =>
         629  +
            /* OperationErrorGenerator.kt:151 */
         630  +
            {
         631  +
                _inner.fmt(f)
         632  +
            }
         633  +
            ,
         634  +
            /* OperationErrorGenerator.kt:321 */
         635  +
            Self::InternalServerError(_inner) =>
         636  +
            /* OperationErrorGenerator.kt:151 */
         637  +
            {
         638  +
                _inner.fmt(f)
         639  +
            }
         640  +
            ,
         641  +
            /* OperationErrorGenerator.kt:321 */
         642  +
            Self::InvalidEndpointError(_inner) =>
         643  +
            /* OperationErrorGenerator.kt:151 */
         644  +
            {
         645  +
                _inner.fmt(f)
         646  +
            }
         647  +
            ,
         648  +
            /* OperationErrorGenerator.kt:321 */
         649  +
            Self::ProvisionedThroughputExceededError(_inner) =>
         650  +
            /* OperationErrorGenerator.kt:151 */
         651  +
            {
         652  +
                _inner.fmt(f)
         653  +
            }
         654  +
            ,
         655  +
            /* OperationErrorGenerator.kt:321 */
         656  +
            Self::RequestLimitExceeded(_inner) =>
         657  +
            /* OperationErrorGenerator.kt:151 */
         658  +
            {
         659  +
                _inner.fmt(f)
         660  +
            }
         661  +
            ,
         662  +
            /* OperationErrorGenerator.kt:321 */
         663  +
            Self::ResourceNotFoundError(_inner) =>
         664  +
            /* OperationErrorGenerator.kt:151 */
         665  +
            {
         666  +
                _inner.fmt(f)
         667  +
            }
         668  +
            ,
         669  +
            /* OperationErrorGenerator.kt:321 */
         670  +
            Self::TransactionCanceledError(_inner) =>
         671  +
            /* OperationErrorGenerator.kt:151 */
         672  +
            {
         673  +
                _inner.fmt(f)
         674  +
            }
         675  +
            ,
         676  +
            /* OperationErrorGenerator.kt:321 */
         677  +
            Self::TransactionInProgressError(_inner) =>
         678  +
            /* OperationErrorGenerator.kt:151 */
         679  +
            {
         680  +
                _inner.fmt(f)
         681  +
            }
         682  +
            ,
         683  +
            /* OperationErrorGenerator.kt:326 */
  499    684   
            Self::Unhandled(_inner) => {
         685  +
                /* OperationErrorGenerator.kt:139 */
  500    686   
                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
  501    687   
                    write!(f, "unhandled error ({code})")
  502    688   
                } else {
  503    689   
                    f.write_str("unhandled error")
  504    690   
                }
         691  +
                /* OperationErrorGenerator.kt:326 */
         692  +
            } /* OperationErrorGenerator.kt:318 */
  505    693   
        }
         694  +
        /* OperationErrorGenerator.kt:134 */
  506    695   
    }
  507         -
    }
         696  +
    /* OperationErrorGenerator.kt:133 */
  508    697   
}
         698  +
/* OperationErrorGenerator.kt:182 */
  509    699   
impl ::aws_smithy_types::retry::ProvideErrorKind for TransactWriteItemsError {
         700  +
    /* OperationErrorGenerator.kt:186 */
  510    701   
    fn code(&self) -> ::std::option::Option<&str> {
         702  +
        /* OperationErrorGenerator.kt:187 */
  511    703   
        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
         704  +
        /* OperationErrorGenerator.kt:186 */
  512    705   
    }
         706  +
    /* OperationErrorGenerator.kt:190 */
  513    707   
    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
         708  +
        /* OperationErrorGenerator.kt:197 */
  514    709   
        ::std::option::Option::None
         710  +
        /* OperationErrorGenerator.kt:190 */
  515    711   
    }
         712  +
    /* OperationErrorGenerator.kt:182 */
  516    713   
}
         714  +
/* OperationErrorGenerator.kt:163 */
  517    715   
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for TransactWriteItemsError {
         716  +
    /* OperationErrorGenerator.kt:164 */
  518    717   
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         718  +
        /* OperationErrorGenerator.kt:318 */
  519    719   
        match self {
  520         -
            Self::IdempotentParameterMismatchError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  521         -
            Self::InternalServerError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  522         -
            Self::InvalidEndpointError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  523         -
            Self::ProvisionedThroughputExceededError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  524         -
            Self::RequestLimitExceeded(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  525         -
            Self::ResourceNotFoundError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  526         -
            Self::TransactionCanceledError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  527         -
            Self::TransactionInProgressError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  528         -
            Self::Unhandled(_inner) => &_inner.meta,
         720  +
            /* OperationErrorGenerator.kt:321 */
         721  +
            Self::IdempotentParameterMismatchError(_inner) =>
         722  +
            /* OperationErrorGenerator.kt:169 */
         723  +
            {
         724  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         725  +
            }
         726  +
            ,
         727  +
            /* OperationErrorGenerator.kt:321 */
         728  +
            Self::InternalServerError(_inner) =>
         729  +
            /* OperationErrorGenerator.kt:169 */
         730  +
            {
         731  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         732  +
            }
         733  +
            ,
         734  +
            /* OperationErrorGenerator.kt:321 */
         735  +
            Self::InvalidEndpointError(_inner) =>
         736  +
            /* OperationErrorGenerator.kt:169 */
         737  +
            {
         738  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         739  +
            }
         740  +
            ,
         741  +
            /* OperationErrorGenerator.kt:321 */
         742  +
            Self::ProvisionedThroughputExceededError(_inner) =>
         743  +
            /* OperationErrorGenerator.kt:169 */
         744  +
            {
         745  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         746  +
            }
         747  +
            ,
         748  +
            /* OperationErrorGenerator.kt:321 */
         749  +
            Self::RequestLimitExceeded(_inner) =>
         750  +
            /* OperationErrorGenerator.kt:169 */
         751  +
            {
         752  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         753  +
            }
         754  +
            ,
         755  +
            /* OperationErrorGenerator.kt:321 */
         756  +
            Self::ResourceNotFoundError(_inner) =>
         757  +
            /* OperationErrorGenerator.kt:169 */
         758  +
            {
         759  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         760  +
            }
         761  +
            ,
         762  +
            /* OperationErrorGenerator.kt:321 */
         763  +
            Self::TransactionCanceledError(_inner) =>
         764  +
            /* OperationErrorGenerator.kt:169 */
         765  +
            {
         766  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         767  +
            }
         768  +
            ,
         769  +
            /* OperationErrorGenerator.kt:321 */
         770  +
            Self::TransactionInProgressError(_inner) =>
         771  +
            /* OperationErrorGenerator.kt:169 */
         772  +
            {
         773  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         774  +
            }
         775  +
            ,
         776  +
            /* OperationErrorGenerator.kt:326 */
         777  +
            Self::Unhandled(_inner) => {
         778  +
                /* OperationErrorGenerator.kt:168 */
         779  +
                &_inner.meta
         780  +
                /* OperationErrorGenerator.kt:326 */
         781  +
            } /* OperationErrorGenerator.kt:318 */
  529    782   
        }
         783  +
        /* OperationErrorGenerator.kt:164 */
  530    784   
    }
         785  +
    /* OperationErrorGenerator.kt:163 */
  531    786   
}
         787  +
/* OperationErrorGenerator.kt:109 */
  532    788   
impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for TransactWriteItemsError {
         789  +
    /* OperationErrorGenerator.kt:110 */
  533    790   
    fn create_unhandled_error(
  534    791   
        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
  535    792   
        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
  536    793   
    ) -> Self {
         794  +
        /* OperationErrorGenerator.kt:121 */
  537    795   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  538    796   
            source,
  539    797   
            meta: meta.unwrap_or_default(),
  540    798   
        })
         799  +
        /* OperationErrorGenerator.kt:110 */
  541    800   
    }
         801  +
    /* OperationErrorGenerator.kt:109 */
  542    802   
}
  543    803   
         804  +
/* CodegenDelegator.kt:255 */
  544    805   
pub use crate::operation::transact_write_items::_transact_write_items_output::TransactWriteItemsOutput;
  545    806   
         807  +
/* CodegenDelegator.kt:255 */
  546    808   
pub use crate::operation::transact_write_items::_transact_write_items_input::TransactWriteItemsInput;
  547    809   
         810  +
/* RustModule.kt:172 */
  548    811   
mod _transact_write_items_input;
  549    812   
         813  +
/* RustModule.kt:172 */
  550    814   
mod _transact_write_items_output;
  551    815   
  552         -
/// Builders
         816  +
/// /* CodegenDelegator.kt:51 */Builders
  553    817   
pub mod builders;