Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943

Files changed:

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/operation/execute_transaction/_execute_transaction_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 ExecuteTransactionInput {
    6         -
    /// <p>The list of PartiQL statements representing the transaction to run.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct ExecuteTransactionInput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The list of PartiQL statements representing the transaction to run.</p>
    7     10   
    pub transact_statements: ::std::option::Option<::std::vec::Vec<crate::types::ParameterizedStatement>>,
    8         -
    /// <p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>
    9     12   
    pub client_request_token: ::std::option::Option<::std::string::String>,
          13  +
    /* StructureGenerator.kt:201 */
   10     14   
}
          15  +
/* StructureGenerator.kt:135 */
   11     16   
impl ExecuteTransactionInput {
   12         -
    /// <p>The list of PartiQL statements representing the transaction to run.</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_statements.is_none()`.
          17  +
    /// /* StructureGenerator.kt:231 */<p>The list of PartiQL statements representing the transaction to run.</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_statements.is_none()`.
          20  +
    /* StructureGenerator.kt:166 */
   15     21   
    pub fn transact_statements(&self) -> &[crate::types::ParameterizedStatement] {
   16         -
        self.transact_statements.as_deref().unwrap_or_default()
          22  +
        /* StructureGenerator.kt:169 */
          23  +
        self.transact_statements
          24  +
            .as_deref()
          25  +
            /* StructureGenerator.kt:175 */
          26  +
            .unwrap_or_default()
          27  +
        /* StructureGenerator.kt:166 */
   17     28   
    }
   18         -
    /// <p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>
          29  +
    /// /* StructureGenerator.kt:231 */<p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>
          30  +
    /* StructureGenerator.kt:166 */
   19     31   
    pub fn client_request_token(&self) -> ::std::option::Option<&str> {
          32  +
        /* StructureGenerator.kt:169 */
   20     33   
        self.client_request_token.as_deref()
          34  +
        /* StructureGenerator.kt:166 */
   21     35   
    }
          36  +
    /* StructureGenerator.kt:135 */
   22     37   
}
          38  +
/* ClientCodegenVisitor.kt:237 */
   23     39   
impl ExecuteTransactionInput {
   24         -
    /// Creates a new builder-style object to manufacture [`ExecuteTransactionInput`](crate::operation::execute_transaction::ExecuteTransactionInput).
          40  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`ExecuteTransactionInput`](crate::operation::execute_transaction::ExecuteTransactionInput).
          41  +
    /* BuilderGenerator.kt:175 */
   25     42   
    pub fn builder() -> crate::operation::execute_transaction::builders::ExecuteTransactionInputBuilder {
          43  +
        /* BuilderGenerator.kt:176 */
   26     44   
        crate::operation::execute_transaction::builders::ExecuteTransactionInputBuilder::default()
          45  +
        /* BuilderGenerator.kt:175 */
   27     46   
    }
          47  +
    /* ClientCodegenVisitor.kt:237 */
   28     48   
}
   29     49   
   30         -
/// A builder for [`ExecuteTransactionInput`](crate::operation::execute_transaction::ExecuteTransactionInput).
          50  +
/// /* BuilderGenerator.kt:342 */A builder for [`ExecuteTransactionInput`](crate::operation::execute_transaction::ExecuteTransactionInput).
          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 ExecuteTransactionInputBuilder {
   34         -
    pub(crate) transact_statements: ::std::option::Option<::std::vec::Vec<crate::types::ParameterizedStatement>>,
          57  +
    /* BuilderGenerator.kt:275 */ pub(crate) transact_statements: ::std::option::Option<::std::vec::Vec<crate::types::ParameterizedStatement>>,
          58  +
    /* BuilderGenerator.kt:275 */
   35     59   
    pub(crate) client_request_token: ::std::option::Option<::std::string::String>,
          60  +
    /* BuilderGenerator.kt:345 */
   36     61   
}
          62  +
/* BuilderGenerator.kt:355 */
   37     63   
impl ExecuteTransactionInputBuilder {
   38         -
    /// Appends an item to `transact_statements`.
          64  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `transact_statements`.
          65  +
    /* BuilderGenerator.kt:411 */
   39     66   
    ///
   40         -
    /// To override the contents of this collection use [`set_transact_statements`](Self::set_transact_statements).
          67  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_transact_statements`](Self::set_transact_statements).
          68  +
    /* BuilderGenerator.kt:413 */
   41     69   
    ///
   42         -
    /// <p>The list of PartiQL statements representing the transaction to run.</p>
          70  +
    /// /* BuilderGenerator.kt:414 */<p>The list of PartiQL statements representing the transaction to run.</p>
          71  +
    /* BuilderGenerator.kt:418 */
   43     72   
    pub fn transact_statements(mut self, input: crate::types::ParameterizedStatement) -> Self {
          73  +
        /* BuilderGenerator.kt:419 */
   44     74   
        let mut v = self.transact_statements.unwrap_or_default();
   45     75   
        v.push(input);
   46     76   
        self.transact_statements = ::std::option::Option::Some(v);
   47     77   
        self
          78  +
        /* BuilderGenerator.kt:418 */
   48     79   
    }
   49         -
    /// <p>The list of PartiQL statements representing the transaction to run.</p>
          80  +
    /// /* BuilderGenerator.kt:312 */<p>The list of PartiQL statements representing the transaction to run.</p>
          81  +
    /* BuilderGenerator.kt:314 */
   50     82   
    pub fn set_transact_statements(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ParameterizedStatement>>) -> Self {
          83  +
        /* BuilderGenerator.kt:315 */
   51     84   
        self.transact_statements = input;
   52     85   
        self
          86  +
        /* BuilderGenerator.kt:314 */
   53     87   
    }
   54         -
    /// <p>The list of PartiQL statements representing the transaction to run.</p>
          88  +
    /// /* BuilderGenerator.kt:334 */<p>The list of PartiQL statements representing the transaction to run.</p>
          89  +
    /* BuilderGenerator.kt:336 */
   55     90   
    pub fn get_transact_statements(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ParameterizedStatement>> {
          91  +
        /* BuilderGenerator.kt:337 */
   56     92   
        &self.transact_statements
          93  +
        /* BuilderGenerator.kt:336 */
   57     94   
    }
   58         -
    /// <p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>
          95  +
    /// /* BuilderGenerator.kt:286 */<p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>
          96  +
    /* BuilderGenerator.kt:291 */
   59     97   
    pub fn client_request_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          98  +
        /* BuilderGenerator.kt:292 */
   60     99   
        self.client_request_token = ::std::option::Option::Some(input.into());
         100  +
        /* BuilderGenerator.kt:293 */
   61    101   
        self
         102  +
        /* BuilderGenerator.kt:291 */
   62    103   
    }
   63         -
    /// <p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>
         104  +
    /// /* BuilderGenerator.kt:312 */<p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>
         105  +
    /* BuilderGenerator.kt:314 */
   64    106   
    pub fn set_client_request_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         107  +
        /* BuilderGenerator.kt:315 */
   65    108   
        self.client_request_token = input;
   66    109   
        self
         110  +
        /* BuilderGenerator.kt:314 */
   67    111   
    }
   68         -
    /// <p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>
         112  +
    /// /* BuilderGenerator.kt:334 */<p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>
         113  +
    /* BuilderGenerator.kt:336 */
   69    114   
    pub fn get_client_request_token(&self) -> &::std::option::Option<::std::string::String> {
         115  +
        /* BuilderGenerator.kt:337 */
   70    116   
        &self.client_request_token
         117  +
        /* BuilderGenerator.kt:336 */
   71    118   
    }
   72         -
    /// Consumes the builder and constructs a [`ExecuteTransactionInput`](crate::operation::execute_transaction::ExecuteTransactionInput).
         119  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`ExecuteTransactionInput`](crate::operation::execute_transaction::ExecuteTransactionInput).
         120  +
    /* BuilderGenerator.kt:253 */
   73    121   
    pub fn build(
   74    122   
        self,
   75    123   
    ) -> ::std::result::Result<crate::operation::execute_transaction::ExecuteTransactionInput, ::aws_smithy_types::error::operation::BuildError> {
   76         -
        ::std::result::Result::Ok(crate::operation::execute_transaction::ExecuteTransactionInput {
   77         -
            transact_statements: self.transact_statements,
   78         -
            client_request_token: self.client_request_token,
   79         -
        })
         124  +
        /* BuilderGenerator.kt:254 */
         125  +
        ::std::result::Result::Ok(
         126  +
            /* BuilderGenerator.kt:477 */
         127  +
            crate::operation::execute_transaction::ExecuteTransactionInput {
         128  +
                /* BuilderGenerator.kt:481 */ transact_statements: self.transact_statements,
         129  +
                /* BuilderGenerator.kt:481 */
         130  +
                client_request_token: self.client_request_token,
         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/execute_transaction/_execute_transaction_output.rs

@@ -1,1 +55,96 @@
    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 ExecuteTransactionOutput {
    6         -
    /// <p>The response to a PartiQL transaction.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct ExecuteTransactionOutput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The response to a PartiQL transaction.</p>
    7     10   
    pub responses: ::std::option::Option<::std::vec::Vec<crate::types::ItemResponse>>,
          11  +
    /* StructureGenerator.kt:201 */
    8     12   
}
          13  +
/* StructureGenerator.kt:135 */
    9     14   
impl ExecuteTransactionOutput {
   10         -
    /// <p>The response to a PartiQL transaction.</p>
   11         -
    ///
   12         -
    /// 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()`.
          15  +
    /// /* StructureGenerator.kt:231 */<p>The response to a PartiQL transaction.</p>
          16  +
    /// /* StructureGenerator.kt:162 */
          17  +
    /// /* 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()`.
          18  +
    /* StructureGenerator.kt:166 */
   13     19   
    pub fn responses(&self) -> &[crate::types::ItemResponse] {
   14         -
        self.responses.as_deref().unwrap_or_default()
          20  +
        /* StructureGenerator.kt:169 */
          21  +
        self.responses
          22  +
            .as_deref()
          23  +
            /* StructureGenerator.kt:175 */
          24  +
            .unwrap_or_default()
          25  +
        /* StructureGenerator.kt:166 */
   15     26   
    }
          27  +
    /* StructureGenerator.kt:135 */
   16     28   
}
          29  +
