Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943

Files changed:

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

@@ -1,1 +126,141 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CodegenDelegator.kt:255 */
    2      3   
pub use crate::operation::describe_kinesis_streaming_destination::_describe_kinesis_streaming_destination_output::DescribeKinesisStreamingDestinationOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::describe_kinesis_streaming_destination::_describe_kinesis_streaming_destination_input::DescribeKinesisStreamingDestinationInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::describe_kinesis_streaming_destination::builders::DescribeKinesisStreamingDestinationInputBuilder {
    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::describe_kinesis_streaming_destination::DescribeKinesisStreamingDestinationOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::describe_kinesis_streaming_destination::DescribeKinesisStreamingDestinationError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.describe_kinesis_streaming_destination();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `DescribeKinesisStreamingDestination`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `DescribeKinesisStreamingDestination`.
   24     27   
///
   25         -
/// <p>Returns information about the status of Kinesis streaming.</p>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p>Returns information about the status of Kinesis streaming.</p>
          29  +
/* RustType.kt:516 */
   26     30   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          31  +
/* FluentBuilderGenerator.kt:270 */
   27     32   
pub struct DescribeKinesisStreamingDestinationFluentBuilder {
   28     33   
    handle: ::std::sync::Arc<crate::client::Handle>,
   29     34   
    inner: crate::operation::describe_kinesis_streaming_destination::builders::DescribeKinesisStreamingDestinationInputBuilder,
   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::describe_kinesis_streaming_destination::DescribeKinesisStreamingDestinationOutput,
   35     41   
        crate::operation::describe_kinesis_streaming_destination::DescribeKinesisStreamingDestinationError,
   36     42   
    > for DescribeKinesisStreamingDestinationFluentBuilder
   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::describe_kinesis_streaming_destination::DescribeKinesisStreamingDestinationOutput,
   44     50   
            crate::operation::describe_kinesis_streaming_destination::DescribeKinesisStreamingDestinationError,
   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 DescribeKinesisStreamingDestinationFluentBuilder {
          58  +
    /* FluentBuilderGenerator.kt:288 */
   51     59   
    /// Creates a new `DescribeKinesisStreamingDestinationFluentBuilder`.
   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 DescribeKinesisStreamingDestination as a reference.
   60     69   
    pub fn as_input(&self) -> &crate::operation::describe_kinesis_streaming_destination::builders::DescribeKinesisStreamingDestinationInputBuilder {
   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::describe_kinesis_streaming_destination::DescribeKinesisStreamingDestinationOutput,
   75     85   
        ::aws_smithy_runtime_api::client::result::SdkError<
   76     86   
            crate::operation::describe_kinesis_streaming_destination::DescribeKinesisStreamingDestinationError,
   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 =
   85     95   
            crate::operation::describe_kinesis_streaming_destination::DescribeKinesisStreamingDestination::operation_runtime_plugins(
   86     96   
                self.handle.runtime_plugins.clone(),
   87     97   
                &self.handle.conf,
   88     98   
                self.config_override,
   89     99   
            );
   90    100   
        crate::operation::describe_kinesis_streaming_destination::DescribeKinesisStreamingDestination::orchestrate(&runtime_plugins, input).await
   91    101   
    }
   92    102   
   93    103   
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
   94    104   
    pub fn customize(
   95    105   
        self,
   96    106   
    ) -> crate::client::customize::CustomizableOperation<
   97    107   
        crate::operation::describe_kinesis_streaming_destination::DescribeKinesisStreamingDestinationOutput,
   98    108   
        crate::operation::describe_kinesis_streaming_destination::DescribeKinesisStreamingDestinationError,
   99    109   
        Self,
  100    110   
    > {
  101    111   
        crate::client::customize::CustomizableOperation::new(self)
  102    112   
    }
         113  +
    /* FluentBuilderGenerator.kt:315 */
  103    114   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
  104    115   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
  105    116   
        self
  106    117   
    }
  107    118   
  108    119   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  109    120   
        self.config_override = config_override;
  110    121   
        self
  111    122   
    }
  112         -
    /// <p>The name of the table being described.</p>
         123  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the table being described.</p>
         124  +
    /* FluentBuilderGenerator.kt:500 */
  113    125   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  114    126   
        self.inner = self.inner.table_name(input.into());
  115    127   
        self
  116    128   
    }
  117         -
    /// <p>The name of the table being described.</p>
         129  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the table being described.</p>
         130  +
    /* FluentBuilderGenerator.kt:500 */
  118    131   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  119    132   
        self.inner = self.inner.set_table_name(input);
  120    133   
        self
  121    134   
    }
  122         -
    /// <p>The name of the table being described.</p>
         135  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The name of the table being described.</p>
         136  +
    /* FluentBuilderGenerator.kt:520 */
  123    137   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
  124    138   
        self.inner.get_table_name()
  125    139   
    }
         140  +
    /* FluentBuilderGenerator.kt:282 */
  126    141   
}

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

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

@@ -1,1 +25,44 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents the input of a <code>DescribeLimits</code> operation. Has no content.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents the input of a <code>DescribeLimits</code> operation. Has no content.</p>
           4  +
