Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943

Files changed:

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/operation/get_snapshot_block/_get_snapshot_block_output.rs

@@ -1,1 +134,233 @@
    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]
    4         -
pub struct GetSnapshotBlockOutput {
    5         -
    /// <p>The size of the data in the block.</p>
           6  +
pub /* StructureGenerator.kt:201 */ struct GetSnapshotBlockOutput {
           7  +
    /// /* StructureGenerator.kt:231 */<p>The size of the data in the block.</p>
    6      8   
    pub data_length: ::std::option::Option<i32>,
    7         -
    /// <p>The algorithm used to generate the checksum for the block, such as SHA256.</p>
           9  +
    /// /* StructureGenerator.kt:231 */<p>The algorithm used to generate the checksum for the block, such as SHA256.</p>
    8     10   
    pub checksum_algorithm: ::std::option::Option<crate::types::ChecksumAlgorithm>,
    9         -
    /// <p>The checksum generated for the block, which is Base64 encoded.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>The checksum generated for the block, which is Base64 encoded.</p>
   10     12   
    pub checksum: ::std::option::Option<::std::string::String>,
   11         -
    /// <p>The data content of the block.</p>
          13  +
    /// /* StructureGenerator.kt:231 */<p>The data content of the block.</p>
   12     14   
    pub block_data: ::aws_smithy_types::byte_stream::ByteStream,
          15  +
    /* StructureGenerator.kt:201 */
   13     16   
}
          17  +
/* StructureGenerator.kt:135 */
   14     18   
impl GetSnapshotBlockOutput {
   15         -
    /// <p>The size of the data in the block.</p>
          19  +
    /// /* StructureGenerator.kt:231 */<p>The size of the data in the block.</p>
          20  +
    /* StructureGenerator.kt:166 */
   16     21   
    pub fn data_length(&self) -> ::std::option::Option<i32> {
          22  +
        /* StructureGenerator.kt:168 */
   17     23   
        self.data_length
          24  +
        /* StructureGenerator.kt:166 */
   18     25   
    }
   19         -
    /// <p>The algorithm used to generate the checksum for the block, such as SHA256.</p>
          26  +
    /// /* StructureGenerator.kt:231 */<p>The algorithm used to generate the checksum for the block, such as SHA256.</p>
          27  +
    /* StructureGenerator.kt:166 */
   20     28   
    pub fn checksum_algorithm(&self) -> ::std::option::Option<&crate::types::ChecksumAlgorithm> {
          29  +
        /* StructureGenerator.kt:170 */
   21     30   
        self.checksum_algorithm.as_ref()
          31  +
        /* StructureGenerator.kt:166 */
   22     32   
    }
   23         -
    /// <p>The checksum generated for the block, which is Base64 encoded.</p>
          33  +
    /// /* StructureGenerator.kt:231 */<p>The checksum generated for the block, which is Base64 encoded.</p>
          34  +
    /* StructureGenerator.kt:166 */
   24     35   
    pub fn checksum(&self) -> ::std::option::Option<&str> {
          36  +
        /* StructureGenerator.kt:169 */
   25     37   
        self.checksum.as_deref()
          38  +
        /* StructureGenerator.kt:166 */
   26     39   
    }
   27         -
    /// <p>The data content of the block.</p>
          40  +
    /// /* StructureGenerator.kt:231 */<p>The data content of the block.</p>
          41  +
    /* StructureGenerator.kt:166 */
   28     42   
    pub fn block_data(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
          43  +
        /* StructureGenerator.kt:172 */
   29     44   
        &self.block_data
          45  +
        /* StructureGenerator.kt:166 */
   30     46   
    }
          47  +
    /* StructureGenerator.kt:135 */
   31     48   
}
          49  +
/* StructureGenerator.kt:101 */
   32     50   
impl ::std::fmt::Debug for GetSnapshotBlockOutput {
          51  +
    /* StructureGenerator.kt:105 */
   33     52   
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
          53  +
        /* StructureGenerator.kt:106 */
   34     54   
        let mut formatter = f.debug_struct("GetSnapshotBlockOutput");
          55  +
        /* StructureGenerator.kt:121 */
   35     56   
        formatter.field("data_length", &self.data_length);
          57  +
        /* StructureGenerator.kt:121 */
   36     58   
        formatter.field("checksum_algorithm", &self.checksum_algorithm);
          59  +
        /* StructureGenerator.kt:121 */
   37     60   
        formatter.field("checksum", &self.checksum);
          61  +
        /* StructureGenerator.kt:121 */
   38     62   
        formatter.field("block_data", &"*** Sensitive Data Redacted ***");
          63  +
        /* StructureGenerator.kt:126 */
   39     64   
        formatter.finish()
          65  +
        /* StructureGenerator.kt:105 */
   40     66   
    }
          67  +
    /* StructureGenerator.kt:101 */
   41     68   
}
          69  +
/* ClientCodegenVisitor.kt:237 */
   42     70   
impl GetSnapshotBlockOutput {
   43         -
    /// Creates a new builder-style object to manufacture [`GetSnapshotBlockOutput`](crate::operation::get_snapshot_block::GetSnapshotBlockOutput).
          71  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`GetSnapshotBlockOutput`](crate::operation::get_snapshot_block::GetSnapshotBlockOutput).
          72  +
    /* BuilderGenerator.kt:175 */
   44     73   
    pub fn builder() -> crate::operation::get_snapshot_block::builders::GetSnapshotBlockOutputBuilder {
          74  +
        /* BuilderGenerator.kt:176 */
   45     75   
        crate::operation::get_snapshot_block::builders::GetSnapshotBlockOutputBuilder::default()
          76  +
        /* BuilderGenerator.kt:175 */
   46     77   
    }
          78  +
    /* ClientCodegenVisitor.kt:237 */
   47     79   
}
   48     80   
   49         -
/// A builder for [`GetSnapshotBlockOutput`](crate::operation::get_snapshot_block::GetSnapshotBlockOutput).
          81  +
/// /* BuilderGenerator.kt:342 */A builder for [`GetSnapshotBlockOutput`](crate::operation::get_snapshot_block::GetSnapshotBlockOutput).
          82  +
/* RustType.kt:516 */
   50     83   
#[derive(::std::default::Default)]
          84  +
/* RustType.kt:516 */
   51     85   
#[non_exhaustive]
          86  +
/* BuilderGenerator.kt:345 */
   52     87   
pub struct GetSnapshotBlockOutputBuilder {
   53         -
    pub(crate) data_length: ::std::option::Option<i32>,
   54         -
    pub(crate) checksum_algorithm: ::std::option::Option<crate::types::ChecksumAlgorithm>,
   55         -
    pub(crate) checksum: ::std::option::Option<::std::string::String>,
          88  +
    /* BuilderGenerator.kt:275 */ pub(crate) data_length: ::std::option::Option<i32>,
          89  +
    /* BuilderGenerator.kt:275 */ pub(crate) checksum_algorithm: ::std::option::Option<crate::types::ChecksumAlgorithm>,
          90  +
    /* BuilderGenerator.kt:275 */ pub(crate) checksum: ::std::option::Option<::std::string::String>,
          91  +
    /* BuilderGenerator.kt:275 */
   56     92   
    pub(crate) block_data: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
          93  +
    /* BuilderGenerator.kt:345 */
   57     94   
}
          95  +
/* BuilderGenerator.kt:355 */
   58     96   
impl GetSnapshotBlockOutputBuilder {
   59         -
    /// <p>The size of the data in the block.</p>
          97  +
    /// /* BuilderGenerator.kt:286 */<p>The size of the data in the block.</p>
          98  +
    /* BuilderGenerator.kt:291 */
   60     99   
    pub fn data_length(mut self, input: i32) -> Self {
         100  +
        /* BuilderGenerator.kt:292 */
   61    101   
        self.data_length = ::std::option::Option::Some(input);
         102  +
        /* BuilderGenerator.kt:293 */
   62    103   
        self
         104  +
        /* BuilderGenerator.kt:291 */
   63    105   
    }
   64         -
    /// <p>The size of the data in the block.</p>
         106  +
    /// /* BuilderGenerator.kt:312 */<p>The size of the data in the block.</p>
         107  +
    /* BuilderGenerator.kt:314 */
   65    108   
    pub fn set_data_length(mut self, input: ::std::option::Option<i32>) -> Self {
         109  +
        /* BuilderGenerator.kt:315 */
   66    110   
        self.data_length = input;
   67    111   
        self
         112  +
        /* BuilderGenerator.kt:314 */
   68    113   
    }
   69         -
    /// <p>The size of the data in the block.</p>
         114  +
    /// /* BuilderGenerator.kt:334 */<p>The size of the data in the block.</p>
         115  +
    /* BuilderGenerator.kt:336 */
   70    116   
    pub fn get_data_length(&self) -> &::std::option::Option<i32> {
         117  +
        /* BuilderGenerator.kt:337 */
   71    118   
        &self.data_length
         119  +
        /* BuilderGenerator.kt:336 */
   72    120   
    }
   73         -
    /// <p>The algorithm used to generate the checksum for the block, such as SHA256.</p>
         121  +
    /// /* BuilderGenerator.kt:286 */<p>The algorithm used to generate the checksum for the block, such as SHA256.</p>
         122  +
    /* BuilderGenerator.kt:291 */
   74    123   
    pub fn checksum_algorithm(mut self, input: crate::types::ChecksumAlgorithm) -> Self {
         124  +
        /* BuilderGenerator.kt:292 */
   75    125   
        self.checksum_algorithm = ::std::option::Option::Some(input);
         126  +
        /* BuilderGenerator.kt:293 */
   76    127   
        self
         128  +
        /* BuilderGenerator.kt:291 */
   77    129   
    }
   78         -
    /// <p>The algorithm used to generate the checksum for the block, such as SHA256.</p>
         130  +
    /// /* BuilderGenerator.kt:312 */<p>The algorithm used to generate the checksum for the block, such as SHA256.</p>
         131  +
    /* BuilderGenerator.kt:314 */
   79    132   
    pub fn set_checksum_algorithm(mut self, input: ::std::option::Option<crate::types::ChecksumAlgorithm>) -> Self {
         133  +
        /* BuilderGenerator.kt:315 */
   80    134   
        self.checksum_algorithm = input;
   81    135   
        self
         136  +
        /* BuilderGenerator.kt:314 */
   82    137   
    }
   83         -
    /// <p>The algorithm used to generate the checksum for the block, such as SHA256.</p>
         138  +
    /// /* BuilderGenerator.kt:334 */<p>The algorithm used to generate the checksum for the block, such as SHA256.</p>
         139  +
    /* BuilderGenerator.kt:336 */
   84    140   
    pub fn get_checksum_algorithm(&self) -> &::std::option::Option<crate::types::ChecksumAlgorithm> {
         141  +
        /* BuilderGenerator.kt:337 */
   85    142   
        &self.checksum_algorithm
         143  +
        /* BuilderGenerator.kt:336 */
   86    144   
    }
   87         -
    /// <p>The checksum generated for the block, which is Base64 encoded.</p>
         145  +
    /// /* BuilderGenerator.kt:286 */<p>The checksum generated for the block, which is Base64 encoded.</p>
         146  +
    /* BuilderGenerator.kt:291 */
   88    147   
    pub fn checksum(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         148  +
        /* BuilderGenerator.kt:292 */
   89    149   
        self.checksum = ::std::option::Option::Some(input.into());
         150  +
        /* BuilderGenerator.kt:293 */
   90    151   
        self
         152  +
        /* BuilderGenerator.kt:291 */
   91    153   
    }
   92         -
    /// <p>The checksum generated for the block, which is Base64 encoded.</p>
         154  +
    /// /* BuilderGenerator.kt:312 */<p>The checksum generated for the block, which is Base64 encoded.</p>
         155  +
    /* BuilderGenerator.kt:314 */
   93    156   
    pub fn set_checksum(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         157  +
        /* BuilderGenerator.kt:315 */
   94    158   
        self.checksum = input;
   95    159   
        self
         160  +
        /* BuilderGenerator.kt:314 */
   96    161   
    }
   97         -
    /// <p>The checksum generated for the block, which is Base64 encoded.</p>
         162  +
    /// /* BuilderGenerator.kt:334 */<p>The checksum generated for the block, which is Base64 encoded.</p>
         163  +
    /* BuilderGenerator.kt:336 */
   98    164   
    pub fn get_checksum(&self) -> &::std::option::Option<::std::string::String> {
         165  +
        /* BuilderGenerator.kt:337 */
   99    166   
        &self.checksum
         167  +
        /* BuilderGenerator.kt:336 */
  100    168   
    }
  101         -
    /// <p>The data content of the block.</p>
         169  +
    /// /* BuilderGenerator.kt:286 */<p>The data content of the block.</p>
         170  +
    /* BuilderGenerator.kt:291 */
  102    171   
    pub fn block_data(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
         172  +
        /* BuilderGenerator.kt:292 */
  103    173   
        self.block_data = ::std::option::Option::Some(input);
         174  +
        /* BuilderGenerator.kt:293 */
  104    175   
        self
         176  +
        /* BuilderGenerator.kt:291 */
  105    177   
    }
  106         -
    /// <p>The data content of the block.</p>
         178  +
    /// /* BuilderGenerator.kt:312 */<p>The data content of the block.</p>
         179  +
    /* BuilderGenerator.kt:314 */
  107    180   
    pub fn set_block_data(mut self, input: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>) -> Self {
         181  +
        /* BuilderGenerator.kt:315 */
  108    182   
        self.block_data = input;
  109    183   
        self
         184  +
        /* BuilderGenerator.kt:314 */
  110    185   
    }
  111         -
    /// <p>The data content of the block.</p>
         186  +
    /// /* BuilderGenerator.kt:334 */<p>The data content of the block.</p>
         187  +
    /* BuilderGenerator.kt:336 */
  112    188   
    pub fn get_block_data(&self) -> &::std::option::Option<::aws_smithy_types::byte_stream::ByteStream> {
         189  +
        /* BuilderGenerator.kt:337 */
  113    190   
        &self.block_data
         191  +
        /* BuilderGenerator.kt:336 */
  114    192   
    }
  115         -
    /// Consumes the builder and constructs a [`GetSnapshotBlockOutput`](crate::operation::get_snapshot_block::GetSnapshotBlockOutput).
         193  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`GetSnapshotBlockOutput`](crate::operation::get_snapshot_block::GetSnapshotBlockOutput).
         194  +
    /* BuilderGenerator.kt:253 */
  116    195   
    pub fn build(self) -> crate::operation::get_snapshot_block::GetSnapshotBlockOutput {
         196  +
        /* BuilderGenerator.kt:477 */
  117    197   
        crate::operation::get_snapshot_block::GetSnapshotBlockOutput {
  118         -
            data_length: self.data_length,
         198  +
            /* BuilderGenerator.kt:481 */ data_length: self.data_length,
         199  +
            /* BuilderGenerator.kt:481 */
  119    200   
            checksum_algorithm: self.checksum_algorithm,
         201  +
            /* BuilderGenerator.kt:481 */
  120    202   
            checksum: self.checksum,
  121         -
            block_data: self.block_data.unwrap_or_default(),
         203  +
            /* BuilderGenerator.kt:481 */
         204  +
            block_data: self
         205  +
                .block_data
         206  +
                /* BuilderGenerator.kt:487 */
         207  +
                .unwrap_or_default(),
         208  +
            /* BuilderGenerator.kt:477 */
  122    209   
        }
         210  +
        /* BuilderGenerator.kt:253 */
  123    211   
    }
         212  +
    /* BuilderGenerator.kt:355 */
  124    213   
}
         214  +