/* ClientCodegenVisitor.kt:237 */
   17     30   
impl ExecuteTransactionOutput {
   18         -
    /// Creates a new builder-style object to manufacture [`ExecuteTransactionOutput`](crate::operation::execute_transaction::ExecuteTransactionOutput).
          31  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`ExecuteTransactionOutput`](crate::operation::execute_transaction::ExecuteTransactionOutput).
          32  +
    /* BuilderGenerator.kt:175 */
   19     33   
    pub fn builder() -> crate::operation::execute_transaction::builders::ExecuteTransactionOutputBuilder {
          34  +
        /* BuilderGenerator.kt:176 */
   20     35   
        crate::operation::execute_transaction::builders::ExecuteTransactionOutputBuilder::default()
          36  +
        /* BuilderGenerator.kt:175 */
   21     37   
    }
          38  +
    /* ClientCodegenVisitor.kt:237 */
   22     39   
}
   23     40   
   24         -
/// A builder for [`ExecuteTransactionOutput`](crate::operation::execute_transaction::ExecuteTransactionOutput).
          41  +
/// /* BuilderGenerator.kt:342 */A builder for [`ExecuteTransactionOutput`](crate::operation::execute_transaction::ExecuteTransactionOutput).
          42  +
/* RustType.kt:516 */
   25     43   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          44  +
/* RustType.kt:516 */
   26     45   
#[non_exhaustive]
          46  +
/* BuilderGenerator.kt:345 */
   27     47   
pub struct ExecuteTransactionOutputBuilder {
          48  +
    /* BuilderGenerator.kt:275 */
   28     49   
    pub(crate) responses: ::std::option::Option<::std::vec::Vec<crate::types::ItemResponse>>,
          50  +
    /* BuilderGenerator.kt:345 */
   29     51   
}
          52  +
/* BuilderGenerator.kt:355 */
   30     53   