/* RustType.kt:516 */
    4      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    5      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct DescribeLimitsInput {}
           8  +
pub /* StructureGenerator.kt:201 */ struct DescribeLimitsInput {/* StructureGenerator.kt:201 */}
           9  +
/* ClientCodegenVisitor.kt:237 */
    7     10   
impl DescribeLimitsInput {
    8         -
    /// Creates a new builder-style object to manufacture [`DescribeLimitsInput`](crate::operation::describe_limits::DescribeLimitsInput).
          11  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`DescribeLimitsInput`](crate::operation::describe_limits::DescribeLimitsInput).
          12  +
    /* BuilderGenerator.kt:175 */
    9     13   
    pub fn builder() -> crate::operation::describe_limits::builders::DescribeLimitsInputBuilder {
          14  +
        /* BuilderGenerator.kt:176 */
   10     15   
        crate::operation::describe_limits::builders::DescribeLimitsInputBuilder::default()
          16  +
        /* BuilderGenerator.kt:175 */
   11     17   
    }
          18  +
    /* ClientCodegenVisitor.kt:237 */
   12     19   
}
   13     20   
   14         -
/// A builder for [`DescribeLimitsInput`](crate::operation::describe_limits::DescribeLimitsInput).
          21  +
/// /* BuilderGenerator.kt:342 */A builder for [`DescribeLimitsInput`](crate::operation::describe_limits::DescribeLimitsInput).
          22  +
/* RustType.kt:516 */
   15     23   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          24  +
/* RustType.kt:516 */
   16     25   
#[non_exhaustive]
   17         -
pub struct DescribeLimitsInputBuilder {}
          26  +
/* BuilderGenerator.kt:345 */
          27  +
pub struct DescribeLimitsInputBuilder {/* BuilderGenerator.kt:345 */}
          28  +
/* BuilderGenerator.kt:355 */
   18     29   
impl DescribeLimitsInputBuilder {
   19         -
    /// Consumes the builder and constructs a [`DescribeLimitsInput`](crate::operation::describe_limits::DescribeLimitsInput).
          30  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`DescribeLimitsInput`](crate::operation::describe_limits::DescribeLimitsInput).
          31  +
    /* BuilderGenerator.kt:253 */
   20     32   
    pub fn build(
   21     33   
        self,
   22     34   
    ) -> ::std::result::Result<crate::operation::describe_limits::DescribeLimitsInput, ::aws_smithy_types::error::operation::BuildError> {
   23         -
        ::std::result::Result::Ok(crate::operation::describe_limits::DescribeLimitsInput {})
          35  +
        /* BuilderGenerator.kt:254 */
          36  +
        ::std::result::Result::Ok(
          37  +
            /* BuilderGenerator.kt:477 */
          38  +
            crate::operation::describe_limits::DescribeLimitsInput {
          39  +
            /* BuilderGenerator.kt:477 */}, /* BuilderGenerator.kt:254 */
          40  +
        )
          41  +
        /* BuilderGenerator.kt:253 */
   24     42   
    }
          43  +
    /* BuilderGenerator.kt:355 */
   25     44   
}

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

@@ -1,1 +116,192 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents the output of a <code>DescribeLimits</code> operation.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents the output of a <code>DescribeLimits</code> operation.</p>
           4  +
/* RustType.kt:516 */
    4      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    5      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct DescribeLimitsOutput {
    7         -
    /// <p>The maximum total read capacity units that your account allows you to provision across all of your tables in this Region.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct DescribeLimitsOutput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The maximum total read capacity units that your account allows you to provision across all of your tables in this Region.</p>
    8     10   
    pub account_max_read_capacity_units: ::std::option::Option<i64>,
    9         -
    /// <p>The maximum total write capacity units that your account allows you to provision across all of your tables in this Region.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>The maximum total write capacity units that your account allows you to provision across all of your tables in this Region.</p>
   10     12   
    pub account_max_write_capacity_units: ::std::option::Option<i64>,
   11         -
    /// <p>The maximum read capacity units that your account allows you to provision for a new table that you are creating in this Region, including the read capacity units provisioned for its global secondary indexes (GSIs).</p>
          13  +
    /// /* StructureGenerator.kt:231 */<p>The maximum read capacity units that your account allows you to provision for a new table that you are creating in this Region, including the read capacity units provisioned for its global secondary indexes (GSIs).</p>
   12     14   
    pub table_max_read_capacity_units: ::std::option::Option<i64>,
   13         -
    /// <p>The maximum write capacity units that your account allows you to provision for a new table that you are creating in this Region, including the write capacity units provisioned for its global secondary indexes (GSIs).</p>
          15  +
    /// /* StructureGenerator.kt:231 */<p>The maximum write capacity units that your account allows you to provision for a new table that you are creating in this Region, including the write capacity units provisioned for its global secondary indexes (GSIs).</p>
   14     16   
    pub table_max_write_capacity_units: ::std::option::Option<i64>,
          17  +
    /* StructureGenerator.kt:201 */
   15     18   
}
          19  +