/* BuilderGenerator.kt:379 */
  125    215   
impl ::std::fmt::Debug for GetSnapshotBlockOutputBuilder {
         216  +
    /* BuilderGenerator.kt:380 */
  126    217   
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         218  +
        /* BuilderGenerator.kt:381 */
  127    219   
        let mut formatter = f.debug_struct("GetSnapshotBlockOutputBuilder");
         220  +
        /* BuilderGenerator.kt:395 */
  128    221   
        formatter.field("data_length", &self.data_length);
         222  +
        /* BuilderGenerator.kt:395 */
  129    223   
        formatter.field("checksum_algorithm", &self.checksum_algorithm);
         224  +
        /* BuilderGenerator.kt:395 */
  130    225   
        formatter.field("checksum", &self.checksum);
         226  +
        /* BuilderGenerator.kt:395 */
  131    227   
        formatter.field("block_data", &"*** Sensitive Data Redacted ***");
         228  +
        /* BuilderGenerator.kt:400 */
  132    229   
        formatter.finish()
         230  +
        /* BuilderGenerator.kt:380 */
  133    231   
    }
         232  +
    /* BuilderGenerator.kt:379 */
  134    233   
}

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/operation/get_snapshot_block/builders.rs

@@ -1,1 +159,180 @@
    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::get_snapshot_block::_get_snapshot_block_output::GetSnapshotBlockOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::get_snapshot_block::_get_snapshot_block_input::GetSnapshotBlockInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::get_snapshot_block::builders::GetSnapshotBlockInputBuilder {
    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::get_snapshot_block::GetSnapshotBlockOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::get_snapshot_block::GetSnapshotBlockError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.get_snapshot_block();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `GetSnapshotBlock`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `GetSnapshotBlock`.
   24     27   
///
   25         -
/// <p>Returns the data in a block in an Amazon Elastic Block Store snapshot.</p>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p>Returns the data in a block in an Amazon Elastic Block Store snapshot.</p>
          29  +
/* RustType.kt:516 */
   26     30   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          31  +
/* FluentBuilderGenerator.kt:270 */
   27     32   
pub struct GetSnapshotBlockFluentBuilder {
   28     33   
    handle: ::std::sync::Arc<crate::client::Handle>,
   29     34   
    inner: crate::operation::get_snapshot_block::builders::GetSnapshotBlockInputBuilder,
   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::get_snapshot_block::GetSnapshotBlockOutput,
   35     41   
        crate::operation::get_snapshot_block::GetSnapshotBlockError,
   36     42   
    > for GetSnapshotBlockFluentBuilder
   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::get_snapshot_block::GetSnapshotBlockOutput,
   44     50   
            crate::operation::get_snapshot_block::GetSnapshotBlockError,
   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 GetSnapshotBlockFluentBuilder {
          58  +
    /* FluentBuilderGenerator.kt:288 */
   51     59   
    /// Creates a new `GetSnapshotBlockFluentBuilder`.
   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 GetSnapshotBlock as a reference.
   60     69   
    pub fn as_input(&self) -> &crate::operation::get_snapshot_block::builders::GetSnapshotBlockInputBuilder {
   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::get_snapshot_block::GetSnapshotBlockOutput,
   75     85   
        ::aws_smithy_runtime_api::client::result::SdkError<
   76     86   
            crate::operation::get_snapshot_block::GetSnapshotBlockError,
   77     87   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   78     88   
        >,
   79     89   
    > {
   80     90   
        let input = self
   81     91   
            .inner
   82     92   
            .build()
   83     93   
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
   84     94   
        let runtime_plugins = crate::operation::get_snapshot_block::GetSnapshotBlock::operation_runtime_plugins(
   85     95   
            self.handle.runtime_plugins.clone(),
   86     96   
            &self.handle.conf,
   87     97   
            self.config_override,
   88     98   
        );
   89     99   
        crate::operation::get_snapshot_block::GetSnapshotBlock::orchestrate(&runtime_plugins, input).await
   90    100   
    }
   91    101   
   92    102   
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
   93    103   
    pub fn customize(
   94    104   
        self,
   95    105   
    ) -> crate::client::customize::CustomizableOperation<
   96    106   
        crate::operation::get_snapshot_block::GetSnapshotBlockOutput,
   97    107   
        crate::operation::get_snapshot_block::GetSnapshotBlockError,
   98    108   
        Self,
   99    109   
    > {
  100    110   
        crate::client::customize::CustomizableOperation::new(self)
  101    111   
    }
         112  +
    /* FluentBuilderGenerator.kt:315 */
  102    113   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
  103    114   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
  104    115   
        self
  105    116   
    }
  106    117   
  107    118   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  108    119   
        self.config_override = config_override;
  109    120   
        self
  110    121   
    }
  111         -
    /// <p>The ID of the snapshot containing the block from which to get data.</p>
         122  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The ID of the snapshot containing the block from which to get data.</p>
         123  +
    /* FluentBuilderGenerator.kt:500 */
  112    124   
    pub fn snapshot_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  113    125   
        self.inner = self.inner.snapshot_id(input.into());
  114    126   
        self
  115    127   
    }
  116         -
    /// <p>The ID of the snapshot containing the block from which to get data.</p>
         128  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The ID of the snapshot containing the block from which to get data.</p>
         129  +
    /* FluentBuilderGenerator.kt:500 */
  117    130   
    pub fn set_snapshot_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  118    131   
        self.inner = self.inner.set_snapshot_id(input);
  119    132   
        self
  120    133   
    }
  121         -
    /// <p>The ID of the snapshot containing the block from which to get data.</p>
         134  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The ID of the snapshot containing the block from which to get data.</p>
         135  +
    /* FluentBuilderGenerator.kt:520 */
  122    136   
    pub fn get_snapshot_id(&self) -> &::std::option::Option<::std::string::String> {
  123    137   
        self.inner.get_snapshot_id()
  124    138   
    }
  125         -
    /// <p>The block token of the block from which to get data.</p>
         139  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The block token of the block from which to get data.</p>
  126    140   
    /// <p>Obtain the <code>BlockToken</code> by running the <code>ListChangedBlocks</code> or <code>ListSnapshotBlocks</code> operations.</p>
         141  +
    /* FluentBuilderGenerator.kt:500 */
  127    142   
    pub fn block_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  128    143   
        self.inner = self.inner.block_token(input.into());
  129    144   
        self
  130    145   
    }
  131         -
    /// <p>The block token of the block from which to get data.</p>
         146  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The block token of the block from which to get data.</p>
  132    147   
    /// <p>Obtain the <code>BlockToken</code> by running the <code>ListChangedBlocks</code> or <code>ListSnapshotBlocks</code> operations.</p>
         148  +
    /* FluentBuilderGenerator.kt:500 */
  133    149   
    pub fn set_block_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  134    150   
        self.inner = self.inner.set_block_token(input);
  135    151   
        self
  136    152   
    }
  137         -
    /// <p>The block token of the block from which to get data.</p>
         153  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The block token of the block from which to get data.</p>
  138    154   
    /// <p>Obtain the <code>BlockToken</code> by running the <code>ListChangedBlocks</code> or <code>ListSnapshotBlocks</code> operations.</p>
         155  +
    /* FluentBuilderGenerator.kt:520 */
  139    156   
    pub fn get_block_token(&self) -> &::std::option::Option<::std::string::String> {
  140    157   
        self.inner.get_block_token()
  141    158   
    }
  142         -
    /// <p>The block index of the block from which to get data.</p>
         159  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The block index of the block from which to get data.</p>
  143    160   
    /// <p>Obtain the <code>BlockIndex</code> by running the <code>ListChangedBlocks</code> or <code>ListSnapshotBlocks</code> operations.</p>
         161  +
    /* FluentBuilderGenerator.kt:500 */
  144    162   
    pub fn block_index(mut self, input: i32) -> Self {
  145    163   
        self.inner = self.inner.block_index(input);
  146    164   
        self
  147    165   
    }
  148         -
    /// <p>The block index of the block from which to get data.</p>
         166  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The block index of the block from which to get data.</p>
  149    167   
    /// <p>Obtain the <code>BlockIndex</code> by running the <code>ListChangedBlocks</code> or <code>ListSnapshotBlocks</code> operations.</p>
         168  +
    /* FluentBuilderGenerator.kt:500 */
  150    169   
    pub fn set_block_index(mut self, input: ::std::option::Option<i32>) -> Self {
  151    170   
        self.inner = self.inner.set_block_index(input);
  152    171   
        self
  153    172   
    }
  154         -
    /// <p>The block index of the block from which to get data.</p>
         173  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The block index of the block from which to get data.</p>
  155    174   
    /// <p>Obtain the <code>BlockIndex</code> by running the <code>ListChangedBlocks</code> or <code>ListSnapshotBlocks</code> operations.</p>
         175  +
    /* FluentBuilderGenerator.kt:520 */
  156    176   
    pub fn get_block_index(&self) -> &::std::option::Option<i32> {
  157    177   
        self.inner.get_block_index()
  158    178   
    }
         179  +
    /* FluentBuilderGenerator.kt:282 */
  159    180   
}

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/operation/list_changed_blocks.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 `ListChangedBlocks`.
           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 ListChangedBlocks;
          10  +
/* OperationGenerator.kt:85 */
    6     11   
impl ListChangedBlocks {
    7         -
    /// Creates a new `ListChangedBlocks`
          12  +
    /// /* OperationGenerator.kt:86 */Creates a new `ListChangedBlocks`
          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::list_changed_blocks::ListChangedBlocksInput,
   14     23   
    ) -> ::std::result::Result<
   15     24   
        crate::operation::list_changed_blocks::ListChangedBlocksOutput,
   16     25   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     26   
            crate::operation::list_changed_blocks::ListChangedBlocksError,
   18     27   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     28   
        >,
   20     29   
    > {
@@ -57,66 +178,191 @@
   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 ListChangedBlocks {
   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("ListChangedBlocks");
   91    102   
   92    103   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
   93    104   
            ListChangedBlocksRequestSerializer,
   94    105   
        ));
   95    106   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
   96    107   
            ListChangedBlocksResponseDeserializer,
   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::SensitiveOutput);
  104    115   
        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new("ListChangedBlocks", "EBS"));
  105    116   
  106    117   
        ::std::option::Option::Some(cfg.freeze())
  107    118   
    }
  108    119   
  109    120   
    fn runtime_components(
  110    121   
        &self,
  111    122   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
  112    123   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
  113    124   
        #[allow(unused_mut)]
  114    125   
        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("ListChangedBlocks")
  115    126   
            .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default())
  116    127   
            .with_interceptor(ListChangedBlocksEndpointParamsInterceptor)
  117    128   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
  118    129   
                crate::operation::list_changed_blocks::ListChangedBlocksError,
  119    130   
            >::new())
  120    131   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
  121    132   
                crate::operation::list_changed_blocks::ListChangedBlocksError,
  122    133   
            >::new());
  123    134   
  124    135   
        ::std::borrow::Cow::Owned(rcb)
  125    136   
    }
  126    137   
}
  127    138   
         139  +
/* ResponseDeserializerGenerator.kt:64 */
  128    140   
#[derive(Debug)]
  129    141   
struct ListChangedBlocksResponseDeserializer;
  130    142   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for ListChangedBlocksResponseDeserializer {
  131    143   
    fn deserialize_nonstreaming(
  132    144   
        &self,
  133    145   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  134    146   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  135    147   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  136    148   
        let headers = response.headers();
  137    149   
        let body = response.body().bytes().expect("body loaded");
  138    150   
        #[allow(unused_mut)]
  139    151   
        let mut force_error = false;
  140    152   
  141    153   
        let parse_result = if !success && status != 200 || force_error {
  142    154   
            crate::protocol_serde::shape_list_changed_blocks::de_list_changed_blocks_http_error(status, headers, body)
  143    155   
        } else {
  144    156   
            crate::protocol_serde::shape_list_changed_blocks::de_list_changed_blocks_http_response(status, headers, body)
  145    157   
        };
  146    158   
        crate::protocol_serde::type_erase_result(parse_result)
  147    159   
    }
  148    160   
}
         161  +
/* RequestSerializerGenerator.kt:67 */
  149    162   
#[derive(Debug)]
  150    163   
struct ListChangedBlocksRequestSerializer;
  151    164   
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for ListChangedBlocksRequestSerializer {
  152    165   
    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
  153    166   
    fn serialize_input(
  154    167   
        &self,
  155    168   
        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
  156    169   
        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  157    170   
    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
  158    171   
        let input = input
@@ -205,218 +430,644 @@
  225    238   
                ::std::result::Result::Ok(builder.method("GET").uri(uri))
  226    239   
            }
  227    240   
            let mut builder = update_http_builder(&input, ::http::request::Builder::new())?;
  228    241   
            builder
  229    242   
        };
  230    243   
        let body = ::aws_smithy_types::body::SdkBody::from("");
  231    244   
  232    245   
        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
  233    246   
    }
  234    247   
}
         248  +
/* EndpointParamsInterceptorGenerator.kt:86 */
  235    249   
#[derive(Debug)]
  236    250   
struct ListChangedBlocksEndpointParamsInterceptor;
  237    251   
  238    252   
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for ListChangedBlocksEndpointParamsInterceptor {
  239    253   
    fn name(&self) -> &'static str {
  240    254   
        "ListChangedBlocksEndpointParamsInterceptor"
  241    255   
    }
  242    256   
  243    257   
    fn read_before_execution(
  244    258   
        &self,
  245    259   
        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
  246    260   
            '_,
  247    261   
            ::aws_smithy_runtime_api::client::interceptors::context::Input,
  248    262   
            ::aws_smithy_runtime_api::client::interceptors::context::Output,
  249    263   
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
  250    264   
        >,
  251    265   
        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  252    266   
    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
  253    267   
        let _input = context
  254    268   
            .input()
  255    269   
            .downcast_ref::<ListChangedBlocksInput>()
  256    270   
            .ok_or("failed to downcast to ListChangedBlocksInput")?;
  257    271   
  258    272   
        let params = crate::config::endpoint::Params::builder().build().map_err(|err| {
  259    273   
            ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  260    274   
        })?;
  261    275   
        cfg.interceptor_state()
  262    276   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  263    277   
        ::std::result::Result::Ok(())
  264    278   
    }
  265    279   
}
  266    280   
  267    281   
// The get_* functions below are generated from JMESPath expressions in the
  268    282   
// operationContextParams trait. They target the operation's input shape.
  269    283   
         284  +
/* OperationErrorGenerator.kt:79 */
  270    285   
/// Error type for the `ListChangedBlocksError` operation.
         286  +
/* RustType.kt:516 */
  271    287   
#[non_exhaustive]
         288  +
/* RustType.kt:516 */
  272    289   
#[derive(::std::fmt::Debug)]
  273         -