impl ExecuteTransactionOutputBuilder {
   31         -
    /// Appends an item to `responses`.
          54  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `responses`.
          55  +
    /* BuilderGenerator.kt:411 */
   32     56   
    ///
   33         -
    /// To override the contents of this collection use [`set_responses`](Self::set_responses).
          57  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_responses`](Self::set_responses).
          58  +
    /* BuilderGenerator.kt:413 */
   34     59   
    ///
   35         -
    /// <p>The response to a PartiQL transaction.</p>
          60  +
    /// /* BuilderGenerator.kt:414 */<p>The response to a PartiQL transaction.</p>
          61  +
    /* BuilderGenerator.kt:418 */
   36     62   
    pub fn responses(mut self, input: crate::types::ItemResponse) -> Self {
          63  +
        /* BuilderGenerator.kt:419 */
   37     64   
        let mut v = self.responses.unwrap_or_default();
   38     65   
        v.push(input);
   39     66   
        self.responses = ::std::option::Option::Some(v);
   40     67   
        self
          68  +
        /* BuilderGenerator.kt:418 */
   41     69   
    }
   42         -
    /// <p>The response to a PartiQL transaction.</p>
          70  +
    /// /* BuilderGenerator.kt:312 */<p>The response to a PartiQL transaction.</p>
          71  +
    /* BuilderGenerator.kt:314 */
   43     72   
    pub fn set_responses(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ItemResponse>>) -> Self {
          73  +
        /* BuilderGenerator.kt:315 */
   44     74   
        self.responses = input;
   45     75   
        self
          76  +
        /* BuilderGenerator.kt:314 */
   46     77   
    }
   47         -
    /// <p>The response to a PartiQL transaction.</p>
          78  +
    /// /* BuilderGenerator.kt:334 */<p>The response to a PartiQL transaction.</p>
          79  +
    /* BuilderGenerator.kt:336 */
   48     80   
    pub fn get_responses(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ItemResponse>> {
          81  +
        /* BuilderGenerator.kt:337 */
   49     82   
        &self.responses
          83  +
        /* BuilderGenerator.kt:336 */
   50     84   
    }
   51         -
    /// Consumes the builder and constructs a [`ExecuteTransactionOutput`](crate::operation::execute_transaction::ExecuteTransactionOutput).
          85  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`ExecuteTransactionOutput`](crate::operation::execute_transaction::ExecuteTransactionOutput).
          86  +
    /* BuilderGenerator.kt:253 */
   52     87   
    pub fn build(self) -> crate::operation::execute_transaction::ExecuteTransactionOutput {
   53         -
        crate::operation::execute_transaction::ExecuteTransactionOutput { responses: self.responses }
          88  +
        /* BuilderGenerator.kt:477 */
          89  +
        crate::operation::execute_transaction::ExecuteTransactionOutput {
          90  +
            /* BuilderGenerator.kt:481 */ responses: self.responses,
          91  +
            /* BuilderGenerator.kt:477 */
          92  +
        }
          93  +
        /* BuilderGenerator.kt:253 */
   54     94   
    }
          95  +
    /* BuilderGenerator.kt:355 */
   55     96   
}

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

@@ -1,1 +144,162 @@
    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::execute_transaction::_execute_transaction_output::ExecuteTransactionOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::execute_transaction::_execute_transaction_input::ExecuteTransactionInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::execute_transaction::builders::ExecuteTransactionInputBuilder {
    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::execute_transaction::ExecuteTransactionOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::execute_transaction::ExecuteTransactionError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.execute_transaction();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `ExecuteTransaction`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `ExecuteTransaction`.
   24     27   
///
   25         -
/// <p>This operation allows you to perform transactional reads or writes on data stored in DynamoDB, using PartiQL.</p>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p>This operation allows you to perform transactional reads or writes on data stored in DynamoDB, using PartiQL.</p>
          29  +
/* RustType.kt:516 */
   26     30   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          31  +
/* FluentBuilderGenerator.kt:270 */
   27     32   
pub struct ExecuteTransactionFluentBuilder {
   28     33   
    handle: ::std::sync::Arc<crate::client::Handle>,
   29     34   
    inner: crate::operation::execute_transaction::builders::ExecuteTransactionInputBuilder,
   30     35   
    config_override: ::std::option::Option<crate::config::Builder>,
   31     36   
}
          37  +
/* FluentBuilderGenerator.kt:381 */
   32     38   
impl
   33     39   
    crate::client::customize::internal::CustomizableSend<
   34     40   
        crate::operation::execute_transaction::ExecuteTransactionOutput,
   35     41   
        crate::operation::execute_transaction::ExecuteTransactionError,
   36     42   
    > for ExecuteTransactionFluentBuilder
   37     43   
{
   38     44   
    fn send(
   39     45   
        self,
   40     46   
        config_override: crate::config::Builder,
   41     47   
    ) -> crate::client::customize::internal::BoxFuture<
   42     48   
        crate::client::customize::internal::SendResult<
   43     49   
            crate::operation::execute_transaction::ExecuteTransactionOutput,
   44     50   
            crate::operation::execute_transaction::ExecuteTransactionError,
   45     51   
        >,
   46     52   
    > {
   47     53   
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
   48     54   
    }
   49     55   
}
          56  +
/* FluentBuilderGenerator.kt:282 */
   50     57   
impl ExecuteTransactionFluentBuilder {
          58  +
    /* FluentBuilderGenerator.kt:288 */
   51     59   
    /// Creates a new `ExecuteTransactionFluentBuilder`.
   52     60   
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
   53     61   
        Self {
   54     62   
            handle,
   55     63   
            inner: ::std::default::Default::default(),
   56     64   
            config_override: ::std::option::Option::None,
   57     65   
        }
   58     66   
    }
          67  +
    /* FluentBuilderGenerator.kt:301 */
   59     68   
    /// Access the ExecuteTransaction as a reference.
   60     69   
    pub fn as_input(&self) -> &crate::operation::execute_transaction::builders::ExecuteTransactionInputBuilder {
   61     70   
        &self.inner
   62     71   
    }
          72  +
    /* FluentBuilderGenerator.kt:145 */
   63     73   
    /// Sends the request and returns the response.
   64     74   
    ///
   65     75   
    /// If an error occurs, an `SdkError` will be returned with additional details that
   66     76   
    /// can be matched against.
   67     77   
    ///
   68     78   
    /// By default, any retryable failures will be retried twice. Retry behavior
   69     79   
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
   70     80   
    /// set when configuring the client.
   71     81   
    pub async fn send(
   72     82   
        self,
   73     83   
    ) -> ::std::result::Result<
   74     84   
        crate::operation::execute_transaction::ExecuteTransactionOutput,
   75     85   
        ::aws_smithy_runtime_api::client::result::SdkError<
   76     86   
            crate::operation::execute_transaction::ExecuteTransactionError,
   77     87   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   78     88   
        >,
   79     89   
    > {
   80     90   
        let input = self
   81     91   
            .inner
   82     92   
            .build()
   83     93   
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
   84     94   
        let runtime_plugins = crate::operation::execute_transaction::ExecuteTransaction::operation_runtime_plugins(
   85     95   
            self.handle.runtime_plugins.clone(),
   86     96   
            &self.handle.conf,
   87     97   
            self.config_override,
   88     98   
        );
   89     99   
        crate::operation::execute_transaction::ExecuteTransaction::orchestrate(&runtime_plugins, input).await
   90    100   
    }
   91    101   
   92    102   
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
   93    103   
    pub fn customize(
   94    104   
        self,
   95    105   
    ) -> crate::client::customize::CustomizableOperation<
   96    106   
        crate::operation::execute_transaction::ExecuteTransactionOutput,
   97    107   
        crate::operation::execute_transaction::ExecuteTransactionError,
   98    108   
        Self,
   99    109   
    > {
  100    110   
        crate::client::customize::CustomizableOperation::new(self)
  101    111   
    }
         112  +
    /* FluentBuilderGenerator.kt:315 */
  102    113   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
  103    114   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
  104    115   
        self
  105    116   
    }
  106    117   
  107    118   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  108    119   
        self.config_override = config_override;
  109    120   
        self
  110    121   
    }
  111         -
    ///
         122  +
    /// /* FluentBuilderGenerator.kt:436 */
  112    123   
    /// Appends an item to `TransactStatements`.
  113    124   
    ///
  114    125   
    /// To override the contents of this collection use [`set_transact_statements`](Self::set_transact_statements).
  115    126   
    ///
  116         -
    /// <p>The list of PartiQL statements representing the transaction to run.</p>
         127  +
    /// /* FluentBuilderGenerator.kt:443 */<p>The list of PartiQL statements representing the transaction to run.</p>
         128  +
    /* FluentBuilderGenerator.kt:446 */
  117    129   
    pub fn transact_statements(mut self, input: crate::types::ParameterizedStatement) -> Self {
  118    130   
        self.inner = self.inner.transact_statements(input);
  119    131   
        self
  120    132   
    }
  121         -
    /// <p>The list of PartiQL statements representing the transaction to run.</p>
         133  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The list of PartiQL statements representing the transaction to run.</p>
         134  +
    /* FluentBuilderGenerator.kt:500 */
  122    135   
    pub fn set_transact_statements(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ParameterizedStatement>>) -> Self {
  123    136   
        self.inner = self.inner.set_transact_statements(input);
  124    137   
        self
  125    138   
    }
  126         -
    /// <p>The list of PartiQL statements representing the transaction to run.</p>
         139  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The list of PartiQL statements representing the transaction to run.</p>
         140  +
    /* FluentBuilderGenerator.kt:520 */
  127    141   
    pub fn get_transact_statements(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ParameterizedStatement>> {
  128    142   
        self.inner.get_transact_statements()
  129    143   
    }
  130         -
    /// <p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>
         144  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>
         145  +
    /* FluentBuilderGenerator.kt:500 */
  131    146   
    pub fn client_request_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  132    147   
        self.inner = self.inner.client_request_token(input.into());
  133    148   
        self
  134    149   
    }
  135         -
    /// <p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>
         150  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>
         151  +
    /* FluentBuilderGenerator.kt:500 */
  136    152   
    pub fn set_client_request_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  137    153   
        self.inner = self.inner.set_client_request_token(input);
  138    154   
        self
  139    155   
    }
  140         -
    /// <p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>
         156  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>
         157  +
    /* FluentBuilderGenerator.kt:520 */
  141    158   
    pub fn get_client_request_token(&self) -> &::std::option::Option<::std::string::String> {
  142    159   
        self.inner.get_client_request_token()
  143    160   
    }
         161  +
    /* FluentBuilderGenerator.kt:282 */
  144    162   
}

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

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/operation/export_table_to_point_in_time/_export_table_to_point_in_time_input.rs

@@ -1,1 +272,422 @@
    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 ExportTableToPointInTimeInput {
    6         -
    /// <p>The Amazon Resource Name (ARN) associated with the table to export.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct ExportTableToPointInTimeInput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The Amazon Resource Name (ARN) associated with the table to export.</p>
    7     10   
    pub table_arn: ::std::option::Option<::std::string::String>,
    8         -
    /// <p>Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.</p>
    9     12   
    pub export_time: ::std::option::Option<::aws_smithy_types::DateTime>,
   10         -
    /// <p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
          13  +
    /// /* StructureGenerator.kt:231 */<p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
   11     14   
    /// <p>A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 8 hours, or the result might not be idempotent.</p>
   12     15   
    /// <p>If you submit a request with the same client token but a change in other parameters within the 8-hour idempotency window, DynamoDB returns an <code>IdempotentParameterMismatch</code> exception.</p>
   13     16   
    pub client_token: ::std::option::Option<::std::string::String>,
   14         -
    /// <p>The name of the Amazon S3 bucket to export the snapshot to.</p>
          17  +
    /// /* StructureGenerator.kt:231 */<p>The name of the Amazon S3 bucket to export the snapshot to.</p>
   15     18   
    pub s3_bucket: ::std::option::Option<::std::string::String>,
   16         -
    /// <p>The ID of the AWS account that owns the bucket the export will be stored in.</p>
          19  +
    /// /* StructureGenerator.kt:231 */<p>The ID of the AWS account that owns the bucket the export will be stored in.</p>
   17     20   
    pub s3_bucket_owner: ::std::option::Option<::std::string::String>,
   18         -
    /// <p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p>
          21  +
    /// /* StructureGenerator.kt:231 */<p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p>
   19     22   
    pub s3_prefix: ::std::option::Option<::std::string::String>,
   20         -
    /// <p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
          23  +
    /// /* StructureGenerator.kt:231 */<p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
   21     24   
    /// <ul>
   22     25   
    /// <li>
   23     26   
    /// <p><code>AES256</code> - server-side encryption with Amazon S3 managed keys</p></li>
   24     27   
    /// <li>
   25     28   
    /// <p><code>KMS</code> - server-side encryption with AWS KMS managed keys</p></li>
   26     29   
    /// </ul>
   27     30   
    pub s3_sse_algorithm: ::std::option::Option<crate::types::S3SseAlgorithm>,
   28         -
    /// <p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p>
          31  +
    /// /* StructureGenerator.kt:231 */<p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p>
   29     32   
    pub s3_sse_kms_key_id: ::std::option::Option<::std::string::String>,
   30         -
    /// <p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
          33  +
    /// /* StructureGenerator.kt:231 */<p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
   31     34   
    pub export_format: ::std::option::Option<crate::types::ExportFormat>,
          35  +
    /* StructureGenerator.kt:201 */
   32     36   
}
          37  +
/* StructureGenerator.kt:135 */
   33     38   
impl ExportTableToPointInTimeInput {
   34         -
    /// <p>The Amazon Resource Name (ARN) associated with the table to export.</p>
          39  +
    /// /* StructureGenerator.kt:231 */<p>The Amazon Resource Name (ARN) associated with the table to export.</p>
          40  +
    /* StructureGenerator.kt:166 */
   35     41   
    pub fn table_arn(&self) -> ::std::option::Option<&str> {
          42  +
        /* StructureGenerator.kt:169 */
   36     43   
        self.table_arn.as_deref()
          44  +
        /* StructureGenerator.kt:166 */
   37     45   
    }
   38         -
    /// <p>Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.</p>
          46  +
    /// /* StructureGenerator.kt:231 */<p>Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.</p>
          47  +
    /* StructureGenerator.kt:166 */
   39     48   
    pub fn export_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          49  +
        /* StructureGenerator.kt:170 */
   40     50   
        self.export_time.as_ref()
          51  +
        /* StructureGenerator.kt:166 */
   41     52   
    }
   42         -
    /// <p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
          53  +
    /// /* StructureGenerator.kt:231 */<p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
   43     54   
    /// <p>A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 8 hours, or the result might not be idempotent.</p>
   44     55   
    /// <p>If you submit a request with the same client token but a change in other parameters within the 8-hour idempotency window, DynamoDB returns an <code>IdempotentParameterMismatch</code> exception.</p>
          56  +
    /* StructureGenerator.kt:166 */
   45     57   
    pub fn client_token(&self) -> ::std::option::Option<&str> {
          58  +
        /* StructureGenerator.kt:169 */
   46     59   
        self.client_token.as_deref()
          60  +
        /* StructureGenerator.kt:166 */
   47     61   
    }
   48         -
    /// <p>The name of the Amazon S3 bucket to export the snapshot to.</p>
          62  +
    /// /* StructureGenerator.kt:231 */<p>The name of the Amazon S3 bucket to export the snapshot to.</p>
          63  +
    /* StructureGenerator.kt:166 */
   49     64   
    pub fn s3_bucket(&self) -> ::std::option::Option<&str> {
          65  +
        /* StructureGenerator.kt:169 */
   50     66   
        self.s3_bucket.as_deref()
          67  +
        /* StructureGenerator.kt:166 */
   51     68   
    }
   52         -
    /// <p>The ID of the AWS account that owns the bucket the export will be stored in.</p>
          69  +
    /// /* StructureGenerator.kt:231 */<p>The ID of the AWS account that owns the bucket the export will be stored in.</p>
          70  +
    /* StructureGenerator.kt:166 */
   53     71   
    pub fn s3_bucket_owner(&self) -> ::std::option::Option<&str> {
          72  +
        /* StructureGenerator.kt:169 */
   54     73   
        self.s3_bucket_owner.as_deref()
          74  +
        /* StructureGenerator.kt:166 */
   55     75   
    }
   56         -
    /// <p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p>
          76  +
    /// /* StructureGenerator.kt:231 */<p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p>
          77  +
    /* StructureGenerator.kt:166 */
   57     78   
    pub fn s3_prefix(&self) -> ::std::option::Option<&str> {
          79  +
        /* StructureGenerator.kt:169 */
   58     80   
        self.s3_prefix.as_deref()
          81  +
        /* StructureGenerator.kt:166 */
   59     82   
    }
   60         -
    /// <p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
          83  +
    /// /* StructureGenerator.kt:231 */<p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
   61     84   
    /// <ul>
   62     85   
    /// <li>
   63     86   
    /// <p><code>AES256</code> - server-side encryption with Amazon S3 managed keys</p></li>
   64     87   
    /// <li>
   65     88   
    /// <p><code>KMS</code> - server-side encryption with AWS KMS managed keys</p></li>
   66     89   
    /// </ul>
          90  +
    /* StructureGenerator.kt:166 */
   67     91   
    pub fn s3_sse_algorithm(&self) -> ::std::option::Option<&crate::types::S3SseAlgorithm> {
          92  +
        /* StructureGenerator.kt:170 */
   68     93   
        self.s3_sse_algorithm.as_ref()
          94  +
        /* StructureGenerator.kt:166 */
   69     95   
    }
   70         -
    /// <p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p>
          96  +
    /// /* StructureGenerator.kt:231 */<p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p>
          97  +
    /* StructureGenerator.kt:166 */
   71     98   
    pub fn s3_sse_kms_key_id(&self) -> ::std::option::Option<&str> {
          99  +
        /* StructureGenerator.kt:169 */
   72    100   
        self.s3_sse_kms_key_id.as_deref()
         101  +
        /* StructureGenerator.kt:166 */
   73    102   
    }
   74         -
    /// <p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         103  +
    /// /* StructureGenerator.kt:231 */<p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         104  +
    /* StructureGenerator.kt:166 */
   75    105   
    pub fn export_format(&self) -> ::std::option::Option<&crate::types::ExportFormat> {
         106  +
        /* StructureGenerator.kt:170 */
   76    107   
        self.export_format.as_ref()
         108  +
        /* StructureGenerator.kt:166 */
   77    109   
    }
         110  +
    /* StructureGenerator.kt:135 */
   78    111   
}
         112  +
/* ClientCodegenVisitor.kt:237 */
   79    113   
impl ExportTableToPointInTimeInput {
   80         -
    /// Creates a new builder-style object to manufacture [`ExportTableToPointInTimeInput`](crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeInput).
         114  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`ExportTableToPointInTimeInput`](crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeInput).
         115  +
    /* BuilderGenerator.kt:175 */
   81    116   
    pub fn builder() -> crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeInputBuilder {
         117  +
        /* BuilderGenerator.kt:176 */
   82    118   
        crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeInputBuilder::default()
         119  +
        /* BuilderGenerator.kt:175 */
   83    120   
    }
         121  +
    /* ClientCodegenVisitor.kt:237 */
   84    122   
}
   85    123   
   86         -
/// A builder for [`ExportTableToPointInTimeInput`](crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeInput).
         124  +
/// /* BuilderGenerator.kt:342 */A builder for [`ExportTableToPointInTimeInput`](crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeInput).
         125  +
/* RustType.kt:516 */
   87    126   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         127  +
/* RustType.kt:516 */
   88    128   
#[non_exhaustive]
         129  +
/* BuilderGenerator.kt:345 */
   89    130   
pub struct ExportTableToPointInTimeInputBuilder {
   90         -
    pub(crate) table_arn: ::std::option::Option<::std::string::String>,
   91         -
    pub(crate) export_time: ::std::option::Option<::aws_smithy_types::DateTime>,
   92         -
    pub(crate) client_token: ::std::option::Option<::std::string::String>,
   93         -
    pub(crate) s3_bucket: ::std::option::Option<::std::string::String>,
   94         -
    pub(crate) s3_bucket_owner: ::std::option::Option<::std::string::String>,
   95         -
    pub(crate) s3_prefix: ::std::option::Option<::std::string::String>,
   96         -
    pub(crate) s3_sse_algorithm: ::std::option::Option<crate::types::S3SseAlgorithm>,
   97         -
    pub(crate) s3_sse_kms_key_id: ::std::option::Option<::std::string::String>,
         131  +
    /* BuilderGenerator.kt:275 */ pub(crate) table_arn: ::std::option::Option<::std::string::String>,
         132  +
    /* BuilderGenerator.kt:275 */ pub(crate) export_time: ::std::option::Option<::aws_smithy_types::DateTime>,
         133  +
    /* BuilderGenerator.kt:275 */ pub(crate) client_token: ::std::option::Option<::std::string::String>,
         134  +
    /* BuilderGenerator.kt:275 */ pub(crate) s3_bucket: ::std::option::Option<::std::string::String>,
         135  +
    /* BuilderGenerator.kt:275 */ pub(crate) s3_bucket_owner: ::std::option::Option<::std::string::String>,
         136  +
    /* BuilderGenerator.kt:275 */ pub(crate) s3_prefix: ::std::option::Option<::std::string::String>,
         137  +
    /* BuilderGenerator.kt:275 */ pub(crate) s3_sse_algorithm: ::std::option::Option<crate::types::S3SseAlgorithm>,
         138  +
    /* BuilderGenerator.kt:275 */ pub(crate) s3_sse_kms_key_id: ::std::option::Option<::std::string::String>,
         139  +
    /* BuilderGenerator.kt:275 */
   98    140   
    pub(crate) export_format: ::std::option::Option<crate::types::ExportFormat>,
         141  +
    /* BuilderGenerator.kt:345 */
   99    142   
}
         143  +
/* BuilderGenerator.kt:355 */
  100    144   
impl ExportTableToPointInTimeInputBuilder {
  101         -
    /// <p>The Amazon Resource Name (ARN) associated with the table to export.</p>
  102         -
    /// This field is required.
         145  +
    /// /* BuilderGenerator.kt:286 */<p>The Amazon Resource Name (ARN) associated with the table to export.</p>
         146  +
    /// /* BuilderGenerator.kt:288 */This field is required.
         147  +
    /* BuilderGenerator.kt:291 */
  103    148   
    pub fn table_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         149  +
        /* BuilderGenerator.kt:292 */
  104    150   
        self.table_arn = ::std::option::Option::Some(input.into());
         151  +
        /* BuilderGenerator.kt:293 */
  105    152   
        self
         153  +
        /* BuilderGenerator.kt:291 */
  106    154   
    }
  107         -
    /// <p>The Amazon Resource Name (ARN) associated with the table to export.</p>
         155  +
    /// /* BuilderGenerator.kt:312 */<p>The Amazon Resource Name (ARN) associated with the table to export.</p>
         156  +
    /* BuilderGenerator.kt:314 */
  108    157   
    pub fn set_table_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         158  +
        /* BuilderGenerator.kt:315 */
  109    159   
        self.table_arn = input;
  110    160   
        self
         161  +
        /* BuilderGenerator.kt:314 */
  111    162   
    }
  112         -
    /// <p>The Amazon Resource Name (ARN) associated with the table to export.</p>
         163  +
    /// /* BuilderGenerator.kt:334 */<p>The Amazon Resource Name (ARN) associated with the table to export.</p>
         164  +
    /* BuilderGenerator.kt:336 */
  113    165   
    pub fn get_table_arn(&self) -> &::std::option::Option<::std::string::String> {
         166  +
        /* BuilderGenerator.kt:337 */
  114    167   
        &self.table_arn
         168  +
        /* BuilderGenerator.kt:336 */
  115    169   
    }
  116         -
    /// <p>Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.</p>
         170  +
    /// /* BuilderGenerator.kt:286 */<p>Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.</p>
         171  +
    /* BuilderGenerator.kt:291 */
  117    172   
    pub fn export_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         173  +
        /* BuilderGenerator.kt:292 */
  118    174   
        self.export_time = ::std::option::Option::Some(input);
         175  +
        /* BuilderGenerator.kt:293 */
  119    176   
        self
         177  +
        /* BuilderGenerator.kt:291 */
  120    178   
    }
  121         -
    /// <p>Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.</p>
         179  +
    /// /* BuilderGenerator.kt:312 */<p>Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.</p>
         180  +
    /* BuilderGenerator.kt:314 */
  122    181   
    pub fn set_export_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         182  +
        /* BuilderGenerator.kt:315 */
  123    183   
        self.export_time = input;
  124    184   
        self
         185  +
        /* BuilderGenerator.kt:314 */
  125    186   
    }
  126         -
    /// <p>Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.</p>
         187  +
    /// /* BuilderGenerator.kt:334 */<p>Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.</p>
         188  +
    /* BuilderGenerator.kt:336 */
  127    189   
    pub fn get_export_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         190  +
        /* BuilderGenerator.kt:337 */
  128    191   
        &self.export_time
         192  +
        /* BuilderGenerator.kt:336 */
  129    193   
    }
  130         -
    /// <p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         194  +
    /// /* BuilderGenerator.kt:286 */<p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
  131    195   
    /// <p>A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 8 hours, or the result might not be idempotent.</p>
  132    196   
    /// <p>If you submit a request with the same client token but a change in other parameters within the 8-hour idempotency window, DynamoDB returns an <code>IdempotentParameterMismatch</code> exception.</p>
         197  +
    /* BuilderGenerator.kt:291 */
  133    198   
    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         199  +
        /* BuilderGenerator.kt:292 */
  134    200   
        self.client_token = ::std::option::Option::Some(input.into());
         201  +
        /* BuilderGenerator.kt:293 */
  135    202   
        self
         203  +
        /* BuilderGenerator.kt:291 */
  136    204   
    }
  137         -
    /// <p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         205  +
    /// /* BuilderGenerator.kt:312 */<p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
  138    206   
    /// <p>A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 8 hours, or the result might not be idempotent.</p>
  139    207   
    /// <p>If you submit a request with the same client token but a change in other parameters within the 8-hour idempotency window, DynamoDB returns an <code>IdempotentParameterMismatch</code> exception.</p>
         208  +
    /* BuilderGenerator.kt:314 */
  140    209   
    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         210  +
        /* BuilderGenerator.kt:315 */
  141    211   
        self.client_token = input;
  142    212   
        self
         213  +
        /* BuilderGenerator.kt:314 */
  143    214   
    }
  144         -
    /// <p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         215  +
    /// /* BuilderGenerator.kt:334 */<p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
  145    216   
    /// <p>A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 8 hours, or the result might not be idempotent.</p>
  146    217   
    /// <p>If you submit a request with the same client token but a change in other parameters within the 8-hour idempotency window, DynamoDB returns an <code>IdempotentParameterMismatch</code> exception.</p>
         218  +
    /* BuilderGenerator.kt:336 */
  147    219   
    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
         220  +
        /* BuilderGenerator.kt:337 */
  148    221   
        &self.client_token
         222  +
        /* BuilderGenerator.kt:336 */
  149    223   
    }
  150         -
    /// <p>The name of the Amazon S3 bucket to export the snapshot to.</p>
  151         -
    /// This field is required.
         224  +
    /// /* BuilderGenerator.kt:286 */<p>The name of the Amazon S3 bucket to export the snapshot to.</p>
         225  +
    /// /* BuilderGenerator.kt:288 */This field is required.
         226  +
    /* BuilderGenerator.kt:291 */
  152    227   
    pub fn s3_bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         228  +
        /* BuilderGenerator.kt:292 */
  153    229   
        self.s3_bucket = ::std::option::Option::Some(input.into());
         230  +
        /* BuilderGenerator.kt:293 */
  154    231   
        self
         232  +
        /* BuilderGenerator.kt:291 */
  155    233   
    }
  156         -
    /// <p>The name of the Amazon S3 bucket to export the snapshot to.</p>
         234  +
    /// /* BuilderGenerator.kt:312 */<p>The name of the Amazon S3 bucket to export the snapshot to.</p>
         235  +
    /* BuilderGenerator.kt:314 */
  157    236   
    pub fn set_s3_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         237  +
        /* BuilderGenerator.kt:315 */
  158    238   
        self.s3_bucket = input;
  159    239   
        self
         240  +
        /* BuilderGenerator.kt:314 */
  160    241   
    }
  161         -
    /// <p>The name of the Amazon S3 bucket to export the snapshot to.</p>
         242  +
    /// /* BuilderGenerator.kt:334 */<p>The name of the Amazon S3 bucket to export the snapshot to.</p>
         243  +
    /* BuilderGenerator.kt:336 */
  162    244   
    pub fn get_s3_bucket(&self) -> &::std::option::Option<::std::string::String> {
         245  +
        /* BuilderGenerator.kt:337 */
  163    246   
        &self.s3_bucket
         247  +
        /* BuilderGenerator.kt:336 */
  164    248   
    }
  165         -
    /// <p>The ID of the AWS account that owns the bucket the export will be stored in.</p>
         249  +
    /// /* BuilderGenerator.kt:286 */<p>The ID of the AWS account that owns the bucket the export will be stored in.</p>
         250  +
    /* BuilderGenerator.kt:291 */
  166    251   
    pub fn s3_bucket_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         252  +
        /* BuilderGenerator.kt:292 */
  167    253   
        self.s3_bucket_owner = ::std::option::Option::Some(input.into());
         254  +
        /* BuilderGenerator.kt:293 */
  168    255   
        self
         256  +
        /* BuilderGenerator.kt:291 */
  169    257   
    }
  170         -
    /// <p>The ID of the AWS account that owns the bucket the export will be stored in.</p>
         258  +
    /// /* BuilderGenerator.kt:312 */<p>The ID of the AWS account that owns the bucket the export will be stored in.</p>
         259  +
    /* BuilderGenerator.kt:314 */
  171    260   
    pub fn set_s3_bucket_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         261  +
        /* BuilderGenerator.kt:315 */
  172    262   
        self.s3_bucket_owner = input;
  173    263   
        self
         264  +
        /* BuilderGenerator.kt:314 */
  174    265   
    }
  175         -
    /// <p>The ID of the AWS account that owns the bucket the export will be stored in.</p>
         266  +
    /// /* BuilderGenerator.kt:334 */<p>The ID of the AWS account that owns the bucket the export will be stored in.</p>
         267  +
    /* BuilderGenerator.kt:336 */
  176    268   
    pub fn get_s3_bucket_owner(&self) -> &::std::option::Option<::std::string::String> {
         269  +
        /* BuilderGenerator.kt:337 */
  177    270   
        &self.s3_bucket_owner
         271  +
        /* BuilderGenerator.kt:336 */
  178    272   
    }
  179         -
    /// <p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p>
         273  +
    /// /* BuilderGenerator.kt:286 */<p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p>
         274  +
    /* BuilderGenerator.kt:291 */
  180    275   
    pub fn s3_prefix(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         276  +
        /* BuilderGenerator.kt:292 */
  181    277   
        self.s3_prefix = ::std::option::Option::Some(input.into());
         278  +
        /* BuilderGenerator.kt:293 */
  182    279   
        self
         280  +
        /* BuilderGenerator.kt:291 */
  183    281   
    }
  184         -
    /// <p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p>
         282  +
    /// /* BuilderGenerator.kt:312 */<p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p>
         283  +
    /* BuilderGenerator.kt:314 */
  185    284   
    pub fn set_s3_prefix(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         285  +
        /* BuilderGenerator.kt:315 */
  186    286   
        self.s3_prefix = input;
  187    287   
        self
         288  +
        /* BuilderGenerator.kt:314 */
  188    289   
    }
  189         -
    /// <p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p>
         290  +
    /// /* BuilderGenerator.kt:334 */<p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p>
         291  +
    /* BuilderGenerator.kt:336 */
  190    292   
    pub fn get_s3_prefix(&self) -> &::std::option::Option<::std::string::String> {
         293  +
        /* BuilderGenerator.kt:337 */
  191    294   
        &self.s3_prefix
         295  +
        /* BuilderGenerator.kt:336 */
  192    296   
    }
  193         -
    /// <p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
         297  +
    /// /* BuilderGenerator.kt:286 */<p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
  194    298   
    /// <ul>
  195    299   
    /// <li>
  196    300   
    /// <p><code>AES256</code> - server-side encryption with Amazon S3 managed keys</p></li>
  197    301   
    /// <li>
  198    302   
    /// <p><code>KMS</code> - server-side encryption with AWS KMS managed keys</p></li>
  199    303   
    /// </ul>
         304  +
    /* BuilderGenerator.kt:291 */
  200    305   
    pub fn s3_sse_algorithm(mut self, input: crate::types::S3SseAlgorithm) -> Self {
         306  +
        /* BuilderGenerator.kt:292 */
  201    307   
        self.s3_sse_algorithm = ::std::option::Option::Some(input);
         308  +
        /* BuilderGenerator.kt:293 */
  202    309   
        self
         310  +
        /* BuilderGenerator.kt:291 */
  203    311   
    }
  204         -
    /// <p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
         312  +
    /// /* BuilderGenerator.kt:312 */<p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
  205    313   
    /// <ul>
  206    314   
    /// <li>
  207    315   
    /// <p><code>AES256</code> - server-side encryption with Amazon S3 managed keys</p></li>
  208    316   
    /// <li>
  209    317   
    /// <p><code>KMS</code> - server-side encryption with AWS KMS managed keys</p></li>
  210    318   
    /// </ul>
         319  +
    /* BuilderGenerator.kt:314 */
  211    320   
    pub fn set_s3_sse_algorithm(mut self, input: ::std::option::Option<crate::types::S3SseAlgorithm>) -> Self {
         321  +
        /* BuilderGenerator.kt:315 */
  212    322   
        self.s3_sse_algorithm = input;
  213    323   
        self
         324  +
        /* BuilderGenerator.kt:314 */
  214    325   
    }
  215         -
    /// <p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
         326  +
    /// /* BuilderGenerator.kt:334 */<p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
  216    327   
    /// <ul>
  217    328   
    /// <li>
  218    329   
    /// <p><code>AES256</code> - server-side encryption with Amazon S3 managed keys</p></li>
  219    330   
    /// <li>
  220    331   
    /// <p><code>KMS</code> - server-side encryption with AWS KMS managed keys</p></li>
  221    332   
    /// </ul>
         333  +
    /* BuilderGenerator.kt:336 */
  222    334   
    pub fn get_s3_sse_algorithm(&self) -> &::std::option::Option<crate::types::S3SseAlgorithm> {
         335  +
        /* BuilderGenerator.kt:337 */
  223    336   
        &self.s3_sse_algorithm
         337  +
        /* BuilderGenerator.kt:336 */
  224    338   
    }
  225         -
    /// <p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p>
         339  +
    /// /* BuilderGenerator.kt:286 */<p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p>
         340  +
    /* BuilderGenerator.kt:291 */
  226    341   
    pub fn s3_sse_kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         342  +
        /* BuilderGenerator.kt:292 */
  227    343   
        self.s3_sse_kms_key_id = ::std::option::Option::Some(input.into());
         344  +
        /* BuilderGenerator.kt:293 */
  228    345   
        self
         346  +
        /* BuilderGenerator.kt:291 */
  229    347   
    }
  230         -
    /// <p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p>
         348  +
    /// /* BuilderGenerator.kt:312 */<p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p>
         349  +
    /* BuilderGenerator.kt:314 */
  231    350   
    pub fn set_s3_sse_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         351  +
        /* BuilderGenerator.kt:315 */
  232    352   
        self.s3_sse_kms_key_id = input;
  233    353   
        self
         354  +
        /* BuilderGenerator.kt:314 */
  234    355   
    }
  235         -
    /// <p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p>
         356  +
    /// /* BuilderGenerator.kt:334 */<p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p>
         357  +
    /* BuilderGenerator.kt:336 */
  236    358   
    pub fn get_s3_sse_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
         359  +
        /* BuilderGenerator.kt:337 */
  237    360   
        &self.s3_sse_kms_key_id
         361  +
        /* BuilderGenerator.kt:336 */
  238    362   
    }
  239         -
    /// <p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         363  +
    /// /* BuilderGenerator.kt:286 */<p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         364  +
    /* BuilderGenerator.kt:291 */
  240    365   
    pub fn export_format(mut self, input: crate::types::ExportFormat) -> Self {
         366  +
        /* BuilderGenerator.kt:292 */
  241    367   
        self.export_format = ::std::option::Option::Some(input);
         368  +
        /* BuilderGenerator.kt:293 */
  242    369   
        self
         370  +
        /* BuilderGenerator.kt:291 */
  243    371   
    }
  244         -
    /// <p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         372  +
    /// /* BuilderGenerator.kt:312 */<p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         373  +
    /* BuilderGenerator.kt:314 */
  245    374   
    pub fn set_export_format(mut self, input: ::std::option::Option<crate::types::ExportFormat>) -> Self {
         375  +
        /* BuilderGenerator.kt:315 */
  246    376   
        self.export_format = input;
  247    377   
        self
         378  +
        /* BuilderGenerator.kt:314 */
  248    379   
    }
  249         -
    /// <p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         380  +
    /// /* BuilderGenerator.kt:334 */<p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         381  +
    /* BuilderGenerator.kt:336 */
  250    382   
    pub fn get_export_format(&self) -> &::std::option::Option<crate::types::ExportFormat> {
         383  +
        /* BuilderGenerator.kt:337 */
  251    384   
        &self.export_format
         385  +
        /* BuilderGenerator.kt:336 */
  252    386   
    }
  253         -
    /// Consumes the builder and constructs a [`ExportTableToPointInTimeInput`](crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeInput).
         387  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`ExportTableToPointInTimeInput`](crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeInput).
         388  +
    /* BuilderGenerator.kt:253 */
  254    389   
    pub fn build(
  255    390   
        self,
  256    391   
    ) -> ::std::result::Result<
  257    392   
        crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeInput,
  258    393   
        ::aws_smithy_types::error::operation::BuildError,
  259    394   
    > {
  260         -
        ::std::result::Result::Ok(crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeInput {
  261         -
            table_arn: self.table_arn,
  262         -
            export_time: self.export_time,
  263         -
            client_token: self.client_token,
  264         -
            s3_bucket: self.s3_bucket,
  265         -
            s3_bucket_owner: self.s3_bucket_owner,
  266         -
            s3_prefix: self.s3_prefix,
  267         -
            s3_sse_algorithm: self.s3_sse_algorithm,
  268         -
            s3_sse_kms_key_id: self.s3_sse_kms_key_id,
  269         -
            export_format: self.export_format,
  270         -
        })
  271         -
    }
         395  +
        /* BuilderGenerator.kt:254 */
         396  +
        ::std::result::Result::Ok(
         397  +
            /* BuilderGenerator.kt:477 */
         398  +
            crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeInput {
         399  +
                /* BuilderGenerator.kt:481 */ table_arn: self.table_arn,
         400  +
                /* BuilderGenerator.kt:481 */
         401  +
                export_time: self.export_time,
         402  +
                /* BuilderGenerator.kt:481 */
         403  +
                client_token: self.client_token,
         404  +
                /* BuilderGenerator.kt:481 */
         405  +
                s3_bucket: self.s3_bucket,
         406  +
                /* BuilderGenerator.kt:481 */
         407  +
                s3_bucket_owner: self.s3_bucket_owner,
         408  +
                /* BuilderGenerator.kt:481 */
         409  +
                s3_prefix: self.s3_prefix,
         410  +
                /* BuilderGenerator.kt:481 */
         411  +
                s3_sse_algorithm: self.s3_sse_algorithm,
         412  +
                /* BuilderGenerator.kt:481 */
         413  +
                s3_sse_kms_key_id: self.s3_sse_kms_key_id,
         414  +
                /* BuilderGenerator.kt:481 */
         415  +
                export_format: self.export_format,
         416  +
                /* BuilderGenerator.kt:477 */
         417  +
            }, /* BuilderGenerator.kt:254 */
         418  +
        )
         419  +
        /* BuilderGenerator.kt:253 */
         420  +
    }
         421  +
    /* BuilderGenerator.kt:355 */
  272    422   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/operation/export_table_to_point_in_time/_export_table_to_point_in_time_output.rs

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

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

@@ -1,1 +261,300 @@
    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::export_table_to_point_in_time::_export_table_to_point_in_time_output::ExportTableToPointInTimeOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::export_table_to_point_in_time::_export_table_to_point_in_time_input::ExportTableToPointInTimeInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeInputBuilder {
    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::export_table_to_point_in_time::ExportTableToPointInTimeOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.export_table_to_point_in_time();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `ExportTableToPointInTime`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `ExportTableToPointInTime`.
   24     27   
///
   25         -
/// <p>Exports table data to an S3 bucket. The table must have point in time recovery enabled, and you can export data from any time within the point in time recovery window.</p>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p>Exports table data to an S3 bucket. The table must have point in time recovery enabled, and you can export data from any time within the point in time recovery window.</p>
          29  +
/* RustType.kt:516 */
   26     30   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          31  +
/* FluentBuilderGenerator.kt:270 */
   27     32   
pub struct ExportTableToPointInTimeFluentBuilder {
   28     33   
    handle: ::std::sync::Arc<crate::client::Handle>,
   29     34   
    inner: crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeInputBuilder,
   30     35   
    config_override: ::std::option::Option<crate::config::Builder>,
   31     36   
}
          37  +
/* FluentBuilderGenerator.kt:381 */
   32     38   
impl
   33     39   
    crate::client::customize::internal::CustomizableSend<
   34     40   
        crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeOutput,
   35     41   
        crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeError,
   36     42   
    > for ExportTableToPointInTimeFluentBuilder
   37     43   
{
   38     44   
    fn send(
   39     45   
        self,
   40     46   
        config_override: crate::config::Builder,
   41     47   
    ) -> crate::client::customize::internal::BoxFuture<
   42     48   
        crate::client::customize::internal::SendResult<
   43     49   
            crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeOutput,
   44     50   
            crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeError,
   45     51   
        >,
   46     52   
    > {
   47     53   
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
   48     54   
    }
   49     55   
}
          56  +
/* FluentBuilderGenerator.kt:282 */
   50     57   
impl ExportTableToPointInTimeFluentBuilder {
          58  +
    /* FluentBuilderGenerator.kt:288 */
   51     59   
    /// Creates a new `ExportTableToPointInTimeFluentBuilder`.
   52     60   
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
   53     61   
        Self {
   54     62   
            handle,
   55     63   
            inner: ::std::default::Default::default(),
   56     64   
            config_override: ::std::option::Option::None,
   57     65   
        }
   58     66   
    }
          67  +
    /* FluentBuilderGenerator.kt:301 */
   59     68   
    /// Access the ExportTableToPointInTime as a reference.
   60     69   
    pub fn as_input(&self) -> &crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeInputBuilder {
   61     70   
        &self.inner
   62     71   
    }
          72  +
    /* FluentBuilderGenerator.kt:145 */
   63     73   
    /// Sends the request and returns the response.
   64     74   
    ///
   65     75   
    /// If an error occurs, an `SdkError` will be returned with additional details that
   66     76   
    /// can be matched against.
   67     77   
    ///
   68     78   
    /// By default, any retryable failures will be retried twice. Retry behavior
   69     79   
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
   70     80   
    /// set when configuring the client.
   71     81   
    pub async fn send(
   72     82   
        self,
   73     83   
    ) -> ::std::result::Result<
   74     84   
        crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeOutput,
   75     85   
        ::aws_smithy_runtime_api::client::result::SdkError<
   76     86   
            crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeError,
   77     87   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   78     88   
        >,
   79     89   
    > {
   80     90   
        let input = self
   81     91   
            .inner
   82     92   
            .build()
   83     93   
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
   84     94   
        let runtime_plugins = crate::operation::export_table_to_point_in_time::ExportTableToPointInTime::operation_runtime_plugins(
   85     95   
            self.handle.runtime_plugins.clone(),
   86     96   
            &self.handle.conf,
   87     97   
            self.config_override,
   88     98   
        );
   89     99   
        crate::operation::export_table_to_point_in_time::ExportTableToPointInTime::orchestrate(&runtime_plugins, input).await
   90    100   
    }
   91    101   
   92    102   
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
   93    103   
    pub fn customize(
   94    104   
        self,
   95    105   
    ) -> crate::client::customize::CustomizableOperation<
   96    106   
        crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeOutput,
   97    107   
        crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeError,
   98    108   
        Self,
   99    109   
    > {
  100    110   
        crate::client::customize::CustomizableOperation::new(self)
  101    111   
    }
         112  +
    /* FluentBuilderGenerator.kt:315 */
  102    113   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
  103    114   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
  104    115   
        self
  105    116   
    }
  106    117   
  107    118   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  108    119   
        self.config_override = config_override;
  109    120   
        self
  110    121   
    }
  111         -
    /// <p>The Amazon Resource Name (ARN) associated with the table to export.</p>
         122  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The Amazon Resource Name (ARN) associated with the table to export.</p>
         123  +
    /* FluentBuilderGenerator.kt:500 */
  112    124   
    pub fn table_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  113    125   
        self.inner = self.inner.table_arn(input.into());
  114    126   
        self
  115    127   
    }
  116         -
    /// <p>The Amazon Resource Name (ARN) associated with the table to export.</p>
         128  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The Amazon Resource Name (ARN) associated with the table to export.</p>
         129  +
    /* FluentBuilderGenerator.kt:500 */
  117    130   
    pub fn set_table_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  118    131   
        self.inner = self.inner.set_table_arn(input);
  119    132   
        self
  120    133   
    }
  121         -
    /// <p>The Amazon Resource Name (ARN) associated with the table to export.</p>
         134  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The Amazon Resource Name (ARN) associated with the table to export.</p>
         135  +
    /* FluentBuilderGenerator.kt:520 */
  122    136   
    pub fn get_table_arn(&self) -> &::std::option::Option<::std::string::String> {
  123    137   
        self.inner.get_table_arn()
  124    138   
    }
  125         -
    /// <p>Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.</p>
         139  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.</p>
         140  +
    /* FluentBuilderGenerator.kt:500 */
  126    141   
    pub fn export_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
  127    142   
        self.inner = self.inner.export_time(input);
  128    143   
        self
  129    144   
    }
  130         -
    /// <p>Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.</p>
         145  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.</p>
         146  +
    /* FluentBuilderGenerator.kt:500 */
  131    147   
    pub fn set_export_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
  132    148   
        self.inner = self.inner.set_export_time(input);
  133    149   
        self
  134    150   
    }
  135         -
    /// <p>Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.</p>
         151  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.</p>
         152  +
    /* FluentBuilderGenerator.kt:520 */
  136    153   
    pub fn get_export_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
  137    154   
        self.inner.get_export_time()
  138    155   
    }
  139         -
    /// <p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         156  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
  140    157   
    /// <p>A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 8 hours, or the result might not be idempotent.</p>
  141    158   
    /// <p>If you submit a request with the same client token but a change in other parameters within the 8-hour idempotency window, DynamoDB returns an <code>IdempotentParameterMismatch</code> exception.</p>
         159  +
    /* FluentBuilderGenerator.kt:500 */
  142    160   
    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  143    161   
        self.inner = self.inner.client_token(input.into());
  144    162   
        self
  145    163   
    }
  146         -
    /// <p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         164  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
  147    165   
    /// <p>A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 8 hours, or the result might not be idempotent.</p>
  148    166   
    /// <p>If you submit a request with the same client token but a change in other parameters within the 8-hour idempotency window, DynamoDB returns an <code>IdempotentParameterMismatch</code> exception.</p>
         167  +
    /* FluentBuilderGenerator.kt:500 */
  149    168   
    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  150    169   
        self.inner = self.inner.set_client_token(input);
  151    170   
        self
  152    171   
    }
  153         -
    /// <p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         172  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
  154    173   
    /// <p>A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 8 hours, or the result might not be idempotent.</p>
  155    174   
    /// <p>If you submit a request with the same client token but a change in other parameters within the 8-hour idempotency window, DynamoDB returns an <code>IdempotentParameterMismatch</code> exception.</p>
         175  +
    /* FluentBuilderGenerator.kt:520 */
  156    176   
    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
  157    177   
        self.inner.get_client_token()
  158    178   
    }
  159         -
    /// <p>The name of the Amazon S3 bucket to export the snapshot to.</p>
         179  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the Amazon S3 bucket to export the snapshot to.</p>
         180  +
    /* FluentBuilderGenerator.kt:500 */
  160    181   
    pub fn s3_bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  161    182   
        self.inner = self.inner.s3_bucket(input.into());
  162    183   
        self
  163    184   
    }
  164         -
    /// <p>The name of the Amazon S3 bucket to export the snapshot to.</p>
         185  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the Amazon S3 bucket to export the snapshot to.</p>
         186  +
    /* FluentBuilderGenerator.kt:500 */
  165    187   
    pub fn set_s3_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  166    188   
        self.inner = self.inner.set_s3_bucket(input);
  167    189   
        self
  168    190   
    }
  169         -
    /// <p>The name of the Amazon S3 bucket to export the snapshot to.</p>
         191  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The name of the Amazon S3 bucket to export the snapshot to.</p>
         192  +
    /* FluentBuilderGenerator.kt:520 */
  170    193   
    pub fn get_s3_bucket(&self) -> &::std::option::Option<::std::string::String> {
  171    194   
        self.inner.get_s3_bucket()
  172    195   
    }
  173         -
    /// <p>The ID of the AWS account that owns the bucket the export will be stored in.</p>
         196  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The ID of the AWS account that owns the bucket the export will be stored in.</p>
         197  +
    /* FluentBuilderGenerator.kt:500 */
  174    198   
    pub fn s3_bucket_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  175    199   
        self.inner = self.inner.s3_bucket_owner(input.into());
  176    200   
        self
  177    201   
    }
  178         -
    /// <p>The ID of the AWS account that owns the bucket the export will be stored in.</p>
         202  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The ID of the AWS account that owns the bucket the export will be stored in.</p>
         203  +
    /* FluentBuilderGenerator.kt:500 */
  179    204   
    pub fn set_s3_bucket_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  180    205   
        self.inner = self.inner.set_s3_bucket_owner(input);
  181    206   
        self
  182    207   
    }
  183         -
    /// <p>The ID of the AWS account that owns the bucket the export will be stored in.</p>
         208  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The ID of the AWS account that owns the bucket the export will be stored in.</p>
         209  +
    /* FluentBuilderGenerator.kt:520 */
  184    210   
    pub fn get_s3_bucket_owner(&self) -> &::std::option::Option<::std::string::String> {
  185    211   
        self.inner.get_s3_bucket_owner()
  186    212   
    }
  187         -
    /// <p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p>
         213  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p>
         214  +
    /* FluentBuilderGenerator.kt:500 */
  188    215   
    pub fn s3_prefix(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  189    216   
        self.inner = self.inner.s3_prefix(input.into());
  190    217   
        self
  191    218   
    }
  192         -
    /// <p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p>
         219  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p>
         220  +
    /* FluentBuilderGenerator.kt:500 */
  193    221   
    pub fn set_s3_prefix(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  194    222   
        self.inner = self.inner.set_s3_prefix(input);
  195    223   
        self
  196    224   
    }
  197         -
    /// <p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p>
         225  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p>
         226  +
    /* FluentBuilderGenerator.kt:520 */
  198    227   
    pub fn get_s3_prefix(&self) -> &::std::option::Option<::std::string::String> {
  199    228   
        self.inner.get_s3_prefix()
  200    229   
    }
  201         -
    /// <p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
         230  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
  202    231   
    /// <ul>
  203    232   
    /// <li>
  204    233   
    /// <p><code>AES256</code> - server-side encryption with Amazon S3 managed keys</p></li>
  205    234   
    /// <li>
  206    235   
    /// <p><code>KMS</code> - server-side encryption with AWS KMS managed keys</p></li>
  207    236   
    /// </ul>
         237  +
    /* FluentBuilderGenerator.kt:500 */
  208    238   
    pub fn s3_sse_algorithm(mut self, input: crate::types::S3SseAlgorithm) -> Self {
  209    239   
        self.inner = self.inner.s3_sse_algorithm(input);
  210    240   
        self
  211    241   
    }
  212         -
    /// <p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
         242  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
  213    243   
    /// <ul>
  214    244   
    /// <li>
  215    245   
    /// <p><code>AES256</code> - server-side encryption with Amazon S3 managed keys</p></li>
  216    246   
    /// <li>
  217    247   
    /// <p><code>KMS</code> - server-side encryption with AWS KMS managed keys</p></li>
  218    248   
    /// </ul>
         249  +
    /* FluentBuilderGenerator.kt:500 */
  219    250   
    pub fn set_s3_sse_algorithm(mut self, input: ::std::option::Option<crate::types::S3SseAlgorithm>) -> Self {
  220    251   
        self.inner = self.inner.set_s3_sse_algorithm(input);
  221    252   
        self
  222    253   
    }
  223         -
    /// <p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
         254  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
  224    255   
    /// <ul>
  225    256   
    /// <li>
  226    257   
    /// <p><code>AES256</code> - server-side encryption with Amazon S3 managed keys</p></li>
  227    258   
    /// <li>
  228    259   
    /// <p><code>KMS</code> - server-side encryption with AWS KMS managed keys</p></li>
  229    260   
    /// </ul>
         261  +
    /* FluentBuilderGenerator.kt:520 */
  230    262   
    pub fn get_s3_sse_algorithm(&self) -> &::std::option::Option<crate::types::S3SseAlgorithm> {
  231    263   
        self.inner.get_s3_sse_algorithm()
  232    264   
    }
  233         -
    /// <p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p>
         265  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p>
         266  +
    /* FluentBuilderGenerator.kt:500 */
  234    267   
    pub fn s3_sse_kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  235    268   
        self.inner = self.inner.s3_sse_kms_key_id(input.into());
  236    269   
        self
  237    270   
    }
  238         -
    /// <p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p>
         271  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p>
         272  +
    /* FluentBuilderGenerator.kt:500 */
  239    273   
    pub fn set_s3_sse_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  240    274   
        self.inner = self.inner.set_s3_sse_kms_key_id(input);
  241    275   
        self
  242    276   
    }
  243         -
    /// <p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p>
         277  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p>
         278  +
    /* FluentBuilderGenerator.kt:520 */
  244    279   
    pub fn get_s3_sse_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
  245    280   
        self.inner.get_s3_sse_kms_key_id()
  246    281   
    }
  247         -
    /// <p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         282  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         283  +
    /* FluentBuilderGenerator.kt:500 */
  248    284   
    pub fn export_format(mut self, input: crate::types::ExportFormat) -> Self {
  249    285   
        self.inner = self.inner.export_format(input);
  250    286   
        self
  251    287   
    }
  252         -
    /// <p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         288  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         289  +
    /* FluentBuilderGenerator.kt:500 */
  253    290   
    pub fn set_export_format(mut self, input: ::std::option::Option<crate::types::ExportFormat>) -> Self {
  254    291   
        self.inner = self.inner.set_export_format(input);
  255    292   
        self
  256    293   
    }
  257         -
    /// <p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         294  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         295  +
    /* FluentBuilderGenerator.kt:520 */
  258    296   
    pub fn get_export_format(&self) -> &::std::option::Option<crate::types::ExportFormat> {
  259    297   
        self.inner.get_export_format()
  260    298   
    }
         299  +
    /* FluentBuilderGenerator.kt:282 */
  261    300   
}

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

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