/* StructureGenerator.kt:135 */
   16     20   
impl DescribeLimitsOutput {
   17         -
    /// <p>The maximum total read capacity units that your account allows you to provision across all of your tables in this Region.</p>
          21  +
    /// /* StructureGenerator.kt:231 */<p>The maximum total read capacity units that your account allows you to provision across all of your tables in this Region.</p>
          22  +
    /* StructureGenerator.kt:166 */
   18     23   
    pub fn account_max_read_capacity_units(&self) -> ::std::option::Option<i64> {
          24  +
        /* StructureGenerator.kt:168 */
   19     25   
        self.account_max_read_capacity_units
          26  +
        /* StructureGenerator.kt:166 */
   20     27   
    }
   21         -
    /// <p>The maximum total write capacity units that your account allows you to provision across all of your tables in this Region.</p>
          28  +
    /// /* StructureGenerator.kt:231 */<p>The maximum total write capacity units that your account allows you to provision across all of your tables in this Region.</p>
          29  +
    /* StructureGenerator.kt:166 */
   22     30   
    pub fn account_max_write_capacity_units(&self) -> ::std::option::Option<i64> {
          31  +
        /* StructureGenerator.kt:168 */
   23     32   
        self.account_max_write_capacity_units
          33  +
        /* StructureGenerator.kt:166 */
   24     34   
    }
   25         -
    /// <p>The maximum read capacity units that your account allows you to provision for a new table that you are creating in this Region, including the read capacity units provisioned for its global secondary indexes (GSIs).</p>
          35  +
    /// /* StructureGenerator.kt:231 */<p>The maximum read capacity units that your account allows you to provision for a new table that you are creating in this Region, including the read capacity units provisioned for its global secondary indexes (GSIs).</p>
          36  +
    /* StructureGenerator.kt:166 */
   26     37   
    pub fn table_max_read_capacity_units(&self) -> ::std::option::Option<i64> {
          38  +
        /* StructureGenerator.kt:168 */
   27     39   
        self.table_max_read_capacity_units
          40  +
        /* StructureGenerator.kt:166 */
   28     41   
    }
   29         -
    /// <p>The maximum write capacity units that your account allows you to provision for a new table that you are creating in this Region, including the write capacity units provisioned for its global secondary indexes (GSIs).</p>
          42  +
    /// /* StructureGenerator.kt:231 */<p>The maximum write capacity units that your account allows you to provision for a new table that you are creating in this Region, including the write capacity units provisioned for its global secondary indexes (GSIs).</p>
          43  +
    /* StructureGenerator.kt:166 */
   30     44   
    pub fn table_max_write_capacity_units(&self) -> ::std::option::Option<i64> {
          45  +
        /* StructureGenerator.kt:168 */
   31     46   
        self.table_max_write_capacity_units
          47  +
        /* StructureGenerator.kt:166 */
   32     48   
    }
          49  +
    /* StructureGenerator.kt:135 */
   33     50   
}
          51  +
/* ClientCodegenVisitor.kt:237 */
   34     52   
impl DescribeLimitsOutput {
   35         -
    /// Creates a new builder-style object to manufacture [`DescribeLimitsOutput`](crate::operation::describe_limits::DescribeLimitsOutput).
          53  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`DescribeLimitsOutput`](crate::operation::describe_limits::DescribeLimitsOutput).
          54  +
    /* BuilderGenerator.kt:175 */
   36     55   
    pub fn builder() -> crate::operation::describe_limits::builders::DescribeLimitsOutputBuilder {
          56  +
        /* BuilderGenerator.kt:176 */
   37     57   
        crate::operation::describe_limits::builders::DescribeLimitsOutputBuilder::default()
          58  +
        /* BuilderGenerator.kt:175 */
   38     59   
    }
          60  +
    /* ClientCodegenVisitor.kt:237 */
   39     61   
}
   40     62   
   41         -
/// A builder for [`DescribeLimitsOutput`](crate::operation::describe_limits::DescribeLimitsOutput).
          63  +
/// /* BuilderGenerator.kt:342 */A builder for [`DescribeLimitsOutput`](crate::operation::describe_limits::DescribeLimitsOutput).
          64  +
/* RustType.kt:516 */
   42     65   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          66  +
/* RustType.kt:516 */
   43     67   
#[non_exhaustive]
          68  +
/* BuilderGenerator.kt:345 */
   44     69   
pub struct DescribeLimitsOutputBuilder {
   45         -
    pub(crate) account_max_read_capacity_units: ::std::option::Option<i64>,
   46         -
    pub(crate) account_max_write_capacity_units: ::std::option::Option<i64>,
   47         -
    pub(crate) table_max_read_capacity_units: ::std::option::Option<i64>,
   48         -
    pub(crate) table_max_write_capacity_units: ::std::option::Option<i64>,
          70  +
    /* BuilderGenerator.kt:275 */ pub(crate) account_max_read_capacity_units: ::std::option::Option<i64>,
          71  +
    /* BuilderGenerator.kt:275 */ pub(crate) account_max_write_capacity_units: ::std::option::Option<i64>,
          72  +
    /* BuilderGenerator.kt:275 */ pub(crate) table_max_read_capacity_units: ::std::option::Option<i64>,
          73  +
    /* BuilderGenerator.kt:275 */ pub(crate) table_max_write_capacity_units: ::std::option::Option<i64>,
          74  +
    /* BuilderGenerator.kt:345 */
   49     75   
}
          76  +