pub enum ListChangedBlocksError {
  274         -
    /// <p>You do not have sufficient access to perform this action.</p>
         290  +
pub /* OperationErrorGenerator.kt:81 */ enum ListChangedBlocksError {
         291  +
    /// /* OperationErrorGenerator.kt:83 */<p>You do not have sufficient access to perform this action.</p>
         292  +
    /* OperationErrorGenerator.kt:86 */
  275    293   
    AccessDeniedError(crate::types::error::AccessDeniedError),
  276         -
    /// <p>An internal error has occurred.</p>
         294  +
    /// /* OperationErrorGenerator.kt:83 */<p>An internal error has occurred.</p>
         295  +
    /* OperationErrorGenerator.kt:86 */
  277    296   
    InternalServerError(crate::types::error::InternalServerError),
  278         -
    /// <p>The number of API requests has exceed the maximum allowed API request throttling limit.</p>
         297  +
    /// /* OperationErrorGenerator.kt:83 */<p>The number of API requests has exceed the maximum allowed API request throttling limit.</p>
         298  +
    /* OperationErrorGenerator.kt:86 */
  279    299   
    RequestThrottledError(crate::types::error::RequestThrottledError),
  280         -
    /// <p>The specified resource does not exist.</p>
         300  +
    /// /* OperationErrorGenerator.kt:83 */<p>The specified resource does not exist.</p>
         301  +
    /* OperationErrorGenerator.kt:86 */
  281    302   
    ResourceNotFoundError(crate::types::error::ResourceNotFoundError),
  282         -
    /// <p>Your current service quotas do not allow you to perform this action.</p>
         303  +
    /// /* OperationErrorGenerator.kt:83 */<p>Your current service quotas do not allow you to perform this action.</p>
         304  +
    /* OperationErrorGenerator.kt:86 */
  283    305   
    ServiceQuotaExceededError(crate::types::error::ServiceQuotaExceededError),
  284         -
    /// <p>The input fails to satisfy the constraints of the EBS direct APIs.</p>
         306  +
    /// /* OperationErrorGenerator.kt:83 */<p>The input fails to satisfy the constraints of the EBS direct APIs.</p>
         307  +
    /* OperationErrorGenerator.kt:86 */
  285    308   
    ValidationError(crate::types::error::ValidationError),
         309  +
    /* OperationErrorGenerator.kt:88 */
  286    310   
    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
  287    311   
    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
  288    312   
    variable wildcard pattern and check `.code()`:
  289    313   
     \
  290    314   
    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
  291    315   
     \
  292    316   
    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-ListChangedBlocksError) for what information is available for the error.")]
  293    317   
    Unhandled(crate::error::sealed_unhandled::Unhandled),
         318  +
    /* OperationErrorGenerator.kt:81 */
  294    319   
}
         320  +
/* OperationErrorGenerator.kt:218 */
  295    321   
impl ListChangedBlocksError {
         322  +
    /* OperationErrorGenerator.kt:219 */
  296    323   
    /// Creates the `ListChangedBlocksError::Unhandled` variant from any error type.
  297    324   
    pub fn unhandled(
  298    325   
        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
  299    326   
    ) -> Self {
  300    327   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  301    328   
            source: err.into(),
  302    329   
            meta: ::std::default::Default::default(),
  303    330   
        })
  304    331   
    }
  305    332   
  306    333   
    /// Creates the `ListChangedBlocksError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
  307    334   
    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
  308    335   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  309    336   
            source: err.clone().into(),
  310    337   
            meta: err,
  311    338   
        })
  312    339   
    }
  313         -
    ///
         340  +
    /// /* OperationErrorGenerator.kt:236 */
  314    341   
    /// Returns error metadata, which includes the error code, message,
  315    342   
    /// request ID, and potentially additional information.
  316    343   
    ///
         344  +
    /* OperationErrorGenerator.kt:242 */
  317    345   
    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         346  +
        /* OperationErrorGenerator.kt:243 */
  318    347   
        match self {
         348  +
            /* OperationErrorGenerator.kt:246 */
  319    349   
            Self::AccessDeniedError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         350  +
            /* OperationErrorGenerator.kt:246 */
  320    351   
            Self::InternalServerError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         352  +
            /* OperationErrorGenerator.kt:246 */
  321    353   
            Self::RequestThrottledError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         354  +
            /* OperationErrorGenerator.kt:246 */
  322    355   
            Self::ResourceNotFoundError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         356  +
            /* OperationErrorGenerator.kt:246 */
  323    357   
            Self::ServiceQuotaExceededError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
  324         -
            Self::ValidationError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
  325         -
            Self::Unhandled(e) => &e.meta,
         358  +
            /* OperationErrorGenerator.kt:246 */ Self::ValidationError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         359  +
            /* OperationErrorGenerator.kt:251 */ Self::Unhandled(e) => &e.meta,
         360  +
            /* OperationErrorGenerator.kt:243 */
  326    361   
        }
         362  +
        /* OperationErrorGenerator.kt:242 */
  327    363   
    }
         364  +
    /* OperationErrorGenerator.kt:257 */
  328    365   
    /// Returns `true` if the error kind is `ListChangedBlocksError::AccessDeniedError`.
         366  +
    /* OperationErrorGenerator.kt:258 */
  329    367   
    pub fn is_access_denied_error(&self) -> bool {
         368  +
        /* OperationErrorGenerator.kt:259 */
  330    369   
        matches!(self, Self::AccessDeniedError(_))
         370  +
        /* OperationErrorGenerator.kt:258 */
  331    371   
    }
         372  +
    /* OperationErrorGenerator.kt:257 */
  332    373   
    /// Returns `true` if the error kind is `ListChangedBlocksError::InternalServerError`.
         374  +
    /* OperationErrorGenerator.kt:258 */
  333    375   
    pub fn is_internal_server_error(&self) -> bool {
         376  +
        /* OperationErrorGenerator.kt:259 */
  334    377   
        matches!(self, Self::InternalServerError(_))
         378  +
        /* OperationErrorGenerator.kt:258 */
  335    379   
    }
         380  +
    /* OperationErrorGenerator.kt:257 */
  336    381   
    /// Returns `true` if the error kind is `ListChangedBlocksError::RequestThrottledError`.
         382  +
    /* OperationErrorGenerator.kt:258 */
  337    383   
    pub fn is_request_throttled_error(&self) -> bool {
         384  +
        /* OperationErrorGenerator.kt:259 */
  338    385   
        matches!(self, Self::RequestThrottledError(_))
         386  +
        /* OperationErrorGenerator.kt:258 */
  339    387   
    }
         388  +
    /* OperationErrorGenerator.kt:257 */
  340    389   
    /// Returns `true` if the error kind is `ListChangedBlocksError::ResourceNotFoundError`.
         390  +
    /* OperationErrorGenerator.kt:258 */
  341    391   
    pub fn is_resource_not_found_error(&self) -> bool {
         392  +
        /* OperationErrorGenerator.kt:259 */
  342    393   
        matches!(self, Self::ResourceNotFoundError(_))
         394  +
        /* OperationErrorGenerator.kt:258 */
  343    395   
    }
         396  +
    /* OperationErrorGenerator.kt:257 */
  344    397   
    /// Returns `true` if the error kind is `ListChangedBlocksError::ServiceQuotaExceededError`.
         398  +
    /* OperationErrorGenerator.kt:258 */
  345    399   
    pub fn is_service_quota_exceeded_error(&self) -> bool {
         400  +
        /* OperationErrorGenerator.kt:259 */
  346    401   
        matches!(self, Self::ServiceQuotaExceededError(_))
         402  +
        /* OperationErrorGenerator.kt:258 */
  347    403   
    }
         404  +
    /* OperationErrorGenerator.kt:257 */
  348    405   
    /// Returns `true` if the error kind is `ListChangedBlocksError::ValidationError`.
         406  +
    /* OperationErrorGenerator.kt:258 */
  349    407   
    pub fn is_validation_error(&self) -> bool {
         408  +
        /* OperationErrorGenerator.kt:259 */
  350    409   
        matches!(self, Self::ValidationError(_))
         410  +
        /* OperationErrorGenerator.kt:258 */
  351    411   
    }
         412  +
    /* OperationErrorGenerator.kt:218 */
  352    413   
}
         414  +
/* OperationErrorGenerator.kt:269 */
  353    415   
impl ::std::error::Error for ListChangedBlocksError {
         416  +
    /* OperationErrorGenerator.kt:270 */
  354    417   
    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
         418  +
        /* OperationErrorGenerator.kt:318 */
  355    419   
        match self {
  356         -
            Self::AccessDeniedError(_inner) => ::std::option::Option::Some(_inner),
  357         -
            Self::InternalServerError(_inner) => ::std::option::Option::Some(_inner),
  358         -
            Self::RequestThrottledError(_inner) => ::std::option::Option::Some(_inner),
  359         -
            Self::ResourceNotFoundError(_inner) => ::std::option::Option::Some(_inner),
  360         -
            Self::ServiceQuotaExceededError(_inner) => ::std::option::Option::Some(_inner),
  361         -
            Self::ValidationError(_inner) => ::std::option::Option::Some(_inner),
  362         -
            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
         420  +
            /* OperationErrorGenerator.kt:321 */
         421  +
            Self::AccessDeniedError(_inner) =>
         422  +
            /* OperationErrorGenerator.kt:283 */
         423  +
            {
         424  +
                ::std::option::Option::Some(_inner)
         425  +
            }
         426  +
            ,
         427  +
            /* OperationErrorGenerator.kt:321 */
         428  +
            Self::InternalServerError(_inner) =>
         429  +
            /* OperationErrorGenerator.kt:283 */
         430  +
            {
         431  +
                ::std::option::Option::Some(_inner)
         432  +
            }
         433  +
            ,
         434  +
            /* OperationErrorGenerator.kt:321 */
         435  +
            Self::RequestThrottledError(_inner) =>
         436  +
            /* OperationErrorGenerator.kt:283 */
         437  +
            {
         438  +
                ::std::option::Option::Some(_inner)
         439  +
            }
         440  +
            ,
         441  +
            /* OperationErrorGenerator.kt:321 */
         442  +
            Self::ResourceNotFoundError(_inner) =>
         443  +
            /* OperationErrorGenerator.kt:283 */
         444  +
            {
         445  +
                ::std::option::Option::Some(_inner)
         446  +
            }
         447  +
            ,
         448  +
            /* OperationErrorGenerator.kt:321 */
         449  +
            Self::ServiceQuotaExceededError(_inner) =>
         450  +
            /* OperationErrorGenerator.kt:283 */
         451  +
            {
         452  +
                ::std::option::Option::Some(_inner)
         453  +
            }
         454  +
            ,
         455  +
            /* OperationErrorGenerator.kt:321 */
         456  +
            Self::ValidationError(_inner) =>
         457  +
            /* OperationErrorGenerator.kt:283 */
         458  +
            {
         459  +
                ::std::option::Option::Some(_inner)
         460  +
            }
         461  +
            ,
         462  +
            /* OperationErrorGenerator.kt:326 */
         463  +
            Self::Unhandled(_inner) => {
         464  +
                /* OperationErrorGenerator.kt:279 */
         465  +
                ::std::option::Option::Some(&*_inner.source)
         466  +
                /* OperationErrorGenerator.kt:326 */
         467  +
            } /* OperationErrorGenerator.kt:318 */
  363    468   
        }
         469  +
        /* OperationErrorGenerator.kt:270 */
  364    470   
    }
         471  +
    /* OperationErrorGenerator.kt:269 */
  365    472   
}
         473  +
/* OperationErrorGenerator.kt:133 */
  366    474   
impl ::std::fmt::Display for ListChangedBlocksError {
         475  +
    /* OperationErrorGenerator.kt:134 */
  367    476   
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         477  +
        /* OperationErrorGenerator.kt:318 */
  368    478   
        match self {
  369         -
            Self::AccessDeniedError(_inner) => _inner.fmt(f),
  370         -
            Self::InternalServerError(_inner) => _inner.fmt(f),
  371         -
            Self::RequestThrottledError(_inner) => _inner.fmt(f),
  372         -
            Self::ResourceNotFoundError(_inner) => _inner.fmt(f),
  373         -
            Self::ServiceQuotaExceededError(_inner) => _inner.fmt(f),
  374         -
            Self::ValidationError(_inner) => _inner.fmt(f),
         479  +
            /* OperationErrorGenerator.kt:321 */
         480  +
            Self::AccessDeniedError(_inner) =>
         481  +
            /* OperationErrorGenerator.kt:151 */
         482  +
            {
         483  +
                _inner.fmt(f)
         484  +
            }
         485  +
            ,
         486  +
            /* OperationErrorGenerator.kt:321 */
         487  +
            Self::InternalServerError(_inner) =>
         488  +
            /* OperationErrorGenerator.kt:151 */
         489  +
            {
         490  +
                _inner.fmt(f)
         491  +
            }
         492  +
            ,
         493  +
            /* OperationErrorGenerator.kt:321 */
         494  +
            Self::RequestThrottledError(_inner) =>
         495  +
            /* OperationErrorGenerator.kt:151 */
         496  +
            {
         497  +
                _inner.fmt(f)
         498  +
            }
         499  +
            ,
         500  +
            /* OperationErrorGenerator.kt:321 */
         501  +
            Self::ResourceNotFoundError(_inner) =>
         502  +
            /* OperationErrorGenerator.kt:151 */
         503  +
            {
         504  +
                _inner.fmt(f)
         505  +
            }
         506  +
            ,
         507  +
            /* OperationErrorGenerator.kt:321 */
         508  +
            Self::ServiceQuotaExceededError(_inner) =>
         509  +
            /* OperationErrorGenerator.kt:151 */
         510  +
            {
         511  +
                _inner.fmt(f)
         512  +
            }
         513  +
            ,
         514  +
            /* OperationErrorGenerator.kt:321 */
         515  +
            Self::ValidationError(_inner) =>
         516  +
            /* OperationErrorGenerator.kt:151 */
         517  +
            {
         518  +
                _inner.fmt(f)
         519  +
            }
         520  +
            ,
         521  +
            /* OperationErrorGenerator.kt:326 */
  375    522   
            Self::Unhandled(_inner) => {
         523  +
                /* OperationErrorGenerator.kt:139 */
  376    524   
                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
  377    525   
                    write!(f, "unhandled error ({code})")
  378    526   
                } else {
  379    527   
                    f.write_str("unhandled error")
  380    528   
                }
  381         -
            }
         529  +
                /* OperationErrorGenerator.kt:326 */
         530  +
            } /* OperationErrorGenerator.kt:318 */
  382    531   
        }
         532  +
        /* OperationErrorGenerator.kt:134 */
  383    533   
    }
         534  +
    /* OperationErrorGenerator.kt:133 */
  384    535   
}
         536  +
/* OperationErrorGenerator.kt:182 */
  385    537   
impl ::aws_smithy_types::retry::ProvideErrorKind for ListChangedBlocksError {
         538  +
    /* OperationErrorGenerator.kt:186 */
  386    539   
    fn code(&self) -> ::std::option::Option<&str> {
         540  +
        /* OperationErrorGenerator.kt:187 */
  387    541   
        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
         542  +
        /* OperationErrorGenerator.kt:186 */
  388    543   
    }
         544  +
    /* OperationErrorGenerator.kt:190 */
  389    545   
    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
         546  +
        /* OperationErrorGenerator.kt:197 */
  390    547   
        ::std::option::Option::None
         548  +
        /* OperationErrorGenerator.kt:190 */
  391    549   
    }
         550  +
    /* OperationErrorGenerator.kt:182 */
  392    551   
}
         552  +
/* OperationErrorGenerator.kt:163 */
  393    553   
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for ListChangedBlocksError {
         554  +
    /* OperationErrorGenerator.kt:164 */
  394    555   
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         556  +
        /* OperationErrorGenerator.kt:318 */
  395    557   
        match self {
  396         -
            Self::AccessDeniedError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  397         -
            Self::InternalServerError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  398         -
            Self::RequestThrottledError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  399         -
            Self::ResourceNotFoundError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  400         -
            Self::ServiceQuotaExceededError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  401         -
            Self::ValidationError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  402         -
            Self::Unhandled(_inner) => &_inner.meta,
         558  +
            /* OperationErrorGenerator.kt:321 */
         559  +
            Self::AccessDeniedError(_inner) =>
         560  +
            /* OperationErrorGenerator.kt:169 */
         561  +
            {
         562  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         563  +
            }
         564  +
            ,
         565  +
            /* OperationErrorGenerator.kt:321 */
         566  +
            Self::InternalServerError(_inner) =>
         567  +
            /* OperationErrorGenerator.kt:169 */
         568  +
            {
         569  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         570  +
            }
         571  +
            ,
         572  +
            /* OperationErrorGenerator.kt:321 */
         573  +
            Self::RequestThrottledError(_inner) =>
         574  +
            /* OperationErrorGenerator.kt:169 */
         575  +
            {
         576  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         577  +
            }
         578  +
            ,
         579  +
            /* OperationErrorGenerator.kt:321 */
         580  +
            Self::ResourceNotFoundError(_inner) =>
         581  +
            /* OperationErrorGenerator.kt:169 */
         582  +
            {
         583  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         584  +
            }
         585  +
            ,
         586  +
            /* OperationErrorGenerator.kt:321 */
         587  +
            Self::ServiceQuotaExceededError(_inner) =>
         588  +
            /* OperationErrorGenerator.kt:169 */
         589  +
            {
         590  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         591  +
            }
         592  +
            ,
         593  +
            /* OperationErrorGenerator.kt:321 */
         594  +
            Self::ValidationError(_inner) =>
         595  +
            /* OperationErrorGenerator.kt:169 */
         596  +
            {
         597  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         598  +
            }
         599  +
            ,
         600  +
            /* OperationErrorGenerator.kt:326 */
         601  +
            Self::Unhandled(_inner) => {
         602  +
                /* OperationErrorGenerator.kt:168 */
         603  +
                &_inner.meta
         604  +
                /* OperationErrorGenerator.kt:326 */
         605  +
            } /* OperationErrorGenerator.kt:318 */
  403    606   
        }
         607  +
        /* OperationErrorGenerator.kt:164 */
  404    608   
    }
         609  +
    /* OperationErrorGenerator.kt:163 */
  405    610   
}
         611  +
/* OperationErrorGenerator.kt:109 */
  406    612   
impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for ListChangedBlocksError {
         613  +
    /* OperationErrorGenerator.kt:110 */
  407    614   
    fn create_unhandled_error(
  408    615   
        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
  409    616   
        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
  410    617   
    ) -> Self {
         618  +
        /* OperationErrorGenerator.kt:121 */
  411    619   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  412    620   
            source,
  413    621   
            meta: meta.unwrap_or_default(),
  414    622   
        })
         623  +
        /* OperationErrorGenerator.kt:110 */
  415    624   
    }
         625  +
    /* OperationErrorGenerator.kt:109 */
  416    626   
}
  417    627   
         628  +
/* CodegenDelegator.kt:255 */
  418    629   
pub use crate::operation::list_changed_blocks::_list_changed_blocks_output::ListChangedBlocksOutput;
  419    630   
         631  +
/* CodegenDelegator.kt:255 */
  420    632   
pub use crate::operation::list_changed_blocks::_list_changed_blocks_input::ListChangedBlocksInput;
  421    633   
         634  +
/* RustModule.kt:172 */
  422    635   
mod _list_changed_blocks_input;
  423    636   
         637  +
/* RustModule.kt:172 */
  424    638   
mod _list_changed_blocks_output;
  425    639   
  426         -
/// Builders
         640  +
/// /* CodegenDelegator.kt:51 */Builders
  427    641   
pub mod builders;
  428    642   
  429         -
/// Paginator for this operation
         643  +
/// /* CodegenDelegator.kt:51 */Paginator for this operation
  430    644   
pub mod paginator;

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/operation/list_changed_blocks/_list_changed_blocks_input.rs

@@ -1,1 +165,258 @@
    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 ListChangedBlocksInput {
    6         -
    /// <p>The ID of the second snapshot to use for the comparison.</p><important>
           8  +
pub /* StructureGenerator.kt:201 */ struct ListChangedBlocksInput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The ID of the second snapshot to use for the comparison.</p><important>
    7     10   
    /// <p>The <code>SecondSnapshotId</code> parameter must be specified with a <code>FirstSnapshotID</code> parameter; otherwise, an error occurs.</p>
    8     11   
    /// </important>
    9     12   
    pub second_snapshot_id: ::std::option::Option<::std::string::String>,
   10         -
    /// <p>The ID of the first snapshot to use for the comparison.</p><important>
          13  +
    /// /* StructureGenerator.kt:231 */<p>The ID of the first snapshot to use for the comparison.</p><important>
   11     14   
    /// <p>The <code>FirstSnapshotID</code> parameter must be specified with a <code>SecondSnapshotId</code> parameter; otherwise, an error occurs.</p>
   12     15   
    /// </important>
   13     16   
    pub first_snapshot_id: ::std::option::Option<::std::string::String>,
   14         -
    /// <p>The token to request the next page of results.</p>
          17  +
    /// /* StructureGenerator.kt:231 */<p>The token to request the next page of results.</p>
   15     18   
    pub next_token: ::std::option::Option<::std::string::String>,
   16         -
    /// <p>The number of results to return.</p>
          19  +
    /// /* StructureGenerator.kt:231 */<p>The number of results to return.</p>
   17     20   
    pub max_results: ::std::option::Option<i32>,
   18         -
    /// <p>The block index from which the comparison should start.</p>
          21  +
    /// /* StructureGenerator.kt:231 */<p>The block index from which the comparison should start.</p>
   19     22   
    /// <p>The list in the response will start from this block index or the next valid block index in the snapshots.</p>
   20     23   
    pub starting_block_index: ::std::option::Option<i32>,
          24  +
    /* StructureGenerator.kt:201 */
   21     25   
}
          26  +
/* StructureGenerator.kt:135 */
   22     27   
impl ListChangedBlocksInput {
   23         -
    /// <p>The ID of the second snapshot to use for the comparison.</p><important>
          28  +
    /// /* StructureGenerator.kt:231 */<p>The ID of the second snapshot to use for the comparison.</p><important>
   24     29   
    /// <p>The <code>SecondSnapshotId</code> parameter must be specified with a <code>FirstSnapshotID</code> parameter; otherwise, an error occurs.</p>
   25     30   
    /// </important>
          31  +
    /* StructureGenerator.kt:166 */
   26     32   
    pub fn second_snapshot_id(&self) -> ::std::option::Option<&str> {
          33  +
        /* StructureGenerator.kt:169 */
   27     34   
        self.second_snapshot_id.as_deref()
          35  +
        /* StructureGenerator.kt:166 */
   28     36   
    }
   29         -
    /// <p>The ID of the first snapshot to use for the comparison.</p><important>
          37  +
    /// /* StructureGenerator.kt:231 */<p>The ID of the first snapshot to use for the comparison.</p><important>
   30     38   
    /// <p>The <code>FirstSnapshotID</code> parameter must be specified with a <code>SecondSnapshotId</code> parameter; otherwise, an error occurs.</p>
   31     39   
    /// </important>
          40  +
    /* StructureGenerator.kt:166 */
   32     41   
    pub fn first_snapshot_id(&self) -> ::std::option::Option<&str> {
          42  +
        /* StructureGenerator.kt:169 */
   33     43   
        self.first_snapshot_id.as_deref()
          44  +
        /* StructureGenerator.kt:166 */
   34     45   
    }
   35         -
    /// <p>The token to request the next page of results.</p>
          46  +
    /// /* StructureGenerator.kt:231 */<p>The token to request the next page of results.</p>
          47  +
    /* StructureGenerator.kt:166 */
   36     48   
    pub fn next_token(&self) -> ::std::option::Option<&str> {
          49  +
        /* StructureGenerator.kt:169 */
   37     50   
        self.next_token.as_deref()
          51  +
        /* StructureGenerator.kt:166 */
   38     52   
    }
   39         -
    /// <p>The number of results to return.</p>
          53  +
    /// /* StructureGenerator.kt:231 */<p>The number of results to return.</p>
          54  +
    /* StructureGenerator.kt:166 */
   40     55   
    pub fn max_results(&self) -> ::std::option::Option<i32> {
          56  +
        /* StructureGenerator.kt:168 */
   41     57   
        self.max_results
          58  +
        /* StructureGenerator.kt:166 */
   42     59   
    }
   43         -
    /// <p>The block index from which the comparison should start.</p>
          60  +
    /// /* StructureGenerator.kt:231 */<p>The block index from which the comparison should start.</p>
   44     61   
    /// <p>The list in the response will start from this block index or the next valid block index in the snapshots.</p>
          62  +
    /* StructureGenerator.kt:166 */
   45     63   
    pub fn starting_block_index(&self) -> ::std::option::Option<i32> {
          64  +
        /* StructureGenerator.kt:168 */
   46     65   
        self.starting_block_index
          66  +
        /* StructureGenerator.kt:166 */
   47     67   
    }
          68  +
    /* StructureGenerator.kt:135 */
   48     69   
}
          70  +
/* ClientCodegenVisitor.kt:237 */
   49     71   
impl ListChangedBlocksInput {
   50         -
    /// Creates a new builder-style object to manufacture [`ListChangedBlocksInput`](crate::operation::list_changed_blocks::ListChangedBlocksInput).
          72  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`ListChangedBlocksInput`](crate::operation::list_changed_blocks::ListChangedBlocksInput).
          73  +
    /* BuilderGenerator.kt:175 */
   51     74   
    pub fn builder() -> crate::operation::list_changed_blocks::builders::ListChangedBlocksInputBuilder {
          75  +
        /* BuilderGenerator.kt:176 */
   52     76   
        crate::operation::list_changed_blocks::builders::ListChangedBlocksInputBuilder::default()
          77  +
        /* BuilderGenerator.kt:175 */
   53     78   
    }
          79  +
    /* ClientCodegenVisitor.kt:237 */
   54     80   
}
   55     81   
   56         -
/// A builder for [`ListChangedBlocksInput`](crate::operation::list_changed_blocks::ListChangedBlocksInput).
          82  +
/// /* BuilderGenerator.kt:342 */A builder for [`ListChangedBlocksInput`](crate::operation::list_changed_blocks::ListChangedBlocksInput).
          83  +
/* RustType.kt:516 */
   57     84   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          85  +
/* RustType.kt:516 */
   58     86   
#[non_exhaustive]
          87  +
/* BuilderGenerator.kt:345 */
   59     88   
pub struct ListChangedBlocksInputBuilder {
   60         -
    pub(crate) second_snapshot_id: ::std::option::Option<::std::string::String>,
   61         -
    pub(crate) first_snapshot_id: ::std::option::Option<::std::string::String>,
   62         -
    pub(crate) next_token: ::std::option::Option<::std::string::String>,
   63         -
    pub(crate) max_results: ::std::option::Option<i32>,
   64         -
    pub(crate) starting_block_index: ::std::option::Option<i32>,
          89  +
    /* BuilderGenerator.kt:275 */ pub(crate) second_snapshot_id: ::std::option::Option<::std::string::String>,
          90  +
    /* BuilderGenerator.kt:275 */ pub(crate) first_snapshot_id: ::std::option::Option<::std::string::String>,
          91  +
    /* BuilderGenerator.kt:275 */ pub(crate) next_token: ::std::option::Option<::std::string::String>,
          92  +
    /* BuilderGenerator.kt:275 */ pub(crate) max_results: ::std::option::Option<i32>,
          93  +
    /* BuilderGenerator.kt:275 */ pub(crate) starting_block_index: ::std::option::Option<i32>,
          94  +
    /* BuilderGenerator.kt:345 */
   65     95   
}
          96  +
/* BuilderGenerator.kt:355 */
   66     97   