/* BuilderGenerator.kt:355 */
   50     77   
impl DescribeLimitsOutputBuilder {
   51         -
    /// <p>The maximum total read capacity units that your account allows you to provision across all of your tables in this Region.</p>
          78  +
    /// /* BuilderGenerator.kt:286 */<p>The maximum total read capacity units that your account allows you to provision across all of your tables in this Region.</p>
          79  +
    /* BuilderGenerator.kt:291 */
   52     80   
    pub fn account_max_read_capacity_units(mut self, input: i64) -> Self {
          81  +
        /* BuilderGenerator.kt:292 */
   53     82   
        self.account_max_read_capacity_units = ::std::option::Option::Some(input);
          83  +
        /* BuilderGenerator.kt:293 */
   54     84   
        self
          85  +
        /* BuilderGenerator.kt:291 */
   55     86   
    }
   56         -
    /// <p>The maximum total read capacity units that your account allows you to provision across all of your tables in this Region.</p>
          87  +
    /// /* BuilderGenerator.kt:312 */<p>The maximum total read capacity units that your account allows you to provision across all of your tables in this Region.</p>
          88  +
    /* BuilderGenerator.kt:314 */
   57     89   
    pub fn set_account_max_read_capacity_units(mut self, input: ::std::option::Option<i64>) -> Self {
          90  +
        /* BuilderGenerator.kt:315 */
   58     91   
        self.account_max_read_capacity_units = input;
   59     92   
        self
          93  +
        /* BuilderGenerator.kt:314 */
   60     94   
    }
   61         -
    /// <p>The maximum total read capacity units that your account allows you to provision across all of your tables in this Region.</p>
          95  +
    /// /* BuilderGenerator.kt:334 */<p>The maximum total read capacity units that your account allows you to provision across all of your tables in this Region.</p>
          96  +
    /* BuilderGenerator.kt:336 */
   62     97   
    pub fn get_account_max_read_capacity_units(&self) -> &::std::option::Option<i64> {
          98  +
        /* BuilderGenerator.kt:337 */
   63     99   
        &self.account_max_read_capacity_units
         100  +
        /* BuilderGenerator.kt:336 */
   64    101   
    }
   65         -
    /// <p>The maximum total write capacity units that your account allows you to provision across all of your tables in this Region.</p>
         102  +
    /// /* BuilderGenerator.kt:286 */<p>The maximum total write capacity units that your account allows you to provision across all of your tables in this Region.</p>
         103  +
    /* BuilderGenerator.kt:291 */
   66    104   
    pub fn account_max_write_capacity_units(mut self, input: i64) -> Self {
         105  +
        /* BuilderGenerator.kt:292 */
   67    106   
        self.account_max_write_capacity_units = ::std::option::Option::Some(input);
         107  +
        /* BuilderGenerator.kt:293 */
   68    108   
        self
         109  +
        /* BuilderGenerator.kt:291 */
   69    110   
    }
   70         -
    /// <p>The maximum total write capacity units that your account allows you to provision across all of your tables in this Region.</p>
         111  +
    /// /* BuilderGenerator.kt:312 */<p>The maximum total write capacity units that your account allows you to provision across all of your tables in this Region.</p>
         112  +
    /* BuilderGenerator.kt:314 */
   71    113   
    pub fn set_account_max_write_capacity_units(mut self, input: ::std::option::Option<i64>) -> Self {
         114  +
        /* BuilderGenerator.kt:315 */
   72    115   
        self.account_max_write_capacity_units = input;
   73    116   
        self
         117  +
        /* BuilderGenerator.kt:314 */
   74    118   
    }
   75         -
    /// <p>The maximum total write capacity units that your account allows you to provision across all of your tables in this Region.</p>
         119  +
    /// /* BuilderGenerator.kt:334 */<p>The maximum total write capacity units that your account allows you to provision across all of your tables in this Region.</p>
         120  +
    /* BuilderGenerator.kt:336 */
   76    121   
    pub fn get_account_max_write_capacity_units(&self) -> &::std::option::Option<i64> {
         122  +
        /* BuilderGenerator.kt:337 */
   77    123   
        &self.account_max_write_capacity_units
         124  +
        /* BuilderGenerator.kt:336 */
   78    125   
    }
   79         -
    /// <p>The maximum read capacity units that your account allows you to provision for a new table that you are creating in this Region, including the read capacity units provisioned for its global secondary indexes (GSIs).</p>
         126  +
    /// /* BuilderGenerator.kt:286 */<p>The maximum read capacity units that your account allows you to provision for a new table that you are creating in this Region, including the read capacity units provisioned for its global secondary indexes (GSIs).</p>
         127  +
    /* BuilderGenerator.kt:291 */
   80    128   
    pub fn table_max_read_capacity_units(mut self, input: i64) -> Self {
         129  +
        /* BuilderGenerator.kt:292 */
   81    130   
        self.table_max_read_capacity_units = ::std::option::Option::Some(input);
         131  +
        /* BuilderGenerator.kt:293 */
   82    132   
        self
         133  +
        /* BuilderGenerator.kt:291 */
   83    134   
    }
   84         -
    /// <p>The maximum read capacity units that your account allows you to provision for a new table that you are creating in this Region, including the read capacity units provisioned for its global secondary indexes (GSIs).</p>
         135  +
    /// /* BuilderGenerator.kt:312 */<p>The maximum read capacity units that your account allows you to provision for a new table that you are creating in this Region, including the read capacity units provisioned for its global secondary indexes (GSIs).</p>
         136  +
    /* BuilderGenerator.kt:314 */
   85    137   
    pub fn set_table_max_read_capacity_units(mut self, input: ::std::option::Option<i64>) -> Self {
         138  +
        /* BuilderGenerator.kt:315 */
   86    139   
        self.table_max_read_capacity_units = input;
   87    140   
        self
         141  +
        /* BuilderGenerator.kt:314 */
   88    142   
    }
   89         -
    /// <p>The maximum read capacity units that your account allows you to provision for a new table that you are creating in this Region, including the read capacity units provisioned for its global secondary indexes (GSIs).</p>
         143  +
    /// /* BuilderGenerator.kt:334 */<p>The maximum read capacity units that your account allows you to provision for a new table that you are creating in this Region, including the read capacity units provisioned for its global secondary indexes (GSIs).</p>
         144  +
    /* BuilderGenerator.kt:336 */
   90    145   
    pub fn get_table_max_read_capacity_units(&self) -> &::std::option::Option<i64> {
         146  +
        /* BuilderGenerator.kt:337 */
   91    147   
        &self.table_max_read_capacity_units
         148  +
        /* BuilderGenerator.kt:336 */
   92    149   
    }
   93         -
    /// <p>The maximum write capacity units that your account allows you to provision for a new table that you are creating in this Region, including the write capacity units provisioned for its global secondary indexes (GSIs).</p>
         150  +
    /// /* BuilderGenerator.kt:286 */<p>The maximum write capacity units that your account allows you to provision for a new table that you are creating in this Region, including the write capacity units provisioned for its global secondary indexes (GSIs).</p>
         151  +
    /* BuilderGenerator.kt:291 */
   94    152   
    pub fn table_max_write_capacity_units(mut self, input: i64) -> Self {
         153  +
        /* BuilderGenerator.kt:292 */
   95    154   
        self.table_max_write_capacity_units = ::std::option::Option::Some(input);
         155  +
        /* BuilderGenerator.kt:293 */
   96    156   
        self
         157  +
        /* BuilderGenerator.kt:291 */
   97    158   
    }
   98         -
    /// <p>The maximum write capacity units that your account allows you to provision for a new table that you are creating in this Region, including the write capacity units provisioned for its global secondary indexes (GSIs).</p>
         159  +
    /// /* BuilderGenerator.kt:312 */<p>The maximum write capacity units that your account allows you to provision for a new table that you are creating in this Region, including the write capacity units provisioned for its global secondary indexes (GSIs).</p>
         160  +
    /* BuilderGenerator.kt:314 */
   99    161   
    pub fn set_table_max_write_capacity_units(mut self, input: ::std::option::Option<i64>) -> Self {
         162  +
        /* BuilderGenerator.kt:315 */
  100    163   
        self.table_max_write_capacity_units = input;
  101    164   
        self
         165  +
        /* BuilderGenerator.kt:314 */
  102    166   
    }
  103         -
    /// <p>The maximum write capacity units that your account allows you to provision for a new table that you are creating in this Region, including the write capacity units provisioned for its global secondary indexes (GSIs).</p>
         167  +
    /// /* BuilderGenerator.kt:334 */<p>The maximum write capacity units that your account allows you to provision for a new table that you are creating in this Region, including the write capacity units provisioned for its global secondary indexes (GSIs).</p>
         168  +
    /* BuilderGenerator.kt:336 */
  104    169   
    pub fn get_table_max_write_capacity_units(&self) -> &::std::option::Option<i64> {
         170  +
        /* BuilderGenerator.kt:337 */
  105    171   
        &self.table_max_write_capacity_units
         172  +
        /* BuilderGenerator.kt:336 */
  106    173   
    }
  107         -
    /// Consumes the builder and constructs a [`DescribeLimitsOutput`](crate::operation::describe_limits::DescribeLimitsOutput).
         174  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`DescribeLimitsOutput`](crate::operation::describe_limits::DescribeLimitsOutput).
         175  +
    /* BuilderGenerator.kt:253 */
  108    176   
    pub fn build(self) -> crate::operation::describe_limits::DescribeLimitsOutput {
         177  +
        /* BuilderGenerator.kt:477 */
  109    178   
        crate::operation::describe_limits::DescribeLimitsOutput {
         179  +
            /* BuilderGenerator.kt:481 */
  110    180   
            account_max_read_capacity_units: self.account_max_read_capacity_units,
         181  +
            /* BuilderGenerator.kt:481 */
  111    182   
            account_max_write_capacity_units: self.account_max_write_capacity_units,
         183  +
            /* BuilderGenerator.kt:481 */
  112    184   
            table_max_read_capacity_units: self.table_max_read_capacity_units,
         185  +
            /* BuilderGenerator.kt:481 */
  113    186   
            table_max_write_capacity_units: self.table_max_write_capacity_units,
         187  +
            /* BuilderGenerator.kt:477 */
  114    188   
        }
         189  +
        /* BuilderGenerator.kt:253 */
  115    190   
    }
         191  +
    /* BuilderGenerator.kt:355 */
  116    192   
}

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