impl ListChangedBlocksInputBuilder {
   67         -
    /// <p>The ID of the second snapshot to use for the comparison.</p><important>
          98  +
    /// /* BuilderGenerator.kt:286 */<p>The ID of the second snapshot to use for the comparison.</p><important>
   68     99   
    /// <p>The <code>SecondSnapshotId</code> parameter must be specified with a <code>FirstSnapshotID</code> parameter; otherwise, an error occurs.</p>
   69    100   
    /// </important>
   70         -
    /// This field is required.
         101  +
    /// /* BuilderGenerator.kt:288 */This field is required.
         102  +
    /* BuilderGenerator.kt:291 */
   71    103   
    pub fn second_snapshot_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         104  +
        /* BuilderGenerator.kt:292 */
   72    105   
        self.second_snapshot_id = ::std::option::Option::Some(input.into());
         106  +
        /* BuilderGenerator.kt:293 */
   73    107   
        self
         108  +
        /* BuilderGenerator.kt:291 */
   74    109   
    }
   75         -
    /// <p>The ID of the second snapshot to use for the comparison.</p><important>
         110  +
    /// /* BuilderGenerator.kt:312 */<p>The ID of the second snapshot to use for the comparison.</p><important>
   76    111   
    /// <p>The <code>SecondSnapshotId</code> parameter must be specified with a <code>FirstSnapshotID</code> parameter; otherwise, an error occurs.</p>
   77    112   
    /// </important>
         113  +
    /* BuilderGenerator.kt:314 */
   78    114   
    pub fn set_second_snapshot_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         115  +
        /* BuilderGenerator.kt:315 */
   79    116   
        self.second_snapshot_id = input;
   80    117   
        self
         118  +
        /* BuilderGenerator.kt:314 */
   81    119   
    }
   82         -
    /// <p>The ID of the second snapshot to use for the comparison.</p><important>
         120  +
    /// /* BuilderGenerator.kt:334 */<p>The ID of the second snapshot to use for the comparison.</p><important>
   83    121   
    /// <p>The <code>SecondSnapshotId</code> parameter must be specified with a <code>FirstSnapshotID</code> parameter; otherwise, an error occurs.</p>
   84    122   
    /// </important>
         123  +
    /* BuilderGenerator.kt:336 */
   85    124   
    pub fn get_second_snapshot_id(&self) -> &::std::option::Option<::std::string::String> {
         125  +
        /* BuilderGenerator.kt:337 */
   86    126   
        &self.second_snapshot_id
         127  +
        /* BuilderGenerator.kt:336 */
   87    128   
    }
   88         -
    /// <p>The ID of the first snapshot to use for the comparison.</p><important>
         129  +
    /// /* BuilderGenerator.kt:286 */<p>The ID of the first snapshot to use for the comparison.</p><important>
   89    130   
    /// <p>The <code>FirstSnapshotID</code> parameter must be specified with a <code>SecondSnapshotId</code> parameter; otherwise, an error occurs.</p>
   90    131   
    /// </important>
         132  +
    /* BuilderGenerator.kt:291 */
   91    133   
    pub fn first_snapshot_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         134  +
        /* BuilderGenerator.kt:292 */
   92    135   
        self.first_snapshot_id = ::std::option::Option::Some(input.into());
         136  +
        /* BuilderGenerator.kt:293 */
   93    137   
        self
         138  +
        /* BuilderGenerator.kt:291 */
   94    139   
    }
   95         -
    /// <p>The ID of the first snapshot to use for the comparison.</p><important>
         140  +
    /// /* BuilderGenerator.kt:312 */<p>The ID of the first snapshot to use for the comparison.</p><important>
   96    141   
    /// <p>The <code>FirstSnapshotID</code> parameter must be specified with a <code>SecondSnapshotId</code> parameter; otherwise, an error occurs.</p>
   97    142   
    /// </important>
         143  +
    /* BuilderGenerator.kt:314 */
   98    144   
    pub fn set_first_snapshot_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         145  +
        /* BuilderGenerator.kt:315 */
   99    146   
        self.first_snapshot_id = input;
  100    147   
        self
         148  +
        /* BuilderGenerator.kt:314 */
  101    149   
    }
  102         -
    /// <p>The ID of the first snapshot to use for the comparison.</p><important>
         150  +
    /// /* BuilderGenerator.kt:334 */<p>The ID of the first snapshot to use for the comparison.</p><important>
  103    151   
    /// <p>The <code>FirstSnapshotID</code> parameter must be specified with a <code>SecondSnapshotId</code> parameter; otherwise, an error occurs.</p>
  104    152   
    /// </important>
         153  +
    /* BuilderGenerator.kt:336 */
  105    154   
    pub fn get_first_snapshot_id(&self) -> &::std::option::Option<::std::string::String> {
         155  +
        /* BuilderGenerator.kt:337 */
  106    156   
        &self.first_snapshot_id
         157  +
        /* BuilderGenerator.kt:336 */
  107    158   
    }
  108         -
    /// <p>The token to request the next page of results.</p>
         159  +
    /// /* BuilderGenerator.kt:286 */<p>The token to request the next page of results.</p>
         160  +
    /* BuilderGenerator.kt:291 */
  109    161   
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         162  +
        /* BuilderGenerator.kt:292 */
  110    163   
        self.next_token = ::std::option::Option::Some(input.into());
         164  +
        /* BuilderGenerator.kt:293 */
  111    165   
        self
         166  +
        /* BuilderGenerator.kt:291 */
  112    167   
    }
  113         -
    /// <p>The token to request the next page of results.</p>
         168  +
    /// /* BuilderGenerator.kt:312 */<p>The token to request the next page of results.</p>
         169  +
    /* BuilderGenerator.kt:314 */
  114    170   
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         171  +
        /* BuilderGenerator.kt:315 */
  115    172   
        self.next_token = input;
  116    173   
        self
         174  +
        /* BuilderGenerator.kt:314 */
  117    175   
    }
  118         -
    /// <p>The token to request the next page of results.</p>
         176  +
    /// /* BuilderGenerator.kt:334 */<p>The token to request the next page of results.</p>
         177  +
    /* BuilderGenerator.kt:336 */
  119    178   
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
         179  +
        /* BuilderGenerator.kt:337 */
  120    180   
        &self.next_token
         181  +
        /* BuilderGenerator.kt:336 */
  121    182   
    }
  122         -
    /// <p>The number of results to return.</p>
         183  +
    /// /* BuilderGenerator.kt:286 */<p>The number of results to return.</p>
         184  +
    /* BuilderGenerator.kt:291 */
  123    185   
    pub fn max_results(mut self, input: i32) -> Self {
         186  +
        /* BuilderGenerator.kt:292 */
  124    187   
        self.max_results = ::std::option::Option::Some(input);
         188  +
        /* BuilderGenerator.kt:293 */
  125    189   
        self
         190  +
        /* BuilderGenerator.kt:291 */
  126    191   
    }
  127         -
    /// <p>The number of results to return.</p>
         192  +
    /// /* BuilderGenerator.kt:312 */<p>The number of results to return.</p>
         193  +
    /* BuilderGenerator.kt:314 */
  128    194   
    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
         195  +
        /* BuilderGenerator.kt:315 */
  129    196   
        self.max_results = input;
  130    197   
        self
         198  +
        /* BuilderGenerator.kt:314 */
  131    199   
    }
  132         -
    /// <p>The number of results to return.</p>
         200  +
    /// /* BuilderGenerator.kt:334 */<p>The number of results to return.</p>
         201  +
    /* BuilderGenerator.kt:336 */
  133    202   
    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
         203  +
        /* BuilderGenerator.kt:337 */
  134    204   
        &self.max_results
         205  +
        /* BuilderGenerator.kt:336 */
  135    206   
    }
  136         -
    /// <p>The block index from which the comparison should start.</p>
         207  +
    /// /* BuilderGenerator.kt:286 */<p>The block index from which the comparison should start.</p>
  137    208   
    /// <p>The list in the response will start from this block index or the next valid block index in the snapshots.</p>
         209  +
    /* BuilderGenerator.kt:291 */
  138    210   
    pub fn starting_block_index(mut self, input: i32) -> Self {
         211  +
        /* BuilderGenerator.kt:292 */
  139    212   
        self.starting_block_index = ::std::option::Option::Some(input);
         213  +
        /* BuilderGenerator.kt:293 */
  140    214   
        self
         215  +
        /* BuilderGenerator.kt:291 */
  141    216   
    }
  142         -
    /// <p>The block index from which the comparison should start.</p>
         217  +
    /// /* BuilderGenerator.kt:312 */<p>The block index from which the comparison should start.</p>
  143    218   
    /// <p>The list in the response will start from this block index or the next valid block index in the snapshots.</p>
         219  +
    /* BuilderGenerator.kt:314 */
  144    220   
    pub fn set_starting_block_index(mut self, input: ::std::option::Option<i32>) -> Self {
         221  +
        /* BuilderGenerator.kt:315 */
  145    222   
        self.starting_block_index = input;
  146    223   
        self
         224  +
        /* BuilderGenerator.kt:314 */
  147    225   
    }
  148         -
    /// <p>The block index from which the comparison should start.</p>
         226  +
    /// /* BuilderGenerator.kt:334 */<p>The block index from which the comparison should start.</p>
  149    227   
    /// <p>The list in the response will start from this block index or the next valid block index in the snapshots.</p>
         228  +
    /* BuilderGenerator.kt:336 */
  150    229   
    pub fn get_starting_block_index(&self) -> &::std::option::Option<i32> {
         230  +
        /* BuilderGenerator.kt:337 */
  151    231   
        &self.starting_block_index
         232  +
        /* BuilderGenerator.kt:336 */
  152    233   
    }
  153         -
    /// Consumes the builder and constructs a [`ListChangedBlocksInput`](crate::operation::list_changed_blocks::ListChangedBlocksInput).
         234  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`ListChangedBlocksInput`](crate::operation::list_changed_blocks::ListChangedBlocksInput).
         235  +
    /* BuilderGenerator.kt:253 */
  154    236   
    pub fn build(
  155    237   
        self,
  156    238   
    ) -> ::std::result::Result<crate::operation::list_changed_blocks::ListChangedBlocksInput, ::aws_smithy_types::error::operation::BuildError> {
  157         -
        ::std::result::Result::Ok(crate::operation::list_changed_blocks::ListChangedBlocksInput {
  158         -
            second_snapshot_id: self.second_snapshot_id,
  159         -
            first_snapshot_id: self.first_snapshot_id,
  160         -
            next_token: self.next_token,
  161         -
            max_results: self.max_results,
  162         -
            starting_block_index: self.starting_block_index,
  163         -
        })
         239  +
        /* BuilderGenerator.kt:254 */
         240  +
        ::std::result::Result::Ok(
         241  +
            /* BuilderGenerator.kt:477 */
         242  +
            crate::operation::list_changed_blocks::ListChangedBlocksInput {
         243  +
                /* BuilderGenerator.kt:481 */ second_snapshot_id: self.second_snapshot_id,
         244  +
                /* BuilderGenerator.kt:481 */
         245  +
                first_snapshot_id: self.first_snapshot_id,
         246  +
                /* BuilderGenerator.kt:481 */
         247  +
                next_token: self.next_token,
         248  +
                /* BuilderGenerator.kt:481 */
         249  +
                max_results: self.max_results,
         250  +
                /* BuilderGenerator.kt:481 */
         251  +
                starting_block_index: self.starting_block_index,
         252  +
                /* BuilderGenerator.kt:477 */
         253  +
            }, /* BuilderGenerator.kt:254 */
         254  +
        )
         255  +
        /* BuilderGenerator.kt:253 */
  164    256   
    }
         257  +
    /* BuilderGenerator.kt:355 */
  165    258   
}

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/operation/list_changed_blocks/_list_changed_blocks_output.rs

@@ -1,1 +145,240 @@
    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 ListChangedBlocksOutput {
    6         -
    /// <p>The size of the block.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct ListChangedBlocksOutput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The size of the block.</p>
    7     10   
    pub block_size: ::std::option::Option<i32>,
    8         -
    /// <p>The time when the <code>BlockToken</code> expires.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>The time when the <code>BlockToken</code> expires.</p>
    9     12   
    pub expiry_time: ::std::option::Option<::aws_smithy_types::DateTime>,
   10         -
    /// <p>The size of the volume in GB.</p>
          13  +
    /// /* StructureGenerator.kt:231 */<p>The size of the volume in GB.</p>
   11     14   
    pub volume_size: ::std::option::Option<i64>,
   12         -
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
          15  +
    /// /* StructureGenerator.kt:231 */<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
   13     16   
    pub next_token: ::std::option::Option<::std::string::String>,
   14         -
    /// <p>An array of objects containing information about the changed blocks.</p>
          17  +
    /// /* StructureGenerator.kt:231 */<p>An array of objects containing information about the changed blocks.</p>
   15     18   
    pub changed_blocks: ::std::option::Option<::std::vec::Vec<crate::types::ChangedBlock>>,
          19  +
    /* StructureGenerator.kt:201 */
   16     20   
}
          21  +
/* StructureGenerator.kt:135 */
   17     22   
impl ListChangedBlocksOutput {
   18         -
    /// <p>The size of the block.</p>
          23  +
    /// /* StructureGenerator.kt:231 */<p>The size of the block.</p>
          24  +
    /* StructureGenerator.kt:166 */
   19     25   
    pub fn block_size(&self) -> ::std::option::Option<i32> {
          26  +
        /* StructureGenerator.kt:168 */
   20     27   
        self.block_size
          28  +
        /* StructureGenerator.kt:166 */
   21     29   
    }
   22         -
    /// <p>The time when the <code>BlockToken</code> expires.</p>
          30  +
    /// /* StructureGenerator.kt:231 */<p>The time when the <code>BlockToken</code> expires.</p>
          31  +
    /* StructureGenerator.kt:166 */
   23     32   
    pub fn expiry_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          33  +
        /* StructureGenerator.kt:170 */
   24     34   
        self.expiry_time.as_ref()
          35  +
        /* StructureGenerator.kt:166 */
   25     36   
    }
   26         -
    /// <p>The size of the volume in GB.</p>
          37  +
    /// /* StructureGenerator.kt:231 */<p>The size of the volume in GB.</p>
          38  +
    /* StructureGenerator.kt:166 */
   27     39   
    pub fn volume_size(&self) -> ::std::option::Option<i64> {
          40  +
        /* StructureGenerator.kt:168 */
   28     41   
        self.volume_size
          42  +
        /* StructureGenerator.kt:166 */
   29     43   
    }
   30         -
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
          44  +
    /// /* StructureGenerator.kt:231 */<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
          45  +
    /* StructureGenerator.kt:166 */
   31     46   
    pub fn next_token(&self) -> ::std::option::Option<&str> {
          47  +
        /* StructureGenerator.kt:169 */
   32     48   
        self.next_token.as_deref()
          49  +
        /* StructureGenerator.kt:166 */
   33     50   
    }
   34         -
    /// <p>An array of objects containing information about the changed blocks.</p>
   35         -
    ///
   36         -
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.changed_blocks.is_none()`.
          51  +
    /// /* StructureGenerator.kt:231 */<p>An array of objects containing information about the changed blocks.</p>
          52  +
    /// /* StructureGenerator.kt:162 */
          53  +
    /// /* StructureGenerator.kt:163 */If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.changed_blocks.is_none()`.
          54  +
    /* StructureGenerator.kt:166 */
   37     55   
    pub fn changed_blocks(&self) -> &[crate::types::ChangedBlock] {
   38         -
        self.changed_blocks.as_deref().unwrap_or_default()
   39         -
    }
          56  +
        /* StructureGenerator.kt:169 */
          57  +
        self.changed_blocks
          58  +
            .as_deref()
          59  +
            /* StructureGenerator.kt:175 */
          60  +
            .unwrap_or_default()
          61  +
        /* StructureGenerator.kt:166 */
          62  +
    }
          63  +
    /* StructureGenerator.kt:135 */
   40     64   
}
          65  +
/* ClientCodegenVisitor.kt:237 */
   41     66   
impl ListChangedBlocksOutput {
   42         -
    /// Creates a new builder-style object to manufacture [`ListChangedBlocksOutput`](crate::operation::list_changed_blocks::ListChangedBlocksOutput).
          67  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`ListChangedBlocksOutput`](crate::operation::list_changed_blocks::ListChangedBlocksOutput).
          68  +
    /* BuilderGenerator.kt:175 */
   43     69   
    pub fn builder() -> crate::operation::list_changed_blocks::builders::ListChangedBlocksOutputBuilder {
          70  +
        /* BuilderGenerator.kt:176 */
   44     71   
        crate::operation::list_changed_blocks::builders::ListChangedBlocksOutputBuilder::default()
          72  +
        /* BuilderGenerator.kt:175 */
   45     73   
    }
          74  +
    /* ClientCodegenVisitor.kt:237 */
   46     75   
}
   47     76   
   48         -
/// A builder for [`ListChangedBlocksOutput`](crate::operation::list_changed_blocks::ListChangedBlocksOutput).
          77  +
/// /* BuilderGenerator.kt:342 */A builder for [`ListChangedBlocksOutput`](crate::operation::list_changed_blocks::ListChangedBlocksOutput).
          78  +
/* RustType.kt:516 */
   49     79   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          80  +
/* RustType.kt:516 */
   50     81   
#[non_exhaustive]
          82  +
/* BuilderGenerator.kt:345 */
   51     83   
pub struct ListChangedBlocksOutputBuilder {
   52         -
    pub(crate) block_size: ::std::option::Option<i32>,
   53         -
    pub(crate) expiry_time: ::std::option::Option<::aws_smithy_types::DateTime>,
   54         -
    pub(crate) volume_size: ::std::option::Option<i64>,
   55         -
    pub(crate) next_token: ::std::option::Option<::std::string::String>,
          84  +
    /* BuilderGenerator.kt:275 */ pub(crate) block_size: ::std::option::Option<i32>,
          85  +
    /* BuilderGenerator.kt:275 */ pub(crate) expiry_time: ::std::option::Option<::aws_smithy_types::DateTime>,
          86  +
    /* BuilderGenerator.kt:275 */ pub(crate) volume_size: ::std::option::Option<i64>,
          87  +
    /* BuilderGenerator.kt:275 */ pub(crate) next_token: ::std::option::Option<::std::string::String>,
          88  +
    /* BuilderGenerator.kt:275 */
   56     89   
    pub(crate) changed_blocks: ::std::option::Option<::std::vec::Vec<crate::types::ChangedBlock>>,
          90  +
    /* BuilderGenerator.kt:345 */
   57     91   
}
          92  +
/* BuilderGenerator.kt:355 */
   58     93   
impl ListChangedBlocksOutputBuilder {
   59         -
    /// <p>The size of the block.</p>
          94  +
    /// /* BuilderGenerator.kt:286 */<p>The size of the block.</p>
          95  +
    /* BuilderGenerator.kt:291 */
   60     96   
    pub fn block_size(mut self, input: i32) -> Self {
          97  +
        /* BuilderGenerator.kt:292 */
   61     98   
        self.block_size = ::std::option::Option::Some(input);
          99  +
        /* BuilderGenerator.kt:293 */
   62    100   
        self
         101  +
        /* BuilderGenerator.kt:291 */
   63    102   
    }
   64         -
    /// <p>The size of the block.</p>
         103  +
    /// /* BuilderGenerator.kt:312 */<p>The size of the block.</p>
         104  +
    /* BuilderGenerator.kt:314 */
   65    105   
    pub fn set_block_size(mut self, input: ::std::option::Option<i32>) -> Self {
         106  +
        /* BuilderGenerator.kt:315 */
   66    107   
        self.block_size = input;
   67    108   
        self
         109  +
        /* BuilderGenerator.kt:314 */
   68    110   
    }
   69         -
    /// <p>The size of the block.</p>
         111  +
    /// /* BuilderGenerator.kt:334 */<p>The size of the block.</p>
         112  +
    /* BuilderGenerator.kt:336 */
   70    113   
    pub fn get_block_size(&self) -> &::std::option::Option<i32> {
         114  +
        /* BuilderGenerator.kt:337 */
   71    115   
        &self.block_size
         116  +
        /* BuilderGenerator.kt:336 */
   72    117   
    }
   73         -
    /// <p>The time when the <code>BlockToken</code> expires.</p>
         118  +
    /// /* BuilderGenerator.kt:286 */<p>The time when the <code>BlockToken</code> expires.</p>
         119  +
    /* BuilderGenerator.kt:291 */
   74    120   
    pub fn expiry_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         121  +
        /* BuilderGenerator.kt:292 */
   75    122   
        self.expiry_time = ::std::option::Option::Some(input);
         123  +
        /* BuilderGenerator.kt:293 */
   76    124   
        self
         125  +
        /* BuilderGenerator.kt:291 */
   77    126   
    }
   78         -
    /// <p>The time when the <code>BlockToken</code> expires.</p>
         127  +
    /// /* BuilderGenerator.kt:312 */<p>The time when the <code>BlockToken</code> expires.</p>
         128  +
    /* BuilderGenerator.kt:314 */
   79    129   
    pub fn set_expiry_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         130  +
        /* BuilderGenerator.kt:315 */
   80    131   
        self.expiry_time = input;
   81    132   
        self
         133  +
        /* BuilderGenerator.kt:314 */
   82    134   
    }
   83         -
    /// <p>The time when the <code>BlockToken</code> expires.</p>
         135  +
    /// /* BuilderGenerator.kt:334 */<p>The time when the <code>BlockToken</code> expires.</p>
         136  +
    /* BuilderGenerator.kt:336 */
   84    137   
    pub fn get_expiry_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         138  +
        /* BuilderGenerator.kt:337 */
   85    139   
        &self.expiry_time
         140  +
        /* BuilderGenerator.kt:336 */
   86    141   
    }
   87         -
    /// <p>The size of the volume in GB.</p>
         142  +
    /// /* BuilderGenerator.kt:286 */<p>The size of the volume in GB.</p>
         143  +
    /* BuilderGenerator.kt:291 */
   88    144   
    pub fn volume_size(mut self, input: i64) -> Self {
         145  +
        /* BuilderGenerator.kt:292 */
   89    146   
        self.volume_size = ::std::option::Option::Some(input);
         147  +
        /* BuilderGenerator.kt:293 */
   90    148   
        self
         149  +
        /* BuilderGenerator.kt:291 */
   91    150   
    }
   92         -
    /// <p>The size of the volume in GB.</p>
         151  +
    /// /* BuilderGenerator.kt:312 */<p>The size of the volume in GB.</p>
         152  +
    /* BuilderGenerator.kt:314 */
   93    153   
    pub fn set_volume_size(mut self, input: ::std::option::Option<i64>) -> Self {
         154  +
        /* BuilderGenerator.kt:315 */
   94    155   
        self.volume_size = input;
   95    156   
        self
         157  +
        /* BuilderGenerator.kt:314 */
   96    158   
    }
   97         -
    /// <p>The size of the volume in GB.</p>
         159  +
    /// /* BuilderGenerator.kt:334 */<p>The size of the volume in GB.</p>
         160  +
    /* BuilderGenerator.kt:336 */
   98    161   
    pub fn get_volume_size(&self) -> &::std::option::Option<i64> {
         162  +
        /* BuilderGenerator.kt:337 */
   99    163   
        &self.volume_size
         164  +
        /* BuilderGenerator.kt:336 */
  100    165   
    }
  101         -
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
         166  +
    /// /* BuilderGenerator.kt:286 */<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
         167  +
    /* BuilderGenerator.kt:291 */
  102    168   
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         169  +
        /* BuilderGenerator.kt:292 */
  103    170   
        self.next_token = ::std::option::Option::Some(input.into());
         171  +
        /* BuilderGenerator.kt:293 */
  104    172   
        self
         173  +
        /* BuilderGenerator.kt:291 */
  105    174   
    }
  106         -
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
         175  +
    /// /* BuilderGenerator.kt:312 */<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
         176  +
    /* BuilderGenerator.kt:314 */
  107    177   
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         178  +
        /* BuilderGenerator.kt:315 */
  108    179   
        self.next_token = input;
  109    180   
        self
         181  +
        /* BuilderGenerator.kt:314 */
  110    182   
    }
  111         -
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
         183  +
    /// /* BuilderGenerator.kt:334 */<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
         184  +
    /* BuilderGenerator.kt:336 */
  112    185   
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
         186  +
        /* BuilderGenerator.kt:337 */
  113    187   
        &self.next_token
         188  +
        /* BuilderGenerator.kt:336 */
  114    189   
    }
  115         -
    /// Appends an item to `changed_blocks`.
         190  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `changed_blocks`.
         191  +
    /* BuilderGenerator.kt:411 */
  116    192   
    ///
  117         -
    /// To override the contents of this collection use [`set_changed_blocks`](Self::set_changed_blocks).
         193  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_changed_blocks`](Self::set_changed_blocks).
         194  +
    /* BuilderGenerator.kt:413 */
  118    195   
    ///
  119         -
    /// <p>An array of objects containing information about the changed blocks.</p>
         196  +
    /// /* BuilderGenerator.kt:414 */<p>An array of objects containing information about the changed blocks.</p>
         197  +
    /* BuilderGenerator.kt:418 */
  120    198   
    pub fn changed_blocks(mut self, input: crate::types::ChangedBlock) -> Self {
         199  +
        /* BuilderGenerator.kt:419 */
  121    200   
        let mut v = self.changed_blocks.unwrap_or_default();
  122    201   
        v.push(input);
  123    202   
        self.changed_blocks = ::std::option::Option::Some(v);
  124    203   
        self
         204  +
        /* BuilderGenerator.kt:418 */
  125    205   
    }
  126         -
    /// <p>An array of objects containing information about the changed blocks.</p>
         206  +
    /// /* BuilderGenerator.kt:312 */<p>An array of objects containing information about the changed blocks.</p>
         207  +
    /* BuilderGenerator.kt:314 */
  127    208   
    pub fn set_changed_blocks(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ChangedBlock>>) -> Self {
         209  +
        /* BuilderGenerator.kt:315 */
  128    210   
        self.changed_blocks = input;
  129    211   
        self
         212  +
        /* BuilderGenerator.kt:314 */
  130    213   
    }
  131         -
    /// <p>An array of objects containing information about the changed blocks.</p>
         214  +
    /// /* BuilderGenerator.kt:334 */<p>An array of objects containing information about the changed blocks.</p>
         215  +
    /* BuilderGenerator.kt:336 */
  132    216   
    pub fn get_changed_blocks(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ChangedBlock>> {
         217  +
        /* BuilderGenerator.kt:337 */
  133    218   
        &self.changed_blocks
         219  +
        /* BuilderGenerator.kt:336 */
  134    220   
    }
  135         -
    /// Consumes the builder and constructs a [`ListChangedBlocksOutput`](crate::operation::list_changed_blocks::ListChangedBlocksOutput).
         221  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`ListChangedBlocksOutput`](crate::operation::list_changed_blocks::ListChangedBlocksOutput).
         222  +
    /* BuilderGenerator.kt:253 */
  136    223   
    pub fn build(self) -> crate::operation::list_changed_blocks::ListChangedBlocksOutput {
         224  +
        /* BuilderGenerator.kt:477 */
  137    225   
        crate::operation::list_changed_blocks::ListChangedBlocksOutput {
  138         -
            block_size: self.block_size,
         226  +
            /* BuilderGenerator.kt:481 */ block_size: self.block_size,
         227  +
            /* BuilderGenerator.kt:481 */
  139    228   
            expiry_time: self.expiry_time,
         229  +
            /* BuilderGenerator.kt:481 */
  140    230   
            volume_size: self.volume_size,
         231  +
            /* BuilderGenerator.kt:481 */
  141    232   
            next_token: self.next_token,
         233  +
            /* BuilderGenerator.kt:481 */
  142    234   
            changed_blocks: self.changed_blocks,
         235  +
            /* BuilderGenerator.kt:477 */
  143    236   
        }
         237  +
        /* BuilderGenerator.kt:253 */
  144    238   
    }
         239  +
    /* BuilderGenerator.kt:355 */
  145    240   
}

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/operation/list_changed_blocks/builders.rs

@@ -1,1 +202,230 @@
    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::list_changed_blocks::_list_changed_blocks_output::ListChangedBlocksOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::list_changed_blocks::_list_changed_blocks_input::ListChangedBlocksInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::list_changed_blocks::builders::ListChangedBlocksInputBuilder {
    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::list_changed_blocks::ListChangedBlocksOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::list_changed_blocks::ListChangedBlocksError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.list_changed_blocks();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `ListChangedBlocks`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `ListChangedBlocks`.
   24     27   
///
   25         -
/// <p>Returns information about the blocks that are different between two Amazon Elastic Block Store snapshots of the same volume/snapshot lineage.</p>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p>Returns information about the blocks that are different between two Amazon Elastic Block Store snapshots of the same volume/snapshot lineage.</p>
          29  +
/* RustType.kt:516 */
   26     30   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          31  +
/* FluentBuilderGenerator.kt:270 */
   27     32   
pub struct ListChangedBlocksFluentBuilder {
   28     33   
    handle: ::std::sync::Arc<crate::client::Handle>,
   29     34   
    inner: crate::operation::list_changed_blocks::builders::ListChangedBlocksInputBuilder,
   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::list_changed_blocks::ListChangedBlocksOutput,
   35     41   
        crate::operation::list_changed_blocks::ListChangedBlocksError,
   36     42   
    > for ListChangedBlocksFluentBuilder
   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::list_changed_blocks::ListChangedBlocksOutput,
   44     50   
            crate::operation::list_changed_blocks::ListChangedBlocksError,
   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 ListChangedBlocksFluentBuilder {
          58  +
    /* FluentBuilderGenerator.kt:288 */
   51     59   
    /// Creates a new `ListChangedBlocksFluentBuilder`.
   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 ListChangedBlocks as a reference.
   60     69   
    pub fn as_input(&self) -> &crate::operation::list_changed_blocks::builders::ListChangedBlocksInputBuilder {
   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::list_changed_blocks::ListChangedBlocksOutput,
   75     85   
        ::aws_smithy_runtime_api::client::result::SdkError<
   76     86   
            crate::operation::list_changed_blocks::ListChangedBlocksError,
   77     87   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   78     88   
        >,
   79     89   
    > {
   80     90   
        let input = self
   81     91   
            .inner
   82     92   
            .build()
   83     93   
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
   84     94   
        let runtime_plugins = crate::operation::list_changed_blocks::ListChangedBlocks::operation_runtime_plugins(
   85     95   
            self.handle.runtime_plugins.clone(),
   86     96   
            &self.handle.conf,
   87     97   
            self.config_override,
   88     98   
        );
   89     99   
        crate::operation::list_changed_blocks::ListChangedBlocks::orchestrate(&runtime_plugins, input).await
   90    100   
    }
   91    101   
   92    102   
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
   93    103   
    pub fn customize(
   94    104   
        self,
   95    105   
    ) -> crate::client::customize::CustomizableOperation<
   96    106   
        crate::operation::list_changed_blocks::ListChangedBlocksOutput,
   97    107   
        crate::operation::list_changed_blocks::ListChangedBlocksError,
   98    108   
        Self,
   99    109   
    > {
  100    110   
        crate::client::customize::CustomizableOperation::new(self)
  101    111   
    }
         112  +
    /* FluentBuilderGenerator.kt:315 */
  102    113   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
  103    114   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
  104    115   
        self
  105    116   
    }
  106    117   
  107    118   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  108    119   
        self.config_override = config_override;
  109    120   
        self
  110    121   
    }
         122  +
    /* FluentBuilderGenerator.kt:340 */
  111    123   
    /// Create a paginator for this request
  112    124   
    ///
  113    125   
    /// Paginators are used by calling [`send().await`](crate::operation::list_changed_blocks::paginator::ListChangedBlocksPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
  114    126   
    pub fn into_paginator(self) -> crate::operation::list_changed_blocks::paginator::ListChangedBlocksPaginator {
  115    127   
        crate::operation::list_changed_blocks::paginator::ListChangedBlocksPaginator::new(self.handle, self.inner)
  116    128   
    }
  117         -
    /// <p>The ID of the second snapshot to use for the comparison.</p><important>
         129  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The ID of the second snapshot to use for the comparison.</p><important>
  118    130   
    /// <p>The <code>SecondSnapshotId</code> parameter must be specified with a <code>FirstSnapshotID</code> parameter; otherwise, an error occurs.</p>
  119    131   
    /// </important>
         132  +
    /* FluentBuilderGenerator.kt:500 */
  120    133   
    pub fn second_snapshot_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  121    134   
        self.inner = self.inner.second_snapshot_id(input.into());
  122    135   
        self
  123    136   
    }
  124         -
    /// <p>The ID of the second snapshot to use for the comparison.</p><important>
         137  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The ID of the second snapshot to use for the comparison.</p><important>
  125    138   
    /// <p>The <code>SecondSnapshotId</code> parameter must be specified with a <code>FirstSnapshotID</code> parameter; otherwise, an error occurs.</p>
  126    139   
    /// </important>
         140  +
    /* FluentBuilderGenerator.kt:500 */
  127    141   
    pub fn set_second_snapshot_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  128    142   
        self.inner = self.inner.set_second_snapshot_id(input);
  129    143   
        self
  130    144   
    }
  131         -
    /// <p>The ID of the second snapshot to use for the comparison.</p><important>
         145  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The ID of the second snapshot to use for the comparison.</p><important>
  132    146   
    /// <p>The <code>SecondSnapshotId</code> parameter must be specified with a <code>FirstSnapshotID</code> parameter; otherwise, an error occurs.</p>
  133    147   
    /// </important>
         148  +
    /* FluentBuilderGenerator.kt:520 */
  134    149   
    pub fn get_second_snapshot_id(&self) -> &::std::option::Option<::std::string::String> {
  135    150   
        self.inner.get_second_snapshot_id()
  136    151   
    }
  137         -
    /// <p>The ID of the first snapshot to use for the comparison.</p><important>
         152  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The ID of the first snapshot to use for the comparison.</p><important>
  138    153   
    /// <p>The <code>FirstSnapshotID</code> parameter must be specified with a <code>SecondSnapshotId</code> parameter; otherwise, an error occurs.</p>
  139    154   
    /// </important>
         155  +
    /* FluentBuilderGenerator.kt:500 */
  140    156   
    pub fn first_snapshot_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  141    157   
        self.inner = self.inner.first_snapshot_id(input.into());
  142    158   
        self
  143    159   
    }
  144         -
    /// <p>The ID of the first snapshot to use for the comparison.</p><important>
         160  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The ID of the first snapshot to use for the comparison.</p><important>
  145    161   
    /// <p>The <code>FirstSnapshotID</code> parameter must be specified with a <code>SecondSnapshotId</code> parameter; otherwise, an error occurs.</p>
  146    162   
    /// </important>
         163  +
    /* FluentBuilderGenerator.kt:500 */
  147    164   
    pub fn set_first_snapshot_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  148    165   
        self.inner = self.inner.set_first_snapshot_id(input);
  149    166   
        self
  150    167   
    }
  151         -
    /// <p>The ID of the first snapshot to use for the comparison.</p><important>
         168  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The ID of the first snapshot to use for the comparison.</p><important>
  152    169   
    /// <p>The <code>FirstSnapshotID</code> parameter must be specified with a <code>SecondSnapshotId</code> parameter; otherwise, an error occurs.</p>
  153    170   
    /// </important>
         171  +
    /* FluentBuilderGenerator.kt:520 */
  154    172   
    pub fn get_first_snapshot_id(&self) -> &::std::option::Option<::std::string::String> {
  155    173   
        self.inner.get_first_snapshot_id()
  156    174   
    }
  157         -
    /// <p>The token to request the next page of results.</p>
         175  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The token to request the next page of results.</p>
         176  +
    /* FluentBuilderGenerator.kt:500 */
  158    177   
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  159    178   
        self.inner = self.inner.next_token(input.into());
  160    179   
        self
  161    180   
    }
  162         -
    /// <p>The token to request the next page of results.</p>
         181  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The token to request the next page of results.</p>
         182  +
    /* FluentBuilderGenerator.kt:500 */
  163    183   
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  164    184   
        self.inner = self.inner.set_next_token(input);
  165    185   
        self
  166    186   
    }
  167         -
    /// <p>The token to request the next page of results.</p>
         187  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The token to request the next page of results.</p>
         188  +
    /* FluentBuilderGenerator.kt:520 */
  168    189   
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
  169    190   
        self.inner.get_next_token()
  170    191   
    }
  171         -
    /// <p>The number of results to return.</p>
         192  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The number of results to return.</p>
         193  +
    /* FluentBuilderGenerator.kt:500 */
  172    194   
    pub fn max_results(mut self, input: i32) -> Self {
  173    195   
        self.inner = self.inner.max_results(input);
  174    196   
        self
  175    197   
    }
  176         -
    /// <p>The number of results to return.</p>
         198  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The number of results to return.</p>
         199  +
    /* FluentBuilderGenerator.kt:500 */
  177    200   
    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
  178    201   
        self.inner = self.inner.set_max_results(input);
  179    202   
        self
  180    203   
    }
  181         -
    /// <p>The number of results to return.</p>
         204  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The number of results to return.</p>
         205  +
    /* FluentBuilderGenerator.kt:520 */
  182    206   
    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
  183    207   
        self.inner.get_max_results()
  184    208   
    }
  185         -
    /// <p>The block index from which the comparison should start.</p>
         209  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The block index from which the comparison should start.</p>
  186    210   
    /// <p>The list in the response will start from this block index or the next valid block index in the snapshots.</p>
         211  +
    /* FluentBuilderGenerator.kt:500 */
  187    212   
    pub fn starting_block_index(mut self, input: i32) -> Self {
  188    213   
        self.inner = self.inner.starting_block_index(input);
  189    214   
        self
  190    215   
    }
  191         -
    /// <p>The block index from which the comparison should start.</p>
         216  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The block index from which the comparison should start.</p>
  192    217   
    /// <p>The list in the response will start from this block index or the next valid block index in the snapshots.</p>
         218  +
    /* FluentBuilderGenerator.kt:500 */
  193    219   
    pub fn set_starting_block_index(mut self, input: ::std::option::Option<i32>) -> Self {
  194    220   
        self.inner = self.inner.set_starting_block_index(input);
  195    221   
        self
  196    222   
    }
  197         -
    /// <p>The block index from which the comparison should start.</p>
         223  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The block index from which the comparison should start.</p>
  198    224   
    /// <p>The list in the response will start from this block index or the next valid block index in the snapshots.</p>
         225  +
    /* FluentBuilderGenerator.kt:520 */
  199    226   
    pub fn get_starting_block_index(&self) -> &::std::option::Option<i32> {
  200    227   
        self.inner.get_starting_block_index()
  201    228   
    }
         229  +
    /* FluentBuilderGenerator.kt:282 */
  202    230   
}

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/operation/list_changed_blocks/paginator.rs

@@ -1,1 +31,32 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* PaginatorGenerator.kt:121 */
    2      3   
/// Paginator for [`ListChangedBlocks`](crate::operation::list_changed_blocks::ListChangedBlocks)
    3      4   
pub struct ListChangedBlocksPaginator {
    4      5   
    handle: std::sync::Arc<crate::client::Handle>,
    5      6   
    builder: crate::operation::list_changed_blocks::builders::ListChangedBlocksInputBuilder,
    6      7   
    stop_on_duplicate_token: bool,
    7      8   
}
    8      9   
    9     10   
impl ListChangedBlocksPaginator {
   10     11   
    /// Create a new paginator-wrapper
   11     12   
    pub(crate) fn new(

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/operation/list_snapshot_blocks.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 `ListSnapshotBlocks`.
           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 ListSnapshotBlocks;
          10  +
/* OperationGenerator.kt:85 */
    6     11   
impl ListSnapshotBlocks {
    7         -
    /// Creates a new `ListSnapshotBlocks`
          12  +
    /// /* OperationGenerator.kt:86 */Creates a new `ListSnapshotBlocks`
          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::list_snapshot_blocks::ListSnapshotBlocksInput,
   14     23   
    ) -> ::std::result::Result<
   15     24   
        crate::operation::list_snapshot_blocks::ListSnapshotBlocksOutput,
   16     25   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     26   
            crate::operation::list_snapshot_blocks::ListSnapshotBlocksError,
   18     27   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     28   
        >,
   20     29   
    > {
@@ -57,66 +178,191 @@
   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 ListSnapshotBlocks {
   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("ListSnapshotBlocks");
   91    102   
   92    103   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
   93    104   
            ListSnapshotBlocksRequestSerializer,
   94    105   
        ));
   95    106   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
   96    107   
            ListSnapshotBlocksResponseDeserializer,
   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::SensitiveOutput);
  104    115   
        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new("ListSnapshotBlocks", "EBS"));
  105    116   
  106    117   
        ::std::option::Option::Some(cfg.freeze())
  107    118   
    }
  108    119   
  109    120   
    fn runtime_components(
  110    121   
        &self,
  111    122   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
  112    123   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
  113    124   
        #[allow(unused_mut)]
  114    125   
        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("ListSnapshotBlocks")
  115    126   
            .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default())
  116    127   
            .with_interceptor(ListSnapshotBlocksEndpointParamsInterceptor)
  117    128   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
  118    129   
                crate::operation::list_snapshot_blocks::ListSnapshotBlocksError,
  119    130   
            >::new())
  120    131   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
  121    132   
                crate::operation::list_snapshot_blocks::ListSnapshotBlocksError,
  122    133   
            >::new());
  123    134   
  124    135   
        ::std::borrow::Cow::Owned(rcb)
  125    136   
    }
  126    137   
}
  127    138   
         139  +
/* ResponseDeserializerGenerator.kt:64 */
  128    140   
#[derive(Debug)]
  129    141   
struct ListSnapshotBlocksResponseDeserializer;
  130    142   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for ListSnapshotBlocksResponseDeserializer {
  131    143   
    fn deserialize_nonstreaming(
  132    144   
        &self,
  133    145   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  134    146   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  135    147   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  136    148   
        let headers = response.headers();
  137    149   
        let body = response.body().bytes().expect("body loaded");
  138    150   
        #[allow(unused_mut)]
  139    151   
        let mut force_error = false;
  140    152   
  141    153   
        let parse_result = if !success && status != 200 || force_error {
  142    154   
            crate::protocol_serde::shape_list_snapshot_blocks::de_list_snapshot_blocks_http_error(status, headers, body)
  143    155   
        } else {
  144    156   
            crate::protocol_serde::shape_list_snapshot_blocks::de_list_snapshot_blocks_http_response(status, headers, body)
  145    157   
        };
  146    158   
        crate::protocol_serde::type_erase_result(parse_result)
  147    159   
    }
  148    160   
}
         161  +
/* RequestSerializerGenerator.kt:67 */
  149    162   
#[derive(Debug)]
  150    163   
struct ListSnapshotBlocksRequestSerializer;
  151    164   
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for ListSnapshotBlocksRequestSerializer {
  152    165   
    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
  153    166   
    fn serialize_input(
  154    167   
        &self,
  155    168   
        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
  156    169   
        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  157    170   
    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
  158    171   
        let input = input
@@ -195,208 +420,634 @@
  215    228   
                ::std::result::Result::Ok(builder.method("GET").uri(uri))
  216    229   
            }
  217    230   
            let mut builder = update_http_builder(&input, ::http::request::Builder::new())?;
  218    231   
            builder
  219    232   
        };
  220    233   
        let body = ::aws_smithy_types::body::SdkBody::from("");
  221    234   
  222    235   
        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
  223    236   
    }
  224    237   
}
         238  +
/* EndpointParamsInterceptorGenerator.kt:86 */
  225    239   
#[derive(Debug)]
  226    240   
struct ListSnapshotBlocksEndpointParamsInterceptor;
  227    241   
  228    242   
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for ListSnapshotBlocksEndpointParamsInterceptor {
  229    243   
    fn name(&self) -> &'static str {
  230    244   
        "ListSnapshotBlocksEndpointParamsInterceptor"
  231    245   
    }
  232    246   
  233    247   
    fn read_before_execution(
  234    248   
        &self,
  235    249   
        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
  236    250   
            '_,
  237    251   
            ::aws_smithy_runtime_api::client::interceptors::context::Input,
  238    252   
            ::aws_smithy_runtime_api::client::interceptors::context::Output,
  239    253   
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
  240    254   
        >,
  241    255   
        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  242    256   
    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
  243    257   
        let _input = context
  244    258   
            .input()
  245    259   
            .downcast_ref::<ListSnapshotBlocksInput>()
  246    260   
            .ok_or("failed to downcast to ListSnapshotBlocksInput")?;
  247    261   
  248    262   
        let params = crate::config::endpoint::Params::builder().build().map_err(|err| {
  249    263   
            ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  250    264   
        })?;
  251    265   
        cfg.interceptor_state()
  252    266   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  253    267   
        ::std::result::Result::Ok(())
  254    268   
    }
  255    269   
}
  256    270   
  257    271   
// The get_* functions below are generated from JMESPath expressions in the
  258    272   
// operationContextParams trait. They target the operation's input shape.
  259    273   
         274  +
/* OperationErrorGenerator.kt:79 */
  260    275   
/// Error type for the `ListSnapshotBlocksError` operation.
         276  +
/* RustType.kt:516 */
  261    277   
#[non_exhaustive]
         278  +
/* RustType.kt:516 */
  262    279   
#[derive(::std::fmt::Debug)]
  263         -
pub enum ListSnapshotBlocksError {
  264         -
    /// <p>You do not have sufficient access to perform this action.</p>
         280  +
pub /* OperationErrorGenerator.kt:81 */ enum ListSnapshotBlocksError {
         281  +
    /// /* OperationErrorGenerator.kt:83 */<p>You do not have sufficient access to perform this action.</p>
         282  +
    /* OperationErrorGenerator.kt:86 */
  265    283   
    AccessDeniedError(crate::types::error::AccessDeniedError),
  266         -
    /// <p>An internal error has occurred.</p>
         284  +
    /// /* OperationErrorGenerator.kt:83 */<p>An internal error has occurred.</p>
         285  +
    /* OperationErrorGenerator.kt:86 */
  267    286   
    InternalServerError(crate::types::error::InternalServerError),
  268         -
    /// <p>The number of API requests has exceed the maximum allowed API request throttling limit.</p>
         287  +
    /// /* OperationErrorGenerator.kt:83 */<p>The number of API requests has exceed the maximum allowed API request throttling limit.</p>
         288  +
    /* OperationErrorGenerator.kt:86 */
  269    289   
    RequestThrottledError(crate::types::error::RequestThrottledError),
  270         -
    /// <p>The specified resource does not exist.</p>
         290  +
    /// /* OperationErrorGenerator.kt:83 */<p>The specified resource does not exist.</p>
         291  +
    /* OperationErrorGenerator.kt:86 */
  271    292   
    ResourceNotFoundError(crate::types::error::ResourceNotFoundError),
  272         -
    /// <p>Your current service quotas do not allow you to perform this action.</p>
         293  +
    /// /* OperationErrorGenerator.kt:83 */<p>Your current service quotas do not allow you to perform this action.</p>
         294  +
    /* OperationErrorGenerator.kt:86 */
  273    295   
    ServiceQuotaExceededError(crate::types::error::ServiceQuotaExceededError),
  274         -
    /// <p>The input fails to satisfy the constraints of the EBS direct APIs.</p>
         296  +
    /// /* OperationErrorGenerator.kt:83 */<p>The input fails to satisfy the constraints of the EBS direct APIs.</p>
         297  +
    /* OperationErrorGenerator.kt:86 */
  275    298   
    ValidationError(crate::types::error::ValidationError),
         299  +
    /* OperationErrorGenerator.kt:88 */
  276    300   
    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
  277    301   
    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
  278    302   
    variable wildcard pattern and check `.code()`:
  279    303   
     \
  280    304   
    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
  281    305   
     \
  282    306   
    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-ListSnapshotBlocksError) for what information is available for the error.")]
  283    307   
    Unhandled(crate::error::sealed_unhandled::Unhandled),
         308  +
    /* OperationErrorGenerator.kt:81 */
  284    309   
}
         310  +
/* OperationErrorGenerator.kt:218 */
  285    311   
impl ListSnapshotBlocksError {
         312  +
    /* OperationErrorGenerator.kt:219 */
  286    313   
    /// Creates the `ListSnapshotBlocksError::Unhandled` variant from any error type.
  287    314   
    pub fn unhandled(
  288    315   
        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
  289    316   
    ) -> Self {
  290    317   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  291    318   
            source: err.into(),
  292    319   
            meta: ::std::default::Default::default(),
  293    320   
        })
  294    321   
    }
  295    322   
  296    323   
    /// Creates the `ListSnapshotBlocksError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
  297    324   
    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
  298    325   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  299    326   
            source: err.clone().into(),
  300    327   
            meta: err,
  301    328   
        })
  302    329   
    }
  303         -
    ///
         330  +
    /// /* OperationErrorGenerator.kt:236 */
  304    331   
    /// Returns error metadata, which includes the error code, message,
  305    332   
    /// request ID, and potentially additional information.
  306    333   
    ///
         334  +
    /* OperationErrorGenerator.kt:242 */
  307    335   
    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         336  +
        /* OperationErrorGenerator.kt:243 */
  308    337   
        match self {
         338  +
            /* OperationErrorGenerator.kt:246 */
  309    339   
            Self::AccessDeniedError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         340  +
            /* OperationErrorGenerator.kt:246 */
  310    341   
            Self::InternalServerError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         342  +
            /* OperationErrorGenerator.kt:246 */
  311    343   
            Self::RequestThrottledError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         344  +
            /* OperationErrorGenerator.kt:246 */
  312    345   
            Self::ResourceNotFoundError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         346  +
            /* OperationErrorGenerator.kt:246 */
  313    347   
            Self::ServiceQuotaExceededError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
  314         -
            Self::ValidationError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
  315         -
            Self::Unhandled(e) => &e.meta,
         348  +
            /* OperationErrorGenerator.kt:246 */ Self::ValidationError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         349  +
            /* OperationErrorGenerator.kt:251 */ Self::Unhandled(e) => &e.meta,
         350  +
            /* OperationErrorGenerator.kt:243 */
  316    351   
        }
         352  +
        /* OperationErrorGenerator.kt:242 */
  317    353   
    }
         354  +
    /* OperationErrorGenerator.kt:257 */
  318    355   
    /// Returns `true` if the error kind is `ListSnapshotBlocksError::AccessDeniedError`.
         356  +
    /* OperationErrorGenerator.kt:258 */
  319    357   
    pub fn is_access_denied_error(&self) -> bool {
         358  +
        /* OperationErrorGenerator.kt:259 */
  320    359   
        matches!(self, Self::AccessDeniedError(_))
         360  +
        /* OperationErrorGenerator.kt:258 */
  321    361   
    }
         362  +
    /* OperationErrorGenerator.kt:257 */
  322    363   
    /// Returns `true` if the error kind is `ListSnapshotBlocksError::InternalServerError`.
         364  +
    /* OperationErrorGenerator.kt:258 */
  323    365   
    pub fn is_internal_server_error(&self) -> bool {
         366  +
        /* OperationErrorGenerator.kt:259 */
  324    367   
        matches!(self, Self::InternalServerError(_))
         368  +
        /* OperationErrorGenerator.kt:258 */
  325    369   
    }
         370  +
    /* OperationErrorGenerator.kt:257 */
  326    371   
    /// Returns `true` if the error kind is `ListSnapshotBlocksError::RequestThrottledError`.
         372  +
    /* OperationErrorGenerator.kt:258 */
  327    373   
    pub fn is_request_throttled_error(&self) -> bool {
         374  +
        /* OperationErrorGenerator.kt:259 */
  328    375   
        matches!(self, Self::RequestThrottledError(_))
         376  +
        /* OperationErrorGenerator.kt:258 */
  329    377   
    }
         378  +
    /* OperationErrorGenerator.kt:257 */
  330    379   
    /// Returns `true` if the error kind is `ListSnapshotBlocksError::ResourceNotFoundError`.
         380  +
    /* OperationErrorGenerator.kt:258 */
  331    381   
    pub fn is_resource_not_found_error(&self) -> bool {
         382  +
        /* OperationErrorGenerator.kt:259 */
  332    383   
        matches!(self, Self::ResourceNotFoundError(_))
         384  +
        /* OperationErrorGenerator.kt:258 */
  333    385   
    }
         386  +
    /* OperationErrorGenerator.kt:257 */
  334    387   
    /// Returns `true` if the error kind is `ListSnapshotBlocksError::ServiceQuotaExceededError`.
         388  +
    /* OperationErrorGenerator.kt:258 */
  335    389   
    pub fn is_service_quota_exceeded_error(&self) -> bool {
         390  +
        /* OperationErrorGenerator.kt:259 */
  336    391   
        matches!(self, Self::ServiceQuotaExceededError(_))
         392  +
        /* OperationErrorGenerator.kt:258 */
  337    393   
    }
         394  +
    /* OperationErrorGenerator.kt:257 */
  338    395   
    /// Returns `true` if the error kind is `ListSnapshotBlocksError::ValidationError`.
         396  +
    /* OperationErrorGenerator.kt:258 */
  339    397   
    pub fn is_validation_error(&self) -> bool {
         398  +
        /* OperationErrorGenerator.kt:259 */
  340    399   
        matches!(self, Self::ValidationError(_))
         400  +
        /* OperationErrorGenerator.kt:258 */
  341    401   
    }
         402  +
    /* OperationErrorGenerator.kt:218 */
  342    403   
}
         404  +