@@ -1,1 +140,152 @@
    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::describe_limits::_describe_limits_output::DescribeLimitsOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::describe_limits::_describe_limits_input::DescribeLimitsInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::describe_limits::builders::DescribeLimitsInputBuilder {
    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::describe_limits::DescribeLimitsOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::describe_limits::DescribeLimitsError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.describe_limits();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `DescribeLimits`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `DescribeLimits`.
   24     27   
///
   25         -
/// <p>Returns the current provisioned-capacity quotas for your AWS account in a Region, both for the Region as a whole and for any one DynamoDB table that you create there.</p>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p>Returns the current provisioned-capacity quotas for your AWS account in a Region, both for the Region as a whole and for any one DynamoDB table that you create there.</p>
   26     29   
/// <p>When you establish an AWS account, the account has initial quotas on the maximum read capacity units and write capacity units that you can provision across all of your DynamoDB tables in a given Region. Also, there are per-table quotas that apply when you create a table there. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html">Service, Account, and Table Quotas</a> page in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   27     30   
/// <p>Although you can increase these quotas by filing a case at <a href="https://console.aws.amazon.com/support/home#/">AWS Support Center</a>, obtaining the increase is not instantaneous. The <code>DescribeLimits</code> action lets you write code to compare the capacity you are currently using to those quotas imposed by your account so that you have enough time to apply for an increase before you hit a quota.</p>
   28     31   
/// <p>For example, you could use one of the AWS SDKs to do the following:</p>
   29     32   
/// <ol>
   30     33   
/// <li>
   31     34   
/// <p>Call <code>DescribeLimits</code> for a particular Region to obtain your current account quotas on provisioned capacity there.</p></li>
   32     35   
/// <li>
   33     36   
/// <p>Create a variable to hold the aggregate read capacity units provisioned for all your tables in that Region, and one to hold the aggregate write capacity units. Zero them both.</p></li>
   34     37   
/// <li>
   35     38   
/// <p>Call <code>ListTables</code> to obtain a list of all your DynamoDB tables.</p></li>
   36     39   
/// <li>
   37     40   
/// <p>For each table name listed by <code>ListTables</code>, do the following:</p>
   38     41   
/// <ul>
   39     42   
/// <li>
   40     43   
/// <p>Call <code>DescribeTable</code> with the table name.</p></li>
   41     44   
/// <li>
   42     45   
/// <p>Use the data returned by <code>DescribeTable</code> to add the read capacity units and write capacity units provisioned for the table itself to your variables.</p></li>
   43     46   
/// <li>
   44     47   
/// <p>If the table has one or more global secondary indexes (GSIs), loop over these GSIs and add their provisioned capacity values to your variables as well.</p></li>
   45     48   
/// </ul></li>
   46     49   
/// <li>
   47     50   
/// <p>Report the account quotas for that Region returned by <code>DescribeLimits</code>, along with the total current provisioned capacity levels you have calculated.</p></li>
   48     51   
/// </ol>
   49     52   
/// <p>This will let you see whether you are getting close to your account-level quotas.</p>
   50     53   
/// <p>The per-table quotas apply only when you are creating a new table. They restrict the sum of the provisioned capacity of the new table itself and all its global secondary indexes.</p>
   51     54   
/// <p>For existing tables and their GSIs, DynamoDB doesn't let you increase provisioned capacity extremely rapidly, but the only quota that applies is that the aggregate provisioned capacity over all your tables and GSIs cannot exceed either of the per-account quotas.</p><note>
   52     55   
/// <p><code>DescribeLimits</code> should only be called periodically. You can expect throttling errors if you call it more than once in a minute.</p>
   53     56   
/// </note>
   54     57   
/// <p>The <code>DescribeLimits</code> Request element has no content.</p>
          58  +
/* RustType.kt:516 */
   55     59   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          60  +
/* FluentBuilderGenerator.kt:270 */
   56     61   
pub struct DescribeLimitsFluentBuilder {
   57     62   
    handle: ::std::sync::Arc<crate::client::Handle>,
   58     63   
    inner: crate::operation::describe_limits::builders::DescribeLimitsInputBuilder,
   59     64   
    config_override: ::std::option::Option<crate::config::Builder>,
   60     65   
}
          66  +
/* FluentBuilderGenerator.kt:381 */
   61     67   
impl
   62     68   
    crate::client::customize::internal::CustomizableSend<
   63     69   
        crate::operation::describe_limits::DescribeLimitsOutput,
   64     70   
        crate::operation::describe_limits::DescribeLimitsError,
   65     71   
    > for DescribeLimitsFluentBuilder
   66     72   
{
   67     73   
    fn send(
   68     74   
        self,
   69     75   
        config_override: crate::config::Builder,
   70     76   
    ) -> crate::client::customize::internal::BoxFuture<
   71     77   
        crate::client::customize::internal::SendResult<
   72     78   
            crate::operation::describe_limits::DescribeLimitsOutput,
   73     79   
            crate::operation::describe_limits::DescribeLimitsError,
   74     80   
        >,
   75     81   
    > {
   76     82   
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
   77     83   
    }
   78     84   
}
          85  +
/* FluentBuilderGenerator.kt:282 */
   79     86   
impl DescribeLimitsFluentBuilder {
          87  +
    /* FluentBuilderGenerator.kt:288 */
   80     88   
    /// Creates a new `DescribeLimitsFluentBuilder`.
   81     89   
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
   82     90   
        Self {
   83     91   
            handle,
   84     92   
            inner: ::std::default::Default::default(),
   85     93   
            config_override: ::std::option::Option::None,
   86     94   
        }
   87     95   
    }
          96  +
    /* FluentBuilderGenerator.kt:301 */
   88     97   
    /// Access the DescribeLimits as a reference.
   89     98   
    pub fn as_input(&self) -> &crate::operation::describe_limits::builders::DescribeLimitsInputBuilder {
   90     99   
        &self.inner
   91    100   
    }
         101  +
    /* FluentBuilderGenerator.kt:145 */
   92    102   
    /// Sends the request and returns the response.
   93    103   
    ///
   94    104   
    /// If an error occurs, an `SdkError` will be returned with additional details that
   95    105   
    /// can be matched against.
   96    106   
    ///
   97    107   
    /// By default, any retryable failures will be retried twice. Retry behavior
   98    108   
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
   99    109   
    /// set when configuring the client.
  100    110   
    pub async fn send(
  101    111   
        self,
  102    112   
    ) -> ::std::result::Result<
  103    113   
        crate::operation::describe_limits::DescribeLimitsOutput,
  104    114   
        ::aws_smithy_runtime_api::client::result::SdkError<
  105    115   
            crate::operation::describe_limits::DescribeLimitsError,
  106    116   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  107    117   
        >,
  108    118   
    > {
  109    119   
        let input = self
  110    120   
            .inner
  111    121   
            .build()
  112    122   
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
  113    123   
        let runtime_plugins = crate::operation::describe_limits::DescribeLimits::operation_runtime_plugins(
  114    124   
            self.handle.runtime_plugins.clone(),
  115    125   
            &self.handle.conf,
  116    126   
            self.config_override,
  117    127   
        );
  118    128   
        crate::operation::describe_limits::DescribeLimits::orchestrate(&runtime_plugins, input).await
  119    129   
    }
  120    130   
  121    131   
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
  122    132   
    pub fn customize(
  123    133   
        self,
  124    134   
    ) -> crate::client::customize::CustomizableOperation<
  125    135   
        crate::operation::describe_limits::DescribeLimitsOutput,
  126    136   
        crate::operation::describe_limits::DescribeLimitsError,
  127    137   
        Self,
  128    138   
    > {
  129    139   
        crate::client::customize::CustomizableOperation::new(self)
  130    140   
    }
         141  +
    /* FluentBuilderGenerator.kt:315 */
  131    142   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
  132    143   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
  133    144   
        self
  134    145   
    }
  135    146   
  136    147   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  137    148   
        self.config_override = config_override;
  138    149   
        self
  139    150   
    }
         151  +
    /* FluentBuilderGenerator.kt:282 */
  140    152   
}

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

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

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

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

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

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