/* OperationErrorGenerator.kt:269 */
  343    405   
impl ::std::error::Error for ListSnapshotBlocksError {
         406  +
    /* OperationErrorGenerator.kt:270 */
  344    407   
    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
         408  +
        /* OperationErrorGenerator.kt:318 */
  345    409   
        match self {
  346         -
            Self::AccessDeniedError(_inner) => ::std::option::Option::Some(_inner),
  347         -
            Self::InternalServerError(_inner) => ::std::option::Option::Some(_inner),
  348         -
            Self::RequestThrottledError(_inner) => ::std::option::Option::Some(_inner),
  349         -
            Self::ResourceNotFoundError(_inner) => ::std::option::Option::Some(_inner),
  350         -
            Self::ServiceQuotaExceededError(_inner) => ::std::option::Option::Some(_inner),
  351         -
            Self::ValidationError(_inner) => ::std::option::Option::Some(_inner),
  352         -
            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
         410  +
            /* OperationErrorGenerator.kt:321 */
         411  +
            Self::AccessDeniedError(_inner) =>
         412  +
            /* OperationErrorGenerator.kt:283 */
         413  +
            {
         414  +
                ::std::option::Option::Some(_inner)
         415  +
            }
         416  +
            ,
         417  +
            /* OperationErrorGenerator.kt:321 */
         418  +
            Self::InternalServerError(_inner) =>
         419  +
            /* OperationErrorGenerator.kt:283 */
         420  +
            {
         421  +
                ::std::option::Option::Some(_inner)
         422  +
            }
         423  +
            ,
         424  +
            /* OperationErrorGenerator.kt:321 */
         425  +
            Self::RequestThrottledError(_inner) =>
         426  +
            /* OperationErrorGenerator.kt:283 */
         427  +
            {
         428  +
                ::std::option::Option::Some(_inner)
         429  +
            }
         430  +
            ,
         431  +
            /* OperationErrorGenerator.kt:321 */
         432  +
            Self::ResourceNotFoundError(_inner) =>
         433  +
            /* OperationErrorGenerator.kt:283 */
         434  +
            {
         435  +
                ::std::option::Option::Some(_inner)
         436  +
            }
         437  +
            ,
         438  +
            /* OperationErrorGenerator.kt:321 */
         439  +
            Self::ServiceQuotaExceededError(_inner) =>
         440  +
            /* OperationErrorGenerator.kt:283 */
         441  +
            {
         442  +
                ::std::option::Option::Some(_inner)
         443  +
            }
         444  +
            ,
         445  +
            /* OperationErrorGenerator.kt:321 */
         446  +
            Self::ValidationError(_inner) =>
         447  +
            /* OperationErrorGenerator.kt:283 */
         448  +
            {
         449  +
                ::std::option::Option::Some(_inner)
         450  +
            }
         451  +
            ,
         452  +
            /* OperationErrorGenerator.kt:326 */
         453  +
            Self::Unhandled(_inner) => {
         454  +
                /* OperationErrorGenerator.kt:279 */
         455  +
                ::std::option::Option::Some(&*_inner.source)
         456  +
                /* OperationErrorGenerator.kt:326 */
         457  +
            } /* OperationErrorGenerator.kt:318 */
  353    458   
        }
         459  +
        /* OperationErrorGenerator.kt:270 */
  354    460   
    }
         461  +
    /* OperationErrorGenerator.kt:269 */
  355    462   
}
         463  +