@@ -1,1 +127,142 @@
    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::describe_table::_describe_table_output::DescribeTableOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::describe_table::_describe_table_input::DescribeTableInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::describe_table::builders::DescribeTableInputBuilder {
    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::describe_table::DescribeTableOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::describe_table::DescribeTableError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.describe_table();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `DescribeTable`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `DescribeTable`.
   24     27   
///
   25         -
/// <p>Returns information about the table, including the current status of the table, when it was created, the primary key schema, and any indexes on the table.</p><note>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p>Returns information about the table, including the current status of the table, when it was created, the primary key schema, and any indexes on the table.</p><note>
   26     29   
/// <p>If you issue a <code>DescribeTable</code> request immediately after a <code>CreateTable</code> request, DynamoDB might return a <code>ResourceNotFoundException</code>. This is because <code>DescribeTable</code> uses an eventually consistent query, and the metadata for your table might not be available at that moment. Wait for a few seconds, and then try the <code>DescribeTable</code> request again.</p>
   27     30   
/// </note>
          31  +
/* RustType.kt:516 */
   28     32   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          33  +
/* FluentBuilderGenerator.kt:270 */
   29     34   
pub struct DescribeTableFluentBuilder {
   30     35   
    handle: ::std::sync::Arc<crate::client::Handle>,
   31     36   
    inner: crate::operation::describe_table::builders::DescribeTableInputBuilder,
   32     37   
    config_override: ::std::option::Option<crate::config::Builder>,
   33     38   
}
          39  +
/* FluentBuilderGenerator.kt:381 */
   34     40   
impl
   35     41   
    crate::client::customize::internal::CustomizableSend<
   36     42   
        crate::operation::describe_table::DescribeTableOutput,
   37     43   
        crate::operation::describe_table::DescribeTableError,
   38     44   
    > for DescribeTableFluentBuilder
   39     45   
{
   40     46   
    fn send(
   41     47   
        self,
   42     48   
        config_override: crate::config::Builder,
   43     49   
    ) -> crate::client::customize::internal::BoxFuture<
   44     50   
        crate::client::customize::internal::SendResult<
   45     51   
            crate::operation::describe_table::DescribeTableOutput,
   46     52   
            crate::operation::describe_table::DescribeTableError,
   47     53   
        >,
   48     54   
    > {
   49     55   
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
   50     56   
    }
   51     57   
}
          58  +
/* FluentBuilderGenerator.kt:282 */
   52     59   
impl DescribeTableFluentBuilder {
          60  +
    /* FluentBuilderGenerator.kt:288 */
   53     61   
    /// Creates a new `DescribeTableFluentBuilder`.
   54     62   
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
   55     63   
        Self {
   56     64   
            handle,
   57     65   
            inner: ::std::default::Default::default(),
   58     66   
            config_override: ::std::option::Option::None,
   59     67   
        }
   60     68   
    }
          69  +
    /* FluentBuilderGenerator.kt:301 */
   61     70   
    /// Access the DescribeTable as a reference.
   62     71   
    pub fn as_input(&self) -> &crate::operation::describe_table::builders::DescribeTableInputBuilder {
   63     72   
        &self.inner
   64     73   
    }
          74  +
    /* FluentBuilderGenerator.kt:145 */
   65     75   
    /// Sends the request and returns the response.
   66     76   
    ///
   67     77   
    /// If an error occurs, an `SdkError` will be returned with additional details that
   68     78   
    /// can be matched against.
   69     79   
    ///
   70     80   
    /// By default, any retryable failures will be retried twice. Retry behavior
   71     81   
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
   72     82   
    /// set when configuring the client.
   73     83   
    pub async fn send(
   74     84   
        self,
   75     85   
    ) -> ::std::result::Result<
   76     86   
        crate::operation::describe_table::DescribeTableOutput,
   77     87   
        ::aws_smithy_runtime_api::client::result::SdkError<
   78     88   
            crate::operation::describe_table::DescribeTableError,
   79     89   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   80     90   
        >,
   81     91   
    > {
   82     92   
        let input = self
   83     93   
            .inner
   84     94   
            .build()
   85     95   
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
   86     96   
        let runtime_plugins = crate::operation::describe_table::DescribeTable::operation_runtime_plugins(
   87     97   
            self.handle.runtime_plugins.clone(),
   88     98   
            &self.handle.conf,
   89     99   
            self.config_override,
   90    100   
        );
   91    101   
        crate::operation::describe_table::DescribeTable::orchestrate(&runtime_plugins, input).await
   92    102   
    }
   93    103   
   94    104   
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
   95    105   
    pub fn customize(
   96    106   
        self,
   97    107   
    ) -> crate::client::customize::CustomizableOperation<
   98    108   
        crate::operation::describe_table::DescribeTableOutput,
   99    109   
        crate::operation::describe_table::DescribeTableError,
  100    110   
        Self,
  101    111   
    > {
  102    112   
        crate::client::customize::CustomizableOperation::new(self)
  103    113   
    }
         114  +
    /* FluentBuilderGenerator.kt:315 */
  104    115   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
  105    116   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
  106    117   
        self
  107    118   
    }
  108    119   
  109    120   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  110    121   
        self.config_override = config_override;
  111    122   
        self
  112    123   
    }
  113         -
    /// <p>The name of the table to describe.</p>
         124  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the table to describe.</p>
         125  +
    /* FluentBuilderGenerator.kt:500 */
  114    126   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  115    127   
        self.inner = self.inner.table_name(input.into());
  116    128   
        self
  117    129   
    }
  118         -
    /// <p>The name of the table to describe.</p>
         130  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the table to describe.</p>
         131  +
    /* FluentBuilderGenerator.kt:500 */
  119    132   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  120    133   
        self.inner = self.inner.set_table_name(input);
  121    134   
        self
  122    135   
    }
  123         -
    /// <p>The name of the table to describe.</p>
         136  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The name of the table to describe.</p>
         137  +
    /* FluentBuilderGenerator.kt:520 */
  124    138   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
  125    139   
        self.inner.get_table_name()
  126    140   
    }
         141  +
    /* FluentBuilderGenerator.kt:282 */
  127    142   
}

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

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

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

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

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

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

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

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