/* OperationErrorGenerator.kt:133 */
  356    464   
impl ::std::fmt::Display for ListSnapshotBlocksError {
         465  +
    /* OperationErrorGenerator.kt:134 */
  357    466   
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         467  +
        /* OperationErrorGenerator.kt:318 */
  358    468   
        match self {
  359         -
            Self::AccessDeniedError(_inner) => _inner.fmt(f),
  360         -
            Self::InternalServerError(_inner) => _inner.fmt(f),
  361         -
            Self::RequestThrottledError(_inner) => _inner.fmt(f),
  362         -
            Self::ResourceNotFoundError(_inner) => _inner.fmt(f),
  363         -
            Self::ServiceQuotaExceededError(_inner) => _inner.fmt(f),
  364         -
            Self::ValidationError(_inner) => _inner.fmt(f),
         469  +
            /* OperationErrorGenerator.kt:321 */
         470  +
            Self::AccessDeniedError(_inner) =>
         471  +
            /* OperationErrorGenerator.kt:151 */
         472  +
            {
         473  +
                _inner.fmt(f)
         474  +
            }
         475  +
            ,
         476  +
            /* OperationErrorGenerator.kt:321 */
         477  +
            Self::InternalServerError(_inner) =>
         478  +
            /* OperationErrorGenerator.kt:151 */
         479  +
            {
         480  +
                _inner.fmt(f)
         481  +
            }
         482  +
            ,
         483  +
            /* OperationErrorGenerator.kt:321 */
         484  +
            Self::RequestThrottledError(_inner) =>
         485  +
            /* OperationErrorGenerator.kt:151 */
         486  +
            {
         487  +
                _inner.fmt(f)
         488  +
            }
         489  +
            ,
         490  +
            /* OperationErrorGenerator.kt:321 */
         491  +
            Self::ResourceNotFoundError(_inner) =>
         492  +
            /* OperationErrorGenerator.kt:151 */
         493  +
            {
         494  +
                _inner.fmt(f)
         495  +
            }
         496  +
            ,
         497  +
            /* OperationErrorGenerator.kt:321 */
         498  +
            Self::ServiceQuotaExceededError(_inner) =>
         499  +
            /* OperationErrorGenerator.kt:151 */
         500  +
            {
         501  +
                _inner.fmt(f)
         502  +
            }
         503  +
            ,
         504  +
            /* OperationErrorGenerator.kt:321 */
         505  +
            Self::ValidationError(_inner) =>
         506  +
            /* OperationErrorGenerator.kt:151 */
         507  +
            {
         508  +
                _inner.fmt(f)
         509  +
            }
         510  +
            ,
         511  +
            /* OperationErrorGenerator.kt:326 */
  365    512   
            Self::Unhandled(_inner) => {
         513  +
                /* OperationErrorGenerator.kt:139 */
  366    514   
                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
  367    515   
                    write!(f, "unhandled error ({code})")
  368    516   
                } else {
  369    517   
                    f.write_str("unhandled error")
  370    518   
                }
  371         -
            }
         519  +
                /* OperationErrorGenerator.kt:326 */
         520  +
            } /* OperationErrorGenerator.kt:318 */
  372    521   
        }
         522  +
        /* OperationErrorGenerator.kt:134 */
  373    523   
    }
         524  +
    /* OperationErrorGenerator.kt:133 */
  374    525   
}
         526  +
/* OperationErrorGenerator.kt:182 */
  375    527   
impl ::aws_smithy_types::retry::ProvideErrorKind for ListSnapshotBlocksError {
         528  +
    /* OperationErrorGenerator.kt:186 */
  376    529   
    fn code(&self) -> ::std::option::Option<&str> {
         530  +
        /* OperationErrorGenerator.kt:187 */
  377    531   
        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
         532  +
        /* OperationErrorGenerator.kt:186 */
  378    533   
    }
         534  +
    /* OperationErrorGenerator.kt:190 */
  379    535   
    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
         536  +
        /* OperationErrorGenerator.kt:197 */
  380    537   
        ::std::option::Option::None
         538  +
        /* OperationErrorGenerator.kt:190 */
  381    539   
    }
         540  +
    /* OperationErrorGenerator.kt:182 */
  382    541   
}
         542  +
/* OperationErrorGenerator.kt:163 */
  383    543   
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for ListSnapshotBlocksError {
         544  +
    /* OperationErrorGenerator.kt:164 */
  384    545   
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         546  +
        /* OperationErrorGenerator.kt:318 */
  385    547   
        match self {
  386         -
            Self::AccessDeniedError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  387         -
            Self::InternalServerError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  388         -
            Self::RequestThrottledError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  389         -
            Self::ResourceNotFoundError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  390         -
            Self::ServiceQuotaExceededError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  391         -
            Self::ValidationError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  392         -
            Self::Unhandled(_inner) => &_inner.meta,
         548  +
            /* OperationErrorGenerator.kt:321 */
         549  +
            Self::AccessDeniedError(_inner) =>
         550  +
            /* OperationErrorGenerator.kt:169 */
         551  +
            {
         552  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         553  +
            }
         554  +
            ,
         555  +
            /* OperationErrorGenerator.kt:321 */
         556  +
            Self::InternalServerError(_inner) =>
         557  +
            /* OperationErrorGenerator.kt:169 */
         558  +
            {
         559  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         560  +
            }
         561  +
            ,
         562  +
            /* OperationErrorGenerator.kt:321 */
         563  +
            Self::RequestThrottledError(_inner) =>
         564  +
            /* OperationErrorGenerator.kt:169 */
         565  +
            {
         566  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         567  +
            }
         568  +
            ,
         569  +
            /* OperationErrorGenerator.kt:321 */
         570  +
            Self::ResourceNotFoundError(_inner) =>
         571  +
            /* OperationErrorGenerator.kt:169 */
         572  +
            {
         573  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         574  +
            }
         575  +
            ,
         576  +
            /* OperationErrorGenerator.kt:321 */
         577  +
            Self::ServiceQuotaExceededError(_inner) =>
         578  +
            /* OperationErrorGenerator.kt:169 */
         579  +
            {
         580  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         581  +
            }
         582  +
            ,
         583  +
            /* OperationErrorGenerator.kt:321 */
         584  +
            Self::ValidationError(_inner) =>
         585  +
            /* OperationErrorGenerator.kt:169 */
         586  +
            {
         587  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         588  +
            }
         589  +
            ,
         590  +
            /* OperationErrorGenerator.kt:326 */
         591  +
            Self::Unhandled(_inner) => {
         592  +
                /* OperationErrorGenerator.kt:168 */
         593  +
                &_inner.meta
         594  +
                /* OperationErrorGenerator.kt:326 */
         595  +
            } /* OperationErrorGenerator.kt:318 */
  393    596   
        }
         597  +
        /* OperationErrorGenerator.kt:164 */
  394    598   
    }
         599  +
    /* OperationErrorGenerator.kt:163 */
  395    600   
}
         601  +
/* OperationErrorGenerator.kt:109 */
  396    602   
impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for ListSnapshotBlocksError {
         603  +
    /* OperationErrorGenerator.kt:110 */
  397    604   
    fn create_unhandled_error(
  398    605   
        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
  399    606   
        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
  400    607   
    ) -> Self {
         608  +
        /* OperationErrorGenerator.kt:121 */
  401    609   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  402    610   
            source,
  403    611   
            meta: meta.unwrap_or_default(),
  404    612   
        })
         613  +
        /* OperationErrorGenerator.kt:110 */
  405    614   
    }
         615  +
    /* OperationErrorGenerator.kt:109 */
  406    616   
}
  407    617   
         618  +
/* CodegenDelegator.kt:255 */
  408    619   
pub use crate::operation::list_snapshot_blocks::_list_snapshot_blocks_output::ListSnapshotBlocksOutput;
  409    620   
         621  +
/* CodegenDelegator.kt:255 */
  410    622   
pub use crate::operation::list_snapshot_blocks::_list_snapshot_blocks_input::ListSnapshotBlocksInput;
  411    623   
         624  +
/* RustModule.kt:172 */
  412    625   
mod _list_snapshot_blocks_input;
  413    626   
         627  +
/* RustModule.kt:172 */
  414    628   
mod _list_snapshot_blocks_output;
  415    629   
  416         -
/// Builders
         630  +
/// /* CodegenDelegator.kt:51 */Builders
  417    631   
pub mod builders;
  418    632   
  419         -
/// Paginator for this operation
         633  +
/// /* CodegenDelegator.kt:51 */Paginator for this operation
  420    634   
pub mod paginator;