Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943

Files changed:

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/types/error/_resource_not_found_exception.rs

@@ -1,1 +81,129 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be <code>ACTIVE</code>.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be <code>ACTIVE</code>.</p>
           4  +
/* RustType.kt:516 */
    4      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    5      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct ResourceNotFoundError {
    7         -
    /// <p>The resource which is being requested does not exist.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct ResourceNotFoundError {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The resource which is being requested does not exist.</p>
    8     10   
    pub message: ::std::option::Option<::std::string::String>,
    9         -
    pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
          11  +
    /* ErrorGenerator.kt:53 */ pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
          12  +
    /* StructureGenerator.kt:201 */
   10     13   
}
          14  +
/* ErrorImplGenerator.kt:99 */
   11     15   
impl ResourceNotFoundError {
          16  +
    /* ErrorImplGenerator.kt:128 */
   12     17   
    /// Returns the error message.
   13     18   
    pub fn message(&self) -> ::std::option::Option<&str> {
   14     19   
        self.message.as_deref()
   15     20   
    }
          21  +
    /* ErrorImplGenerator.kt:99 */
   16     22   
}
          23  +
/* ErrorImplGenerator.kt:153 */
   17     24   
impl ::std::fmt::Display for ResourceNotFoundError {
          25  +
    /* ErrorImplGenerator.kt:154 */
   18     26   
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
          27  +
        /* ErrorImplGenerator.kt:161 */
   19     28   
        ::std::write!(f, "ResourceNotFoundError [ResourceNotFoundException]")?;
          29  +
        /* ErrorImplGenerator.kt:166 */
   20     30   
        if let ::std::option::Option::Some(inner_1) = &self.message {
          31  +
            /* ErrorImplGenerator.kt:166 */
   21     32   
            {
          33  +
                /* ErrorImplGenerator.kt:167 */
   22     34   
                ::std::write!(f, ": {}", inner_1)?;
          35  +
                /* ErrorImplGenerator.kt:166 */
   23     36   
            }
          37  +
            /* ErrorImplGenerator.kt:166 */
   24     38   
        }
          39  +
        /* ErrorImplGenerator.kt:171 */
   25     40   
        Ok(())
          41  +
        /* ErrorImplGenerator.kt:154 */
   26     42   
    }
          43  +
    /* ErrorImplGenerator.kt:153 */
   27     44   
}
          45  +
/* ErrorImplGenerator.kt:175 */
   28     46   
impl ::std::error::Error for ResourceNotFoundError {}
          47  +
/* ErrorGenerator.kt:77 */
   29     48   
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for ResourceNotFoundError {
          49  +
    /* ErrorGenerator.kt:78 */
   30     50   
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
   31     51   
        &self.meta
   32     52   
    }
          53  +
    /* ErrorGenerator.kt:77 */
   33     54   
}
          55  +
/* ErrorGenerator.kt:81 */
   34     56   
impl ResourceNotFoundError {
   35         -
    /// Creates a new builder-style object to manufacture [`ResourceNotFoundError`](crate::types::error::ResourceNotFoundError).
          57  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`ResourceNotFoundError`](crate::types::error::ResourceNotFoundError).
          58  +
    /* BuilderGenerator.kt:175 */
   36     59   
    pub fn builder() -> crate::types::error::builders::ResourceNotFoundErrorBuilder {
          60  +
        /* BuilderGenerator.kt:176 */
   37     61   
        crate::types::error::builders::ResourceNotFoundErrorBuilder::default()
          62  +
        /* BuilderGenerator.kt:175 */
   38     63   
    }
          64  +
    /* ErrorGenerator.kt:81 */
   39     65   
}
   40     66   
   41         -
/// A builder for [`ResourceNotFoundError`](crate::types::error::ResourceNotFoundError).
          67  +
/// /* BuilderGenerator.kt:342 */A builder for [`ResourceNotFoundError`](crate::types::error::ResourceNotFoundError).
          68  +
/* RustType.kt:516 */
   42     69   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          70  +
/* RustType.kt:516 */
   43     71   
#[non_exhaustive]
          72  +
/* BuilderGenerator.kt:345 */
   44     73   
pub struct ResourceNotFoundErrorBuilder {
   45         -
    pub(crate) message: ::std::option::Option<::std::string::String>,
   46         -
    meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
          74  +
    /* BuilderGenerator.kt:275 */ pub(crate) message: ::std::option::Option<::std::string::String>,
          75  +
    /* ErrorGenerator.kt:97 */ meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
          76  +
    /* BuilderGenerator.kt:345 */
   47     77   
}
          78  +
/* BuilderGenerator.kt:355 */
   48     79   
impl ResourceNotFoundErrorBuilder {
   49         -
    /// <p>The resource which is being requested does not exist.</p>
          80  +
    /// /* BuilderGenerator.kt:286 */<p>The resource which is being requested does not exist.</p>
          81  +
    /* BuilderGenerator.kt:291 */
   50     82   
    pub fn message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          83  +
        /* BuilderGenerator.kt:292 */
   51     84   
        self.message = ::std::option::Option::Some(input.into());
          85  +
        /* BuilderGenerator.kt:293 */
   52     86   
        self
          87  +
        /* BuilderGenerator.kt:291 */
   53     88   
    }
   54         -
    /// <p>The resource which is being requested does not exist.</p>
          89  +
    /// /* BuilderGenerator.kt:312 */<p>The resource which is being requested does not exist.</p>
          90  +
    /* BuilderGenerator.kt:314 */
   55     91   
    pub fn set_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          92  +
        /* BuilderGenerator.kt:315 */
   56     93   
        self.message = input;
   57     94   
        self
          95  +
        /* BuilderGenerator.kt:314 */
   58     96   
    }
   59         -
    /// <p>The resource which is being requested does not exist.</p>
          97  +
    /// /* BuilderGenerator.kt:334 */<p>The resource which is being requested does not exist.</p>
          98  +
    /* BuilderGenerator.kt:336 */
   60     99   
    pub fn get_message(&self) -> &::std::option::Option<::std::string::String> {
         100  +
        /* BuilderGenerator.kt:337 */
   61    101   
        &self.message
         102  +
        /* BuilderGenerator.kt:336 */
   62    103   
    }
         104  +
    /* ErrorGenerator.kt:101 */
   63    105   
    /// Sets error metadata
   64    106   
    pub fn meta(mut self, meta: ::aws_smithy_types::error::ErrorMetadata) -> Self {
   65    107   
        self.meta = Some(meta);
   66    108   
        self
   67    109   
    }
   68    110   
   69    111   
    /// Sets error metadata
   70    112   
    pub fn set_meta(&mut self, meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>) -> &mut Self {
   71    113   
        self.meta = meta;
   72    114   
        self
   73    115   
    }
   74         -
    /// Consumes the builder and constructs a [`ResourceNotFoundError`](crate::types::error::ResourceNotFoundError).
         116  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`ResourceNotFoundError`](crate::types::error::ResourceNotFoundError).
         117  +
    /* BuilderGenerator.kt:253 */
   75    118   
    pub fn build(self) -> crate::types::error::ResourceNotFoundError {
         119  +
        /* BuilderGenerator.kt:477 */
   76    120   
        crate::types::error::ResourceNotFoundError {
   77         -
            message: self.message,
         121  +
            /* BuilderGenerator.kt:481 */ message: self.message,
         122  +
            /* ErrorGenerator.kt:120 */
   78    123   
            meta: self.meta.unwrap_or_default(),
         124  +
            /* BuilderGenerator.kt:477 */
   79    125   
        }
         126  +
        /* BuilderGenerator.kt:253 */
   80    127   
    }
         128  +
    /* BuilderGenerator.kt:355 */
   81    129   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/types/error/_table_already_exists_exception.rs

@@ -1,1 +81,133 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>A target table with the specified name already exists.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>A target table with the specified name already exists.</p>
           4  +
/* RustType.kt:516 */
    4      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    5      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct TableAlreadyExistsError {
           8  +
pub /* StructureGenerator.kt:201 */ struct TableAlreadyExistsError {
           9  +
    /* StructureGenerator.kt:231 */
    7     10   
    #[allow(missing_docs)] // documentation missing in model
    8     11   
    pub message: ::std::option::Option<::std::string::String>,
    9         -
    pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
          12  +
    /* ErrorGenerator.kt:53 */ pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
          13  +
    /* StructureGenerator.kt:201 */
   10     14   
}
          15  +
/* ErrorImplGenerator.kt:99 */
   11     16   
impl TableAlreadyExistsError {
          17  +
    /* ErrorImplGenerator.kt:128 */
   12     18   
    /// Returns the error message.
   13     19   
    pub fn message(&self) -> ::std::option::Option<&str> {
   14     20   
        self.message.as_deref()
   15     21   
    }
          22  +
    /* ErrorImplGenerator.kt:99 */
   16     23   
}
          24  +
/* ErrorImplGenerator.kt:153 */
   17     25   
impl ::std::fmt::Display for TableAlreadyExistsError {
          26  +
    /* ErrorImplGenerator.kt:154 */
   18     27   
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
          28  +
        /* ErrorImplGenerator.kt:161 */
   19     29   
        ::std::write!(f, "TableAlreadyExistsError [TableAlreadyExistsException]")?;
          30  +
        /* ErrorImplGenerator.kt:166 */
   20     31   
        if let ::std::option::Option::Some(inner_1) = &self.message {
          32  +
            /* ErrorImplGenerator.kt:166 */
   21     33   
            {
          34  +
                /* ErrorImplGenerator.kt:167 */
   22     35   
                ::std::write!(f, ": {}", inner_1)?;
          36  +
                /* ErrorImplGenerator.kt:166 */
   23     37   
            }
          38  +
            /* ErrorImplGenerator.kt:166 */
   24     39   
        }
          40  +
        /* ErrorImplGenerator.kt:171 */
   25     41   
        Ok(())
          42  +
        /* ErrorImplGenerator.kt:154 */
   26     43   
    }
          44  +
    /* ErrorImplGenerator.kt:153 */
   27     45   
}
          46  +
/* ErrorImplGenerator.kt:175 */
   28     47   
impl ::std::error::Error for TableAlreadyExistsError {}
          48  +
/* ErrorGenerator.kt:77 */
   29     49   
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for TableAlreadyExistsError {
          50  +
    /* ErrorGenerator.kt:78 */
   30     51   
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
   31     52   
        &self.meta
   32     53   
    }
          54  +
    /* ErrorGenerator.kt:77 */
   33     55   
}
          56  +
/* ErrorGenerator.kt:81 */
   34     57   
impl TableAlreadyExistsError {
   35         -
    /// Creates a new builder-style object to manufacture [`TableAlreadyExistsError`](crate::types::error::TableAlreadyExistsError).
          58  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`TableAlreadyExistsError`](crate::types::error::TableAlreadyExistsError).
          59  +
    /* BuilderGenerator.kt:175 */
   36     60   
    pub fn builder() -> crate::types::error::builders::TableAlreadyExistsErrorBuilder {
          61  +
        /* BuilderGenerator.kt:176 */
   37     62   
        crate::types::error::builders::TableAlreadyExistsErrorBuilder::default()
          63  +
        /* BuilderGenerator.kt:175 */
   38     64   
    }
          65  +
    /* ErrorGenerator.kt:81 */
   39     66   
}
   40     67   
   41         -
/// A builder for [`TableAlreadyExistsError`](crate::types::error::TableAlreadyExistsError).
          68  +
/// /* BuilderGenerator.kt:342 */A builder for [`TableAlreadyExistsError`](crate::types::error::TableAlreadyExistsError).
          69  +
/* RustType.kt:516 */
   42     70   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          71  +
/* RustType.kt:516 */
   43     72   
#[non_exhaustive]
          73  +
/* BuilderGenerator.kt:345 */
   44     74   
pub struct TableAlreadyExistsErrorBuilder {
   45         -
    pub(crate) message: ::std::option::Option<::std::string::String>,
   46         -
    meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
          75  +
    /* BuilderGenerator.kt:275 */ pub(crate) message: ::std::option::Option<::std::string::String>,
          76  +
    /* ErrorGenerator.kt:97 */ meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
          77  +
    /* BuilderGenerator.kt:345 */
   47     78   
}
          79  +
/* BuilderGenerator.kt:355 */
   48     80   
impl TableAlreadyExistsErrorBuilder {
          81  +
    /* BuilderGenerator.kt:286 */
   49     82   
    #[allow(missing_docs)] // documentation missing in model
          83  +
                           /* BuilderGenerator.kt:291 */
   50     84   
    pub fn message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          85  +
        /* BuilderGenerator.kt:292 */
   51     86   
        self.message = ::std::option::Option::Some(input.into());
          87  +
        /* BuilderGenerator.kt:293 */
   52     88   
        self
          89  +
        /* BuilderGenerator.kt:291 */
   53     90   
    }
          91  +
    /* BuilderGenerator.kt:312 */
   54     92   
    #[allow(missing_docs)] // documentation missing in model
          93  +
                           /* BuilderGenerator.kt:314 */
   55     94   
    pub fn set_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          95  +
        /* BuilderGenerator.kt:315 */
   56     96   
        self.message = input;
   57     97   
        self
          98  +
        /* BuilderGenerator.kt:314 */
   58     99   
    }
         100  +
    /* BuilderGenerator.kt:334 */
   59    101   
    #[allow(missing_docs)] // documentation missing in model
         102  +
                           /* BuilderGenerator.kt:336 */
   60    103   
    pub fn get_message(&self) -> &::std::option::Option<::std::string::String> {
         104  +
        /* BuilderGenerator.kt:337 */
   61    105   
        &self.message
         106  +
        /* BuilderGenerator.kt:336 */
   62    107   
    }
         108  +
    /* ErrorGenerator.kt:101 */
   63    109   
    /// Sets error metadata
   64    110   
    pub fn meta(mut self, meta: ::aws_smithy_types::error::ErrorMetadata) -> Self {
   65    111   
        self.meta = Some(meta);
   66    112   
        self
   67    113   
    }
   68    114   
   69    115   
    /// Sets error metadata
   70    116   
    pub fn set_meta(&mut self, meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>) -> &mut Self {
   71    117   
        self.meta = meta;
   72    118   
        self
   73    119   
    }
   74         -
    /// Consumes the builder and constructs a [`TableAlreadyExistsError`](crate::types::error::TableAlreadyExistsError).
         120  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`TableAlreadyExistsError`](crate::types::error::TableAlreadyExistsError).
         121  +
    /* BuilderGenerator.kt:253 */
   75    122   
    pub fn build(self) -> crate::types::error::TableAlreadyExistsError {
         123  +
        /* BuilderGenerator.kt:477 */
   76    124   
        crate::types::error::TableAlreadyExistsError {
   77         -
            message: self.message,
         125  +
            /* BuilderGenerator.kt:481 */ message: self.message,
         126  +
            /* ErrorGenerator.kt:120 */
   78    127   
            meta: self.meta.unwrap_or_default(),
         128  +
            /* BuilderGenerator.kt:477 */
   79    129   
        }
         130  +
        /* BuilderGenerator.kt:253 */
   80    131   
    }
         132  +
    /* BuilderGenerator.kt:355 */
   81    133   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/types/error/_table_in_use_exception.rs

@@ -1,1 +81,133 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>A target table with the specified name is either being created or deleted.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>A target table with the specified name is either being created or deleted.</p>
           4  +
/* RustType.kt:516 */
    4      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    5      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct TableInUseError {
           8  +
pub /* StructureGenerator.kt:201 */ struct TableInUseError {
           9  +
    /* StructureGenerator.kt:231 */
    7     10   
    #[allow(missing_docs)] // documentation missing in model
    8     11   
    pub message: ::std::option::Option<::std::string::String>,
    9         -
    pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
          12  +
    /* ErrorGenerator.kt:53 */ pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
          13  +
    /* StructureGenerator.kt:201 */
   10     14   
}
          15  +
/* ErrorImplGenerator.kt:99 */
   11     16   
impl TableInUseError {
          17  +
    /* ErrorImplGenerator.kt:128 */
   12     18   
    /// Returns the error message.
   13     19   
    pub fn message(&self) -> ::std::option::Option<&str> {
   14     20   
        self.message.as_deref()
   15     21   
    }
          22  +
    /* ErrorImplGenerator.kt:99 */
   16     23   
}
          24  +
/* ErrorImplGenerator.kt:153 */
   17     25   
impl ::std::fmt::Display for TableInUseError {
          26  +
    /* ErrorImplGenerator.kt:154 */
   18     27   
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
          28  +
        /* ErrorImplGenerator.kt:161 */
   19     29   
        ::std::write!(f, "TableInUseError [TableInUseException]")?;
          30  +
        /* ErrorImplGenerator.kt:166 */
   20     31   
        if let ::std::option::Option::Some(inner_1) = &self.message {
          32  +
            /* ErrorImplGenerator.kt:166 */
   21     33   
            {
          34  +
                /* ErrorImplGenerator.kt:167 */
   22     35   
                ::std::write!(f, ": {}", inner_1)?;
          36  +
                /* ErrorImplGenerator.kt:166 */
   23     37   
            }
          38  +
            /* ErrorImplGenerator.kt:166 */
   24     39   
        }
          40  +
        /* ErrorImplGenerator.kt:171 */
   25     41   
        Ok(())
          42  +
        /* ErrorImplGenerator.kt:154 */
   26     43   
    }
          44  +
    /* ErrorImplGenerator.kt:153 */
   27     45   
}
          46  +
/* ErrorImplGenerator.kt:175 */
   28     47   
impl ::std::error::Error for TableInUseError {}
          48  +
/* ErrorGenerator.kt:77 */
   29     49   
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for TableInUseError {
          50  +
    /* ErrorGenerator.kt:78 */
   30     51   
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
   31     52   
        &self.meta
   32     53   
    }
          54  +
    /* ErrorGenerator.kt:77 */
   33     55   
}
          56  +
/* ErrorGenerator.kt:81 */
   34     57   
impl TableInUseError {
   35         -
    /// Creates a new builder-style object to manufacture [`TableInUseError`](crate::types::error::TableInUseError).
          58  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`TableInUseError`](crate::types::error::TableInUseError).
          59  +
    /* BuilderGenerator.kt:175 */
   36     60   
    pub fn builder() -> crate::types::error::builders::TableInUseErrorBuilder {
          61  +
        /* BuilderGenerator.kt:176 */
   37     62   
        crate::types::error::builders::TableInUseErrorBuilder::default()
          63  +
        /* BuilderGenerator.kt:175 */
   38     64   
    }
          65  +
    /* ErrorGenerator.kt:81 */
   39     66   
}
   40     67   
   41         -
/// A builder for [`TableInUseError`](crate::types::error::TableInUseError).
          68  +
/// /* BuilderGenerator.kt:342 */A builder for [`TableInUseError`](crate::types::error::TableInUseError).
          69  +
/* RustType.kt:516 */
   42     70   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          71  +
/* RustType.kt:516 */
   43     72   
#[non_exhaustive]
          73  +
/* BuilderGenerator.kt:345 */
   44     74   
pub struct TableInUseErrorBuilder {
   45         -
    pub(crate) message: ::std::option::Option<::std::string::String>,
   46         -
    meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
          75  +
    /* BuilderGenerator.kt:275 */ pub(crate) message: ::std::option::Option<::std::string::String>,
          76  +
    /* ErrorGenerator.kt:97 */ meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
          77  +
    /* BuilderGenerator.kt:345 */
   47     78   
}
          79  +
/* BuilderGenerator.kt:355 */
   48     80   
impl TableInUseErrorBuilder {
          81  +
    /* BuilderGenerator.kt:286 */
   49     82   
    #[allow(missing_docs)] // documentation missing in model
          83  +
                           /* BuilderGenerator.kt:291 */
   50     84   
    pub fn message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          85  +
        /* BuilderGenerator.kt:292 */
   51     86   
        self.message = ::std::option::Option::Some(input.into());
          87  +
        /* BuilderGenerator.kt:293 */
   52     88   
        self
          89  +
        /* BuilderGenerator.kt:291 */
   53     90   
    }
          91  +
    /* BuilderGenerator.kt:312 */
   54     92   
    #[allow(missing_docs)] // documentation missing in model
          93  +
                           /* BuilderGenerator.kt:314 */
   55     94   
    pub fn set_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          95  +
        /* BuilderGenerator.kt:315 */
   56     96   
        self.message = input;
   57     97   
        self
          98  +
        /* BuilderGenerator.kt:314 */
   58     99   
    }
         100  +
    /* BuilderGenerator.kt:334 */
   59    101   
    #[allow(missing_docs)] // documentation missing in model
         102  +
                           /* BuilderGenerator.kt:336 */
   60    103   
    pub fn get_message(&self) -> &::std::option::Option<::std::string::String> {
         104  +
        /* BuilderGenerator.kt:337 */
   61    105   
        &self.message
         106  +
        /* BuilderGenerator.kt:336 */
   62    107   
    }
         108  +
    /* ErrorGenerator.kt:101 */
   63    109   
    /// Sets error metadata
   64    110   
    pub fn meta(mut self, meta: ::aws_smithy_types::error::ErrorMetadata) -> Self {
   65    111   
        self.meta = Some(meta);
   66    112   
        self
   67    113   
    }
   68    114   
   69    115   
    /// Sets error metadata
   70    116   
    pub fn set_meta(&mut self, meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>) -> &mut Self {
   71    117   
        self.meta = meta;
   72    118   
        self
   73    119   
    }
   74         -
    /// Consumes the builder and constructs a [`TableInUseError`](crate::types::error::TableInUseError).
         120  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`TableInUseError`](crate::types::error::TableInUseError).
         121  +
    /* BuilderGenerator.kt:253 */
   75    122   
    pub fn build(self) -> crate::types::error::TableInUseError {
         123  +
        /* BuilderGenerator.kt:477 */
   76    124   
        crate::types::error::TableInUseError {
   77         -
            message: self.message,
         125  +
            /* BuilderGenerator.kt:481 */ message: self.message,
         126  +
            /* ErrorGenerator.kt:120 */
   78    127   
            meta: self.meta.unwrap_or_default(),
         128  +
            /* BuilderGenerator.kt:477 */
   79    129   
        }
         130  +
        /* BuilderGenerator.kt:253 */
   80    131   
    }
         132  +
    /* BuilderGenerator.kt:355 */
   81    133   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/types/error/_table_not_found_exception.rs

@@ -1,1 +81,133 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>A source table with the name <code>TableName</code> does not currently exist within the subscriber's account.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>A source table with the name <code>TableName</code> does not currently exist within the subscriber's account.</p>
           4  +
/* RustType.kt:516 */
    4      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    5      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct TableNotFoundError {
           8  +
pub /* StructureGenerator.kt:201 */ struct TableNotFoundError {
           9  +
    /* StructureGenerator.kt:231 */
    7     10   
    #[allow(missing_docs)] // documentation missing in model
    8     11   
    pub message: ::std::option::Option<::std::string::String>,
    9         -
    pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
          12  +
    /* ErrorGenerator.kt:53 */ pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
          13  +
    /* StructureGenerator.kt:201 */
   10     14   
}
          15  +
/* ErrorImplGenerator.kt:99 */
   11     16   
impl TableNotFoundError {
          17  +
    /* ErrorImplGenerator.kt:128 */
   12     18   
    /// Returns the error message.
   13     19   
    pub fn message(&self) -> ::std::option::Option<&str> {
   14     20   
        self.message.as_deref()
   15     21   
    }
          22  +
    /* ErrorImplGenerator.kt:99 */
   16     23   
}
          24  +
/* ErrorImplGenerator.kt:153 */
   17     25   
impl ::std::fmt::Display for TableNotFoundError {
          26  +
    /* ErrorImplGenerator.kt:154 */
   18     27   
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
          28  +
        /* ErrorImplGenerator.kt:161 */
   19     29   
        ::std::write!(f, "TableNotFoundError [TableNotFoundException]")?;
          30  +
        /* ErrorImplGenerator.kt:166 */
   20     31   
        if let ::std::option::Option::Some(inner_1) = &self.message {
          32  +
            /* ErrorImplGenerator.kt:166 */
   21     33   
            {
          34  +
                /* ErrorImplGenerator.kt:167 */
   22     35   
                ::std::write!(f, ": {}", inner_1)?;
          36  +
                /* ErrorImplGenerator.kt:166 */
   23     37   
            }
          38  +
            /* ErrorImplGenerator.kt:166 */
   24     39   
        }
          40  +
        /* ErrorImplGenerator.kt:171 */
   25     41   
        Ok(())
          42  +
        /* ErrorImplGenerator.kt:154 */
   26     43   
    }
          44  +
    /* ErrorImplGenerator.kt:153 */
   27     45   
}
          46  +
/* ErrorImplGenerator.kt:175 */
   28     47   
impl ::std::error::Error for TableNotFoundError {}
          48  +
/* ErrorGenerator.kt:77 */
   29     49   
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for TableNotFoundError {
          50  +
    /* ErrorGenerator.kt:78 */
   30     51   
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
   31     52   
        &self.meta
   32     53   
    }
          54  +
    /* ErrorGenerator.kt:77 */
   33     55   
}
          56  +
/* ErrorGenerator.kt:81 */
   34     57   
impl TableNotFoundError {
   35         -
    /// Creates a new builder-style object to manufacture [`TableNotFoundError`](crate::types::error::TableNotFoundError).
          58  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`TableNotFoundError`](crate::types::error::TableNotFoundError).
          59  +
    /* BuilderGenerator.kt:175 */
   36     60   
    pub fn builder() -> crate::types::error::builders::TableNotFoundErrorBuilder {
          61  +
        /* BuilderGenerator.kt:176 */
   37     62   
        crate::types::error::builders::TableNotFoundErrorBuilder::default()
          63  +
        /* BuilderGenerator.kt:175 */
   38     64   
    }
          65  +
    /* ErrorGenerator.kt:81 */
   39     66   
}
   40     67   
   41         -
/// A builder for [`TableNotFoundError`](crate::types::error::TableNotFoundError).
          68  +
/// /* BuilderGenerator.kt:342 */A builder for [`TableNotFoundError`](crate::types::error::TableNotFoundError).
          69  +
/* RustType.kt:516 */
   42     70   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          71  +
/* RustType.kt:516 */
   43     72   
#[non_exhaustive]
          73  +
/* BuilderGenerator.kt:345 */
   44     74   
pub struct TableNotFoundErrorBuilder {
   45         -
    pub(crate) message: ::std::option::Option<::std::string::String>,
   46         -
    meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
          75  +
    /* BuilderGenerator.kt:275 */ pub(crate) message: ::std::option::Option<::std::string::String>,
          76  +
    /* ErrorGenerator.kt:97 */ meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
          77  +
    /* BuilderGenerator.kt:345 */
   47     78   
}
          79  +
/* BuilderGenerator.kt:355 */
   48     80   
impl TableNotFoundErrorBuilder {
          81  +
    /* BuilderGenerator.kt:286 */
   49     82   
    #[allow(missing_docs)] // documentation missing in model
          83  +
                           /* BuilderGenerator.kt:291 */
   50     84   
    pub fn message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          85  +
        /* BuilderGenerator.kt:292 */
   51     86   
        self.message = ::std::option::Option::Some(input.into());
          87  +
        /* BuilderGenerator.kt:293 */
   52     88   
        self
          89  +
        /* BuilderGenerator.kt:291 */
   53     90   
    }
          91  +
    /* BuilderGenerator.kt:312 */
   54     92   
    #[allow(missing_docs)] // documentation missing in model
          93  +
                           /* BuilderGenerator.kt:314 */
   55     94   
    pub fn set_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          95  +
        /* BuilderGenerator.kt:315 */
   56     96   
        self.message = input;
   57     97   
        self
          98  +
        /* BuilderGenerator.kt:314 */
   58     99   
    }
         100  +
    /* BuilderGenerator.kt:334 */
   59    101   
    #[allow(missing_docs)] // documentation missing in model
         102  +
                           /* BuilderGenerator.kt:336 */
   60    103   
    pub fn get_message(&self) -> &::std::option::Option<::std::string::String> {
         104  +
        /* BuilderGenerator.kt:337 */
   61    105   
        &self.message
         106  +
        /* BuilderGenerator.kt:336 */
   62    107   
    }
         108  +
    /* ErrorGenerator.kt:101 */
   63    109   
    /// Sets error metadata
   64    110   
    pub fn meta(mut self, meta: ::aws_smithy_types::error::ErrorMetadata) -> Self {
   65    111   
        self.meta = Some(meta);
   66    112   
        self
   67    113   
    }
   68    114   
   69    115   
    /// Sets error metadata
   70    116   
    pub fn set_meta(&mut self, meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>) -> &mut Self {
   71    117   
        self.meta = meta;
   72    118   
        self
   73    119   
    }
   74         -
    /// Consumes the builder and constructs a [`TableNotFoundError`](crate::types::error::TableNotFoundError).
         120  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`TableNotFoundError`](crate::types::error::TableNotFoundError).
         121  +
    /* BuilderGenerator.kt:253 */
   75    122   
    pub fn build(self) -> crate::types::error::TableNotFoundError {
         123  +
        /* BuilderGenerator.kt:477 */
   76    124   
        crate::types::error::TableNotFoundError {
   77         -
            message: self.message,
         125  +
            /* BuilderGenerator.kt:481 */ message: self.message,
         126  +
            /* ErrorGenerator.kt:120 */
   78    127   
            meta: self.meta.unwrap_or_default(),
         128  +
            /* BuilderGenerator.kt:477 */
   79    129   
        }
         130  +
        /* BuilderGenerator.kt:253 */
   80    131   
    }
         132  +
    /* BuilderGenerator.kt:355 */
   81    133   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/types/error/_transaction_canceled_exception.rs

@@ -1,1 +33,33 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>The entire transaction request was canceled.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>The entire transaction request was canceled.</p>
    4      4   
/// <p>DynamoDB cancels a <code>TransactWriteItems</code> request under the following circumstances:</p>
    5      5   
/// <ul>
    6      6   
/// <li>
    7      7   
/// <p>A condition in one of the condition expressions is not met.</p></li>
    8      8   
/// <li>
    9      9   
/// <p>A table in the <code>TransactWriteItems</code> request is in a different account or region.</p></li>
   10     10   
/// <li>
   11     11   
/// <p>More than one action in the <code>TransactWriteItems</code> operation targets the same item.</p></li>
   12     12   
/// <li>
   13     13   
/// <p>There is insufficient provisioned capacity for the transaction to be completed.</p></li>
@@ -103,103 +242,314 @@
  123    123   
/// <p>Type mismatch for attribute to update.</p></li>
  124    124   
/// <li>
  125    125   
/// <p>Nesting Levels have exceeded supported limits.</p></li>
  126    126   
/// <li>
  127    127   
/// <p>The document path provided in the update expression is invalid for update.</p></li>
  128    128   
/// <li>
  129    129   
/// <p>The provided expression refers to an attribute that does not exist in the item.</p></li>
  130    130   
/// </ul></li>
  131    131   
/// </ul></li>
  132    132   
/// </ul>
         133  +
/* RustType.kt:516 */
  133    134   
#[non_exhaustive]
         135  +
/* RustType.kt:516 */
  134    136   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  135         -
pub struct TransactionCanceledError {
         137  +
pub /* StructureGenerator.kt:201 */ struct TransactionCanceledError {
         138  +
    /* StructureGenerator.kt:231 */
  136    139   
    #[allow(missing_docs)] // documentation missing in model
  137    140   
    pub message: ::std::option::Option<::std::string::String>,
  138         -
    /// <p>A list of cancellation reasons.</p>
         141  +
    /// /* StructureGenerator.kt:231 */<p>A list of cancellation reasons.</p>
  139    142   
    pub cancellation_reasons: ::std::option::Option<::std::vec::Vec<crate::types::CancellationReason>>,
  140         -
    pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
         143  +
    /* ErrorGenerator.kt:53 */ pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
         144  +
    /* StructureGenerator.kt:201 */
  141    145   
}
         146  +
/* StructureGenerator.kt:135 */
  142    147   
impl TransactionCanceledError {
  143         -
    /// <p>A list of cancellation reasons.</p>
  144         -
    ///
  145         -
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.cancellation_reasons.is_none()`.
         148  +
    /// /* StructureGenerator.kt:231 */<p>A list of cancellation reasons.</p>
         149  +
    /// /* StructureGenerator.kt:162 */
         150  +
    /// /* 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 `.cancellation_reasons.is_none()`.
         151  +
    /* StructureGenerator.kt:166 */
  146    152   
    pub fn cancellation_reasons(&self) -> &[crate::types::CancellationReason] {
  147         -
        self.cancellation_reasons.as_deref().unwrap_or_default()
         153  +
        /* StructureGenerator.kt:169 */
         154  +
        self.cancellation_reasons
         155  +
            .as_deref()
         156  +
            /* StructureGenerator.kt:175 */
         157  +
            .unwrap_or_default()
         158  +
        /* StructureGenerator.kt:166 */
  148    159   
    }
         160  +
    /* StructureGenerator.kt:135 */
  149    161   
}
         162  +
/* ErrorImplGenerator.kt:99 */
  150    163   
impl TransactionCanceledError {
         164  +
    /* ErrorImplGenerator.kt:128 */
  151    165   
    /// Returns the error message.
  152    166   
    pub fn message(&self) -> ::std::option::Option<&str> {
  153    167   
        self.message.as_deref()
  154    168   
    }
         169  +
    /* ErrorImplGenerator.kt:99 */
  155    170   
}
         171  +
/* ErrorImplGenerator.kt:153 */
  156    172   
impl ::std::fmt::Display for TransactionCanceledError {
         173  +
    /* ErrorImplGenerator.kt:154 */
  157    174   
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         175  +
        /* ErrorImplGenerator.kt:161 */
  158    176   
        ::std::write!(f, "TransactionCanceledError [TransactionCanceledException]")?;
         177  +
        /* ErrorImplGenerator.kt:166 */
  159    178   
        if let ::std::option::Option::Some(inner_1) = &self.message {
         179  +
            /* ErrorImplGenerator.kt:166 */
  160    180   
            {
         181  +
                /* ErrorImplGenerator.kt:167 */
  161    182   
                ::std::write!(f, ": {}", inner_1)?;
         183  +
                /* ErrorImplGenerator.kt:166 */
  162    184   
            }
         185  +
            /* ErrorImplGenerator.kt:166 */
  163    186   
        }
         187  +
        /* ErrorImplGenerator.kt:171 */
  164    188   
        Ok(())
         189  +
        /* ErrorImplGenerator.kt:154 */
  165    190   
    }
         191  +
    /* ErrorImplGenerator.kt:153 */
  166    192   
}
         193  +
/* ErrorImplGenerator.kt:175 */
  167    194   
impl ::std::error::Error for TransactionCanceledError {}
         195  +
/* ErrorGenerator.kt:77 */
  168    196   
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for TransactionCanceledError {
         197  +
    /* ErrorGenerator.kt:78 */
  169    198   
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
  170    199   
        &self.meta
  171    200   
    }
         201  +
    /* ErrorGenerator.kt:77 */
  172    202   
}
         203  +
/* ErrorGenerator.kt:81 */
  173    204   
impl TransactionCanceledError {
  174         -
    /// Creates a new builder-style object to manufacture [`TransactionCanceledError`](crate::types::error::TransactionCanceledError).
         205  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`TransactionCanceledError`](crate::types::error::TransactionCanceledError).
         206  +
    /* BuilderGenerator.kt:175 */
  175    207   
    pub fn builder() -> crate::types::error::builders::TransactionCanceledErrorBuilder {
         208  +
        /* BuilderGenerator.kt:176 */
  176    209   
        crate::types::error::builders::TransactionCanceledErrorBuilder::default()
         210  +
        /* BuilderGenerator.kt:175 */
  177    211   
    }
         212  +
    /* ErrorGenerator.kt:81 */
  178    213   
}
  179    214   
  180         -
/// A builder for [`TransactionCanceledError`](crate::types::error::TransactionCanceledError).
         215  +
/// /* BuilderGenerator.kt:342 */A builder for [`TransactionCanceledError`](crate::types::error::TransactionCanceledError).
         216  +
/* RustType.kt:516 */
  181    217   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         218  +
/* RustType.kt:516 */
  182    219   
#[non_exhaustive]
         220  +
/* BuilderGenerator.kt:345 */
  183    221   
pub struct TransactionCanceledErrorBuilder {
  184         -
    pub(crate) message: ::std::option::Option<::std::string::String>,
  185         -
    pub(crate) cancellation_reasons: ::std::option::Option<::std::vec::Vec<crate::types::CancellationReason>>,
  186         -
    meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
         222  +
    /* BuilderGenerator.kt:275 */ pub(crate) message: ::std::option::Option<::std::string::String>,
         223  +
    /* BuilderGenerator.kt:275 */ pub(crate) cancellation_reasons: ::std::option::Option<::std::vec::Vec<crate::types::CancellationReason>>,
         224  +
    /* ErrorGenerator.kt:97 */ meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
         225  +
    /* BuilderGenerator.kt:345 */
  187    226   
}
         227  +
/* BuilderGenerator.kt:355 */
  188    228   
impl TransactionCanceledErrorBuilder {
         229  +
    /* BuilderGenerator.kt:286 */
  189    230   
    #[allow(missing_docs)] // documentation missing in model
         231  +
                           /* BuilderGenerator.kt:291 */
  190    232   
    pub fn message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         233  +
        /* BuilderGenerator.kt:292 */
  191    234   
        self.message = ::std::option::Option::Some(input.into());
         235  +
        /* BuilderGenerator.kt:293 */
  192    236   
        self
         237  +
        /* BuilderGenerator.kt:291 */
  193    238   
    }
         239  +
    /* BuilderGenerator.kt:312 */
  194    240   
    #[allow(missing_docs)] // documentation missing in model
         241  +
                           /* BuilderGenerator.kt:314 */
  195    242   
    pub fn set_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         243  +
        /* BuilderGenerator.kt:315 */
  196    244   
        self.message = input;
  197    245   
        self
         246  +
        /* BuilderGenerator.kt:314 */
  198    247   
    }
         248  +
    /* BuilderGenerator.kt:334 */
  199    249   
    #[allow(missing_docs)] // documentation missing in model
         250  +
                           /* BuilderGenerator.kt:336 */
  200    251   
    pub fn get_message(&self) -> &::std::option::Option<::std::string::String> {
         252  +
        /* BuilderGenerator.kt:337 */
  201    253   
        &self.message
         254  +
        /* BuilderGenerator.kt:336 */
  202    255   
    }
  203         -
    /// Appends an item to `cancellation_reasons`.
         256  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `cancellation_reasons`.
         257  +
    /* BuilderGenerator.kt:411 */
  204    258   
    ///
  205         -
    /// To override the contents of this collection use [`set_cancellation_reasons`](Self::set_cancellation_reasons).
         259  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_cancellation_reasons`](Self::set_cancellation_reasons).
         260  +
    /* BuilderGenerator.kt:413 */
  206    261   
    ///
  207         -
    /// <p>A list of cancellation reasons.</p>
         262  +
    /// /* BuilderGenerator.kt:414 */<p>A list of cancellation reasons.</p>
         263  +
    /* BuilderGenerator.kt:418 */
  208    264   
    pub fn cancellation_reasons(mut self, input: crate::types::CancellationReason) -> Self {
         265  +
        /* BuilderGenerator.kt:419 */
  209    266   
        let mut v = self.cancellation_reasons.unwrap_or_default();
  210    267   
        v.push(input);
  211    268   
        self.cancellation_reasons = ::std::option::Option::Some(v);
  212    269   
        self
         270  +
        /* BuilderGenerator.kt:418 */
  213    271   
    }
  214         -
    /// <p>A list of cancellation reasons.</p>
         272  +
    /// /* BuilderGenerator.kt:312 */<p>A list of cancellation reasons.</p>
         273  +
    /* BuilderGenerator.kt:314 */
  215    274   
    pub fn set_cancellation_reasons(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::CancellationReason>>) -> Self {
         275  +
        /* BuilderGenerator.kt:315 */
  216    276   
        self.cancellation_reasons = input;
  217    277   
        self
         278  +
        /* BuilderGenerator.kt:314 */
  218    279   
    }
  219         -
    /// <p>A list of cancellation reasons.</p>
         280  +
    /// /* BuilderGenerator.kt:334 */<p>A list of cancellation reasons.</p>
         281  +
    /* BuilderGenerator.kt:336 */
  220    282   
    pub fn get_cancellation_reasons(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::CancellationReason>> {
         283  +
        /* BuilderGenerator.kt:337 */
  221    284   
        &self.cancellation_reasons
         285  +
        /* BuilderGenerator.kt:336 */
  222    286   
    }
         287  +
    /* ErrorGenerator.kt:101 */
  223    288   
    /// Sets error metadata
  224    289   
    pub fn meta(mut self, meta: ::aws_smithy_types::error::ErrorMetadata) -> Self {
  225    290   
        self.meta = Some(meta);
  226    291   
        self
  227    292   
    }
  228    293   
  229    294   
    /// Sets error metadata
  230    295   
    pub fn set_meta(&mut self, meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>) -> &mut Self {
  231    296   
        self.meta = meta;
  232    297   
        self
  233    298   
    }
  234         -
    /// Consumes the builder and constructs a [`TransactionCanceledError`](crate::types::error::TransactionCanceledError).
         299  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`TransactionCanceledError`](crate::types::error::TransactionCanceledError).
         300  +
    /* BuilderGenerator.kt:253 */
  235    301   
    pub fn build(self) -> crate::types::error::TransactionCanceledError {
         302  +
        /* BuilderGenerator.kt:477 */
  236    303   
        crate::types::error::TransactionCanceledError {
  237         -
            message: self.message,
         304  +
            /* BuilderGenerator.kt:481 */ message: self.message,
         305  +
            /* BuilderGenerator.kt:481 */
  238    306   
            cancellation_reasons: self.cancellation_reasons,
         307  +
            /* ErrorGenerator.kt:120 */
  239    308   
            meta: self.meta.unwrap_or_default(),
         309  +
            /* BuilderGenerator.kt:477 */
  240    310   
        }
         311  +
        /* BuilderGenerator.kt:253 */
  241    312   
    }
         313  +
    /* BuilderGenerator.kt:355 */
  242    314   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/types/error/_transaction_conflict_exception.rs

@@ -1,1 +81,133 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Operation was rejected because there is an ongoing transaction for the item.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Operation was rejected because there is an ongoing transaction for the item.</p>
           4  +
/* RustType.kt:516 */
    4      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    5      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct TransactionConflictError {
           8  +
pub /* StructureGenerator.kt:201 */ struct TransactionConflictError {
           9  +
    /* StructureGenerator.kt:231 */
    7     10   
    #[allow(missing_docs)] // documentation missing in model
    8     11   
    pub message: ::std::option::Option<::std::string::String>,
    9         -
    pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
          12  +
    /* ErrorGenerator.kt:53 */ pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
          13  +
    /* StructureGenerator.kt:201 */
   10     14   
}
          15  +
/* ErrorImplGenerator.kt:99 */
   11     16   
impl TransactionConflictError {
          17  +
    /* ErrorImplGenerator.kt:128 */
   12     18   
    /// Returns the error message.
   13     19   
    pub fn message(&self) -> ::std::option::Option<&str> {
   14     20   
        self.message.as_deref()
   15     21   
    }
          22  +
    /* ErrorImplGenerator.kt:99 */
   16     23   
}
          24  +
/* ErrorImplGenerator.kt:153 */
   17     25   
impl ::std::fmt::Display for TransactionConflictError {
          26  +
    /* ErrorImplGenerator.kt:154 */
   18     27   
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
          28  +
        /* ErrorImplGenerator.kt:161 */
   19     29   
        ::std::write!(f, "TransactionConflictError [TransactionConflictException]")?;
          30  +
        /* ErrorImplGenerator.kt:166 */
   20     31   
        if let ::std::option::Option::Some(inner_1) = &self.message {
          32  +
            /* ErrorImplGenerator.kt:166 */
   21     33   
            {
          34  +
                /* ErrorImplGenerator.kt:167 */
   22     35   
                ::std::write!(f, ": {}", inner_1)?;
          36  +
                /* ErrorImplGenerator.kt:166 */
   23     37   
            }
          38  +
            /* ErrorImplGenerator.kt:166 */
   24     39   
        }
          40  +
        /* ErrorImplGenerator.kt:171 */
   25     41   
        Ok(())
          42  +
        /* ErrorImplGenerator.kt:154 */
   26     43   
    }
          44  +
    /* ErrorImplGenerator.kt:153 */
   27     45   
}
          46  +
/* ErrorImplGenerator.kt:175 */
   28     47   
impl ::std::error::Error for TransactionConflictError {}
          48  +
/* ErrorGenerator.kt:77 */
   29     49   
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for TransactionConflictError {
          50  +
    /* ErrorGenerator.kt:78 */
   30     51   
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
   31     52   
        &self.meta
   32     53   
    }
          54  +
    /* ErrorGenerator.kt:77 */
   33     55   
}
          56  +
/* ErrorGenerator.kt:81 */
   34     57   
impl TransactionConflictError {
   35         -
    /// Creates a new builder-style object to manufacture [`TransactionConflictError`](crate::types::error::TransactionConflictError).
          58  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`TransactionConflictError`](crate::types::error::TransactionConflictError).
          59  +
    /* BuilderGenerator.kt:175 */
   36     60   
    pub fn builder() -> crate::types::error::builders::TransactionConflictErrorBuilder {
          61  +
        /* BuilderGenerator.kt:176 */
   37     62   
        crate::types::error::builders::TransactionConflictErrorBuilder::default()
          63  +
        /* BuilderGenerator.kt:175 */
   38     64   
    }
          65  +
    /* ErrorGenerator.kt:81 */
   39     66   
}
   40     67   
   41         -
/// A builder for [`TransactionConflictError`](crate::types::error::TransactionConflictError).
          68  +
/// /* BuilderGenerator.kt:342 */A builder for [`TransactionConflictError`](crate::types::error::TransactionConflictError).
          69  +
/* RustType.kt:516 */
   42     70   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          71  +
/* RustType.kt:516 */
   43     72   
#[non_exhaustive]
          73  +
/* BuilderGenerator.kt:345 */
   44     74   
pub struct TransactionConflictErrorBuilder {
   45         -
    pub(crate) message: ::std::option::Option<::std::string::String>,
   46         -
    meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
          75  +
    /* BuilderGenerator.kt:275 */ pub(crate) message: ::std::option::Option<::std::string::String>,
          76  +
    /* ErrorGenerator.kt:97 */ meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
          77  +
    /* BuilderGenerator.kt:345 */
   47     78   
}
          79  +
/* BuilderGenerator.kt:355 */
   48     80   
impl TransactionConflictErrorBuilder {
          81  +
    /* BuilderGenerator.kt:286 */
   49     82   
    #[allow(missing_docs)] // documentation missing in model
          83  +
                           /* BuilderGenerator.kt:291 */
   50     84   
    pub fn message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          85  +
        /* BuilderGenerator.kt:292 */
   51     86   
        self.message = ::std::option::Option::Some(input.into());
          87  +
        /* BuilderGenerator.kt:293 */
   52     88   
        self
          89  +
        /* BuilderGenerator.kt:291 */
   53     90   
    }
          91  +
    /* BuilderGenerator.kt:312 */
   54     92   
    #[allow(missing_docs)] // documentation missing in model
          93  +
                           /* BuilderGenerator.kt:314 */
   55     94   
    pub fn set_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          95  +
        /* BuilderGenerator.kt:315 */
   56     96   
        self.message = input;
   57     97   
        self
          98  +
        /* BuilderGenerator.kt:314 */
   58     99   
    }
         100  +
    /* BuilderGenerator.kt:334 */
   59    101   
    #[allow(missing_docs)] // documentation missing in model
         102  +
                           /* BuilderGenerator.kt:336 */
   60    103   
    pub fn get_message(&self) -> &::std::option::Option<::std::string::String> {
         104  +
        /* BuilderGenerator.kt:337 */
   61    105   
        &self.message
         106  +
        /* BuilderGenerator.kt:336 */
   62    107   
    }
         108  +
    /* ErrorGenerator.kt:101 */
   63    109   
    /// Sets error metadata
   64    110   
    pub fn meta(mut self, meta: ::aws_smithy_types::error::ErrorMetadata) -> Self {
   65    111   
        self.meta = Some(meta);
   66    112   
        self
   67    113   
    }
   68    114   
   69    115   
    /// Sets error metadata
   70    116   
    pub fn set_meta(&mut self, meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>) -> &mut Self {
   71    117   
        self.meta = meta;
   72    118   
        self
   73    119   
    }
   74         -
    /// Consumes the builder and constructs a [`TransactionConflictError`](crate::types::error::TransactionConflictError).
         120  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`TransactionConflictError`](crate::types::error::TransactionConflictError).
         121  +
    /* BuilderGenerator.kt:253 */
   75    122   
    pub fn build(self) -> crate::types::error::TransactionConflictError {
         123  +
        /* BuilderGenerator.kt:477 */
   76    124   
        crate::types::error::TransactionConflictError {
   77         -
            message: self.message,
         125  +
            /* BuilderGenerator.kt:481 */ message: self.message,
         126  +
            /* ErrorGenerator.kt:120 */
   78    127   
            meta: self.meta.unwrap_or_default(),
         128  +
            /* BuilderGenerator.kt:477 */
   79    129   
        }
         130  +
        /* BuilderGenerator.kt:253 */
   80    131   
    }
         132  +
    /* BuilderGenerator.kt:355 */
   81    133   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/types/error/_transaction_in_progress_exception.rs

@@ -1,1 +81,133 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>The transaction with the given request token is already in progress.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>The transaction with the given request token is already in progress.</p>
           4  +
/* RustType.kt:516 */
    4      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    5      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct TransactionInProgressError {
           8  +
pub /* StructureGenerator.kt:201 */ struct TransactionInProgressError {
           9  +
    /* StructureGenerator.kt:231 */
    7     10   
    #[allow(missing_docs)] // documentation missing in model
    8     11   
    pub message: ::std::option::Option<::std::string::String>,
    9         -
    pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
          12  +
    /* ErrorGenerator.kt:53 */ pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
          13  +
    /* StructureGenerator.kt:201 */
   10     14   
}
          15  +
/* ErrorImplGenerator.kt:99 */
   11     16   
impl TransactionInProgressError {
          17  +
    /* ErrorImplGenerator.kt:128 */
   12     18   
    /// Returns the error message.
   13     19   
    pub fn message(&self) -> ::std::option::Option<&str> {
   14     20   
        self.message.as_deref()
   15     21   
    }
          22  +
    /* ErrorImplGenerator.kt:99 */
   16     23   
}
          24  +
/* ErrorImplGenerator.kt:153 */
   17     25   
impl ::std::fmt::Display for TransactionInProgressError {
          26  +
    /* ErrorImplGenerator.kt:154 */
   18     27   
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
          28  +
        /* ErrorImplGenerator.kt:161 */
   19     29   
        ::std::write!(f, "TransactionInProgressError [TransactionInProgressException]")?;
          30  +
        /* ErrorImplGenerator.kt:166 */
   20     31   
        if let ::std::option::Option::Some(inner_1) = &self.message {
          32  +
            /* ErrorImplGenerator.kt:166 */
   21     33   
            {
          34  +
                /* ErrorImplGenerator.kt:167 */
   22     35   
                ::std::write!(f, ": {}", inner_1)?;
          36  +
                /* ErrorImplGenerator.kt:166 */
   23     37   
            }
          38  +
            /* ErrorImplGenerator.kt:166 */
   24     39   
        }
          40  +
        /* ErrorImplGenerator.kt:171 */
   25     41   
        Ok(())
          42  +
        /* ErrorImplGenerator.kt:154 */
   26     43   
    }
          44  +
    /* ErrorImplGenerator.kt:153 */
   27     45   
}
          46  +
/* ErrorImplGenerator.kt:175 */
   28     47   
impl ::std::error::Error for TransactionInProgressError {}
          48  +
/* ErrorGenerator.kt:77 */
   29     49   
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for TransactionInProgressError {
          50  +
    /* ErrorGenerator.kt:78 */
   30     51   
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
   31     52   
        &self.meta
   32     53   
    }
          54  +
    /* ErrorGenerator.kt:77 */
   33     55   
}
          56  +
/* ErrorGenerator.kt:81 */
   34     57   
impl TransactionInProgressError {
   35         -
    /// Creates a new builder-style object to manufacture [`TransactionInProgressError`](crate::types::error::TransactionInProgressError).
          58  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`TransactionInProgressError`](crate::types::error::TransactionInProgressError).
          59  +
    /* BuilderGenerator.kt:175 */
   36     60   
    pub fn builder() -> crate::types::error::builders::TransactionInProgressErrorBuilder {
          61  +
        /* BuilderGenerator.kt:176 */
   37     62   
        crate::types::error::builders::TransactionInProgressErrorBuilder::default()
          63  +
        /* BuilderGenerator.kt:175 */
   38     64   
    }
          65  +
    /* ErrorGenerator.kt:81 */
   39     66   
}
   40     67   
   41         -
/// A builder for [`TransactionInProgressError`](crate::types::error::TransactionInProgressError).
          68  +
/// /* BuilderGenerator.kt:342 */A builder for [`TransactionInProgressError`](crate::types::error::TransactionInProgressError).
          69  +
/* RustType.kt:516 */
   42     70   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          71  +
/* RustType.kt:516 */
   43     72   
#[non_exhaustive]
          73  +
/* BuilderGenerator.kt:345 */
   44     74   
pub struct TransactionInProgressErrorBuilder {
   45         -
    pub(crate) message: ::std::option::Option<::std::string::String>,
   46         -
    meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
          75  +
    /* BuilderGenerator.kt:275 */ pub(crate) message: ::std::option::Option<::std::string::String>,
          76  +
    /* ErrorGenerator.kt:97 */ meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
          77  +
    /* BuilderGenerator.kt:345 */
   47     78   
}
          79  +
/* BuilderGenerator.kt:355 */
   48     80   
impl TransactionInProgressErrorBuilder {
          81  +
    /* BuilderGenerator.kt:286 */
   49     82   
    #[allow(missing_docs)] // documentation missing in model
          83  +
                           /* BuilderGenerator.kt:291 */
   50     84   
    pub fn message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          85  +
        /* BuilderGenerator.kt:292 */
   51     86   
        self.message = ::std::option::Option::Some(input.into());
          87  +
        /* BuilderGenerator.kt:293 */
   52     88   
        self
          89  +
        /* BuilderGenerator.kt:291 */
   53     90   
    }
          91  +
    /* BuilderGenerator.kt:312 */
   54     92   
    #[allow(missing_docs)] // documentation missing in model
          93  +
                           /* BuilderGenerator.kt:314 */
   55     94   
    pub fn set_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          95  +
        /* BuilderGenerator.kt:315 */
   56     96   
        self.message = input;
   57     97   
        self
          98  +
        /* BuilderGenerator.kt:314 */
   58     99   
    }
         100  +
    /* BuilderGenerator.kt:334 */
   59    101   
    #[allow(missing_docs)] // documentation missing in model
         102  +
                           /* BuilderGenerator.kt:336 */
   60    103   
    pub fn get_message(&self) -> &::std::option::Option<::std::string::String> {
         104  +
        /* BuilderGenerator.kt:337 */
   61    105   
        &self.message
         106  +
        /* BuilderGenerator.kt:336 */
   62    107   
    }
         108  +
    /* ErrorGenerator.kt:101 */
   63    109   
    /// Sets error metadata
   64    110   
    pub fn meta(mut self, meta: ::aws_smithy_types::error::ErrorMetadata) -> Self {
   65    111   
        self.meta = Some(meta);
   66    112   
        self
   67    113   
    }
   68    114   
   69    115   
    /// Sets error metadata
   70    116   
    pub fn set_meta(&mut self, meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>) -> &mut Self {
   71    117   
        self.meta = meta;
   72    118   
        self
   73    119   
    }
   74         -
    /// Consumes the builder and constructs a [`TransactionInProgressError`](crate::types::error::TransactionInProgressError).
         120  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`TransactionInProgressError`](crate::types::error::TransactionInProgressError).
         121  +
    /* BuilderGenerator.kt:253 */
   75    122   
    pub fn build(self) -> crate::types::error::TransactionInProgressError {
         123  +
        /* BuilderGenerator.kt:477 */
   76    124   
        crate::types::error::TransactionInProgressError {
   77         -
            message: self.message,
         125  +
            /* BuilderGenerator.kt:481 */ message: self.message,
         126  +
            /* ErrorGenerator.kt:120 */
   78    127   
            meta: self.meta.unwrap_or_default(),
         128  +
            /* BuilderGenerator.kt:477 */
   79    129   
        }
         130  +
        /* BuilderGenerator.kt:253 */
   80    131   
    }
         132  +
    /* BuilderGenerator.kt:355 */
   81    133   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/types/error/builders.rs

@@ -1,1 +60,90 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CodegenDelegator.kt:255 */
    2      3   
pub use crate::types::error::_resource_not_found_exception::ResourceNotFoundErrorBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::types::error::_resource_in_use_exception::ResourceInUseErrorBuilder;
    5      7   
           8  +
/* CodegenDelegator.kt:255 */
    6      9   
pub use crate::types::error::_limit_exceeded_exception::LimitExceededErrorBuilder;
    7     10   
          11  +
/* CodegenDelegator.kt:255 */
    8     12   
pub use crate::types::error::_invalid_endpoint_exception::InvalidEndpointErrorBuilder;
    9     13   
          14  +
/* CodegenDelegator.kt:255 */
   10     15   
pub use crate::types::error::_internal_server_error::InternalServerErrorBuilder;
   11     16   
          17  +
/* CodegenDelegator.kt:255 */
   12     18   
pub use crate::types::error::_transaction_conflict_exception::TransactionConflictErrorBuilder;
   13     19   
          20  +
/* CodegenDelegator.kt:255 */
   14     21   
pub use crate::types::error::_request_limit_exceeded::RequestLimitExceededBuilder;
   15     22   
          23  +
/* CodegenDelegator.kt:255 */
   16     24   
pub use crate::types::error::_provisioned_throughput_exceeded_exception::ProvisionedThroughputExceededErrorBuilder;
   17     25   
          26  +
/* CodegenDelegator.kt:255 */
   18     27   
pub use crate::types::error::_item_collection_size_limit_exceeded_exception::ItemCollectionSizeLimitExceededErrorBuilder;
   19     28   
          29  +
/* CodegenDelegator.kt:255 */
   20     30   
pub use crate::types::error::_conditional_check_failed_exception::ConditionalCheckFailedErrorBuilder;
   21     31   
          32  +
/* CodegenDelegator.kt:255 */
   22     33   
pub use crate::types::error::_replica_not_found_exception::ReplicaNotFoundErrorBuilder;
   23     34   
          35  +
/* CodegenDelegator.kt:255 */
   24     36   
pub use crate::types::error::_index_not_found_exception::IndexNotFoundErrorBuilder;
   25     37   
          38  +
/* CodegenDelegator.kt:255 */
   26     39   
pub use crate::types::error::_global_table_not_found_exception::GlobalTableNotFoundErrorBuilder;
   27     40   
          41  +
/* CodegenDelegator.kt:255 */
   28     42   
pub use crate::types::error::_table_not_found_exception::TableNotFoundErrorBuilder;
   29     43   
          44  +
/* CodegenDelegator.kt:255 */
   30     45   
pub use crate::types::error::_replica_already_exists_exception::ReplicaAlreadyExistsErrorBuilder;
   31     46   
          47  +
/* CodegenDelegator.kt:255 */
   32     48   
pub use crate::types::error::_continuous_backups_unavailable_exception::ContinuousBackupsUnavailableErrorBuilder;
   33     49   
          50  +
/* CodegenDelegator.kt:255 */
   34     51   
pub use crate::types::error::_transaction_in_progress_exception::TransactionInProgressErrorBuilder;
   35     52   
          53  +
/* CodegenDelegator.kt:255 */
   36     54   
pub use crate::types::error::_transaction_canceled_exception::TransactionCanceledErrorBuilder;
   37     55   
          56  +
/* CodegenDelegator.kt:255 */
   38     57   
pub use crate::types::error::_idempotent_parameter_mismatch_exception::IdempotentParameterMismatchErrorBuilder;
   39     58   
          59  +
/* CodegenDelegator.kt:255 */
   40     60   
pub use crate::types::error::_table_in_use_exception::TableInUseErrorBuilder;
   41     61   
          62  +
/* CodegenDelegator.kt:255 */
   42     63   
pub use crate::types::error::_table_already_exists_exception::TableAlreadyExistsErrorBuilder;
   43     64   
          65  +
/* CodegenDelegator.kt:255 */
   44     66   
pub use crate::types::error::_point_in_time_recovery_unavailable_exception::PointInTimeRecoveryUnavailableErrorBuilder;
   45     67   
          68  +
/* CodegenDelegator.kt:255 */
   46     69   
pub use crate::types::error::_invalid_restore_time_exception::InvalidRestoreTimeErrorBuilder;
   47     70   
          71  +
/* CodegenDelegator.kt:255 */
   48     72   
pub use crate::types::error::_backup_not_found_exception::BackupNotFoundErrorBuilder;
   49     73   
          74  +
/* CodegenDelegator.kt:255 */
   50     75   
pub use crate::types::error::_backup_in_use_exception::BackupInUseErrorBuilder;
   51     76   
          77  +
/* CodegenDelegator.kt:255 */
   52     78   
pub use crate::types::error::_invalid_export_time_exception::InvalidExportTimeErrorBuilder;
   53     79   
          80  +
/* CodegenDelegator.kt:255 */
   54     81   
pub use crate::types::error::_export_conflict_exception::ExportConflictErrorBuilder;
   55     82   
          83  +
/* CodegenDelegator.kt:255 */
   56     84   
pub use crate::types::error::_duplicate_item_exception::DuplicateItemErrorBuilder;
   57     85   
          86  +
/* CodegenDelegator.kt:255 */
   58     87   
pub use crate::types::error::_export_not_found_exception::ExportNotFoundErrorBuilder;
   59     88   
          89  +
/* CodegenDelegator.kt:255 */
   60     90   
pub use crate::types::error::_global_table_already_exists_exception::GlobalTableAlreadyExistsErrorBuilder;

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

@@ -1,1 +11,13 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// Supporting types for the `table_exists` waiter.
           2  +
/* CodegenDelegator.kt:51 */
           3  +
/// /* CodegenDelegator.kt:51 */Supporting types for the `table_exists` waiter.
    4      4   
pub mod table_exists;
    5      5   
    6         -
/// Supporting types for the `table_not_exists` waiter.
           6  +
/// /* CodegenDelegator.kt:51 */Supporting types for the `table_not_exists` waiter.
    7      7   
pub mod table_not_exists;
    8      8   
           9  +
/* RustType.kt:516 */
    9     10   
#[allow(clippy::needless_lifetimes)]
          11  +
/* RustType.kt:516 */
   10     12   
#[allow(clippy::let_and_return)]
   11     13   
pub(crate) mod matchers;

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/waiters/matchers.rs

@@ -1,1 +37,43 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// Matcher union: {"output":{"path":"Table.TableStatus","expected":"ACTIVE","comparator":"stringEquals"}}
           2  +
/* RustWaiterMatcherGenerator.kt:86 */
           3  +
/// /* RustWaiterMatcherGenerator.kt:86 */Matcher union: {"output":{"path":"Table.TableStatus","expected":"ACTIVE","comparator":"stringEquals"}}
           4  +
/* RustWaiterMatcherGenerator.kt:87 */
    4      5   
pub(crate) fn match_describe_table_0429b99996ae6dab6(
    5      6   
    _result: ::std::result::Result<&crate::operation::describe_table::DescribeTableOutput, &crate::operation::describe_table::DescribeTableError>,
    6      7   
) -> bool {
           8  +
    /* RustWaiterMatcherGenerator.kt:221 */
    7      9   
    fn path_traversal<'a>(
    8     10   
        _output: &'a crate::operation::describe_table::DescribeTableOutput,
    9     11   
    ) -> ::std::option::Option<&'a crate::types::TableStatus> {
   10     12   
        let _fld_1 = _output.table.as_ref()?;
   11     13   
        let _fld_2 = _fld_1.table_status.as_ref()?;
   12     14   
        ::std::option::Option::Some(_fld_2)
   13     15   
    }
   14     16   
    _result
   15     17   
        .as_ref()
   16     18   
        .ok()
   17     19   
        .and_then(|output| path_traversal(output))
   18     20   
        .map(|value| {
   19     21   
            let _tmp_2 = value.as_str();
   20     22   
            let right = "ACTIVE";
   21     23   
            let _cmp_1 = _tmp_2 == right;
   22     24   
            _cmp_1
   23     25   
        })
   24     26   
        .unwrap_or_default()
          27  +
    /* RustWaiterMatcherGenerator.kt:87 */
   25     28   
}
   26     29   
   27         -
/// Matcher union: {"errorType":"ResourceNotFoundException"}
          30  +
/// /* RustWaiterMatcherGenerator.kt:86 */Matcher union: {"errorType":"ResourceNotFoundException"}
          31  +
/* RustWaiterMatcherGenerator.kt:87 */
   28     32   
pub(crate) fn match_describe_table_1cce2c05524fb92d4(
   29     33   
    _result: ::std::result::Result<&crate::operation::describe_table::DescribeTableOutput, &crate::operation::describe_table::DescribeTableError>,
   30     34   
) -> bool {
          35  +
    /* RustWaiterMatcherGenerator.kt:254 */
   31     36   
    if let ::std::result::Result::Err(err) = _result {
   32     37   
        if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(err) {
   33     38   
            return code == "ResourceNotFoundException";
   34     39   
        }
   35     40   
    }
   36     41   
    false
          42  +
    /* RustWaiterMatcherGenerator.kt:87 */
   37     43   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/waiters/table_exists.rs

@@ -1,1 +113,125 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
///
           2  +
/* WaitableGenerator.kt:182 */
           3  +
/// /* WaitableGenerator.kt:182 */
    4      4   
/// Fluent builder for the `table_exists` waiter.
    5      5   
///
    6      6   
/// This builder is intended to be used similar to the other fluent builders for
    7      7   
/// normal operations on the client. However, instead of a `send` method, it has
    8      8   
/// a `wait` method that takes a maximum amount of time to wait.
    9      9   
///
   10     10   
/// Construct this fluent builder using the client by importing the
   11     11   
/// [`Waiters`](crate::client::Waiters) trait and calling the methods
   12     12   
/// prefixed with `wait_until`.
   13     13   
///
          14  +
/* RustType.kt:516 */
   14     15   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          16  +
/* FluentBuilderGenerator.kt:270 */
   15     17   
pub struct TableExistsFluentBuilder {
   16     18   
    handle: ::std::sync::Arc<crate::client::Handle>,
   17     19   
    inner: crate::operation::describe_table::builders::DescribeTableInputBuilder,
   18     20   
}
          21  +
/* FluentBuilderGenerator.kt:282 */
   19     22   
impl TableExistsFluentBuilder {
          23  +
    /* FluentBuilderGenerator.kt:288 */
   20     24   
    /// Creates a new `TableExistsFluentBuilder`.
   21     25   
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
   22     26   
        Self {
   23     27   
            handle,
   24     28   
            inner: ::std::default::Default::default(),
   25     29   
        }
   26     30   
    }
          31  +
    /* FluentBuilderGenerator.kt:301 */
   27     32   
    /// Access the DescribeTable as a reference.
   28     33   
    pub fn as_input(&self) -> &crate::operation::describe_table::builders::DescribeTableInputBuilder {
   29     34   
        &self.inner
   30     35   
    }
   31         -
    /// Wait for `table_exists`
          36  +
    /// /* WaitableGenerator.kt:200 */Wait for `table_exists`
          37  +
    /* WaitableGenerator.kt:201 */
   32     38   
    pub async fn wait(
   33     39   
        self,
   34     40   
        max_wait: ::std::time::Duration,
   35     41   
    ) -> ::std::result::Result<crate::waiters::table_exists::TableExistsFinalPoll, crate::waiters::table_exists::WaitUntilTableExistsError> {
   36     42   
        let input = self
   37     43   
            .inner
   38     44   
            .build()
   39     45   
            .map_err(::aws_smithy_runtime_api::client::waiters::error::WaiterError::construction_failure)?;
   40     46   
        let runtime_plugins = crate::operation::describe_table::DescribeTable::operation_runtime_plugins(
   41     47   
            self.handle.runtime_plugins.clone(),
   42     48   
            &self.handle.conf,
   43     49   
            ::std::option::Option::None,
   44     50   
        )
   45     51   
        .with_operation_plugin(crate::sdk_feature_tracker::waiter::WaiterFeatureTrackerRuntimePlugin::new());
   46     52   
        let mut cfg = ::aws_smithy_types::config_bag::ConfigBag::base();
   47     53   
        let runtime_components_builder = runtime_plugins
   48     54   
            .apply_client_configuration(&mut cfg)
   49     55   
            .map_err(::aws_smithy_runtime_api::client::waiters::error::WaiterError::construction_failure)?;
   50     56   
        let time_components = runtime_components_builder.into_time_components();
   51     57   
        let sleep_impl = time_components.sleep_impl().expect("a sleep impl is required by waiters");
   52     58   
        let time_source = time_components.time_source().expect("a time source is required by waiters");
   53     59   
   54     60   
        let acceptor = move |result: ::std::result::Result<
   55     61   
            &crate::operation::describe_table::DescribeTableOutput,
   56     62   
            &crate::operation::describe_table::DescribeTableError,
   57     63   
        >| {
   58     64   
            // Matches: {"output":{"path":"Table.TableStatus","expected":"ACTIVE","comparator":"stringEquals"}}
   59     65   
            if crate::waiters::matchers::match_describe_table_0429b99996ae6dab6(result) {
   60     66   
                return ::aws_smithy_runtime::client::waiters::AcceptorState::Success;
   61     67   
            }
   62     68   
            // Matches: {"errorType":"ResourceNotFoundException"}
   63     69   
            if crate::waiters::matchers::match_describe_table_1cce2c05524fb92d4(result) {
   64     70   
                return ::aws_smithy_runtime::client::waiters::AcceptorState::Retry;
   65     71   
            }
   66     72   
            ::aws_smithy_runtime::client::waiters::AcceptorState::NoAcceptorsMatched
   67     73   
        };
   68     74   
        let operation = move || {
   69     75   
            let input = input.clone();
   70     76   
            let runtime_plugins = runtime_plugins.clone();
   71     77   
            async move { crate::operation::describe_table::DescribeTable::orchestrate(&runtime_plugins, input).await }
   72     78   
        };
   73     79   
        let orchestrator = ::aws_smithy_runtime::client::waiters::WaiterOrchestrator::builder()
   74     80   
            .min_delay(::std::time::Duration::from_secs(20))
   75     81   
            .max_delay(::std::time::Duration::from_secs(120))
   76     82   
            .max_wait(max_wait)
   77     83   
            .time_source(time_source)
   78     84   
            .sleep_impl(sleep_impl)
   79     85   
            .acceptor(acceptor)
   80     86   
            .operation(operation)
   81     87   
            .build();
   82     88   
        ::aws_smithy_runtime::client::waiters::attach_waiter_tracing_span(orchestrator.orchestrate()).await
   83     89   
    }
   84         -
    /// <p>The name of the table to describe.</p>
          90  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the table to describe.</p>
          91  +
    /* FluentBuilderGenerator.kt:500 */
   85     92   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   86     93   
        self.inner = self.inner.table_name(input.into());
   87     94   
        self
   88     95   
    }
   89         -
    /// <p>The name of the table to describe.</p>
          96  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the table to describe.</p>
          97  +
    /* FluentBuilderGenerator.kt:500 */
   90     98   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
   91     99   
        self.inner = self.inner.set_table_name(input);
   92    100   
        self
   93    101   
    }
   94         -
    /// <p>The name of the table to describe.</p>
         102  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The name of the table to describe.</p>
         103  +
    /* FluentBuilderGenerator.kt:520 */
   95    104   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
   96    105   
        self.inner.get_table_name()
   97    106   
    }
         107  +
    /* FluentBuilderGenerator.kt:282 */
   98    108   
}
   99    109   
  100         -
/// Successful return type for the `table_exists` waiter.
         110  +
/// /* WaitableGenerator.kt:255 */Successful return type for the `table_exists` waiter.
         111  +
/* WaitableGenerator.kt:256 */
  101    112   
pub type TableExistsFinalPoll = ::aws_smithy_runtime_api::client::waiters::FinalPoll<
  102    113   
    crate::operation::describe_table::DescribeTableOutput,
  103    114   
    ::aws_smithy_runtime_api::client::result::SdkError<
  104    115   
        crate::operation::describe_table::DescribeTableError,
  105    116   
        ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  106    117   
    >,
  107    118   
>;
  108    119   
  109         -
/// Error type for the `table_exists` waiter.
         120  +
/// /* WaitableGenerator.kt:266 */Error type for the `table_exists` waiter.
         121  +
/* WaitableGenerator.kt:267 */
  110    122   
pub type WaitUntilTableExistsError = ::aws_smithy_runtime_api::client::waiters::error::WaiterError<
  111    123   
    crate::operation::describe_table::DescribeTableOutput,
  112    124   
    crate::operation::describe_table::DescribeTableError,
  113    125   
>;

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/waiters/table_not_exists.rs

@@ -1,1 +112,124 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
///
           2  +
/* WaitableGenerator.kt:182 */
           3  +
/// /* WaitableGenerator.kt:182 */
    4      4   
/// Fluent builder for the `table_not_exists` waiter.
    5      5   
///
    6      6   
/// This builder is intended to be used similar to the other fluent builders for
    7      7   
/// normal operations on the client. However, instead of a `send` method, it has
    8      8   
/// a `wait` method that takes a maximum amount of time to wait.
    9      9   
///
   10     10   
/// Construct this fluent builder using the client by importing the
   11     11   
/// [`Waiters`](crate::client::Waiters) trait and calling the methods
   12     12   
/// prefixed with `wait_until`.
   13     13   
///
          14  +
/* RustType.kt:516 */
   14     15   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          16  +
/* FluentBuilderGenerator.kt:270 */
   15     17   
pub struct TableNotExistsFluentBuilder {
   16     18   
    handle: ::std::sync::Arc<crate::client::Handle>,
   17     19   
    inner: crate::operation::describe_table::builders::DescribeTableInputBuilder,
   18     20   
}
          21  +
/* FluentBuilderGenerator.kt:282 */
   19     22   
impl TableNotExistsFluentBuilder {
          23  +
    /* FluentBuilderGenerator.kt:288 */
   20     24   
    /// Creates a new `TableNotExistsFluentBuilder`.
   21     25   
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
   22     26   
        Self {
   23     27   
            handle,
   24     28   
            inner: ::std::default::Default::default(),
   25     29   
        }
   26     30   
    }
          31  +
    /* FluentBuilderGenerator.kt:301 */
   27     32   
    /// Access the DescribeTable as a reference.
   28     33   
    pub fn as_input(&self) -> &crate::operation::describe_table::builders::DescribeTableInputBuilder {
   29     34   
        &self.inner
   30     35   
    }
   31         -
    /// Wait for `table_not_exists`
          36  +
    /// /* WaitableGenerator.kt:200 */Wait for `table_not_exists`
          37  +
    /* WaitableGenerator.kt:201 */
   32     38   
    pub async fn wait(
   33     39   
        self,
   34     40   
        max_wait: ::std::time::Duration,
   35     41   
    ) -> ::std::result::Result<
   36     42   
        crate::waiters::table_not_exists::TableNotExistsFinalPoll,
   37     43   
        crate::waiters::table_not_exists::WaitUntilTableNotExistsError,
   38     44   
    > {
   39     45   
        let input = self
   40     46   
            .inner
   41     47   
            .build()
   42     48   
            .map_err(::aws_smithy_runtime_api::client::waiters::error::WaiterError::construction_failure)?;
   43     49   
        let runtime_plugins = crate::operation::describe_table::DescribeTable::operation_runtime_plugins(
   44     50   
            self.handle.runtime_plugins.clone(),
   45     51   
            &self.handle.conf,
   46     52   
            ::std::option::Option::None,
   47     53   
        )
   48     54   
        .with_operation_plugin(crate::sdk_feature_tracker::waiter::WaiterFeatureTrackerRuntimePlugin::new());
   49     55   
        let mut cfg = ::aws_smithy_types::config_bag::ConfigBag::base();
   50     56   
        let runtime_components_builder = runtime_plugins
   51     57   
            .apply_client_configuration(&mut cfg)
   52     58   
            .map_err(::aws_smithy_runtime_api::client::waiters::error::WaiterError::construction_failure)?;
   53     59   
        let time_components = runtime_components_builder.into_time_components();
   54     60   
        let sleep_impl = time_components.sleep_impl().expect("a sleep impl is required by waiters");
   55     61   
        let time_source = time_components.time_source().expect("a time source is required by waiters");
   56     62   
   57     63   
        let acceptor = move |result: ::std::result::Result<
   58     64   
            &crate::operation::describe_table::DescribeTableOutput,
   59     65   
            &crate::operation::describe_table::DescribeTableError,
   60     66   
        >| {
   61     67   
            // Matches: {"errorType":"ResourceNotFoundException"}
   62     68   
            if crate::waiters::matchers::match_describe_table_1cce2c05524fb92d4(result) {
   63     69   
                return ::aws_smithy_runtime::client::waiters::AcceptorState::Success;
   64     70   
            }
   65     71   
            ::aws_smithy_runtime::client::waiters::AcceptorState::NoAcceptorsMatched
   66     72   
        };
   67     73   
        let operation = move || {
   68     74   
            let input = input.clone();
   69     75   
            let runtime_plugins = runtime_plugins.clone();
   70     76   
            async move { crate::operation::describe_table::DescribeTable::orchestrate(&runtime_plugins, input).await }
   71     77   
        };
   72     78   
        let orchestrator = ::aws_smithy_runtime::client::waiters::WaiterOrchestrator::builder()
   73     79   
            .min_delay(::std::time::Duration::from_secs(20))
   74     80   
            .max_delay(::std::time::Duration::from_secs(120))
   75     81   
            .max_wait(max_wait)
   76     82   
            .time_source(time_source)
   77     83   
            .sleep_impl(sleep_impl)
   78     84   
            .acceptor(acceptor)
   79     85   
            .operation(operation)
   80     86   
            .build();
   81     87   
        ::aws_smithy_runtime::client::waiters::attach_waiter_tracing_span(orchestrator.orchestrate()).await
   82     88   
    }
   83         -
    /// <p>The name of the table to describe.</p>
          89  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the table to describe.</p>
          90  +
    /* FluentBuilderGenerator.kt:500 */
   84     91   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   85     92   
        self.inner = self.inner.table_name(input.into());
   86     93   
        self
   87     94   
    }
   88         -
    /// <p>The name of the table to describe.</p>
          95  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the table to describe.</p>
          96  +
    /* FluentBuilderGenerator.kt:500 */
   89     97   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
   90     98   
        self.inner = self.inner.set_table_name(input);
   91     99   
        self
   92    100   
    }
   93         -
    /// <p>The name of the table to describe.</p>
         101  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The name of the table to describe.</p>
         102  +
    /* FluentBuilderGenerator.kt:520 */
   94    103   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
   95    104   
        self.inner.get_table_name()
   96    105   
    }
         106  +
    /* FluentBuilderGenerator.kt:282 */
   97    107   
}
   98    108   
   99         -
/// Successful return type for the `table_not_exists` waiter.
         109  +
/// /* WaitableGenerator.kt:255 */Successful return type for the `table_not_exists` waiter.
         110  +
/* WaitableGenerator.kt:256 */
  100    111   
pub type TableNotExistsFinalPoll = ::aws_smithy_runtime_api::client::waiters::FinalPoll<
  101    112   
    crate::operation::describe_table::DescribeTableOutput,
  102    113   
    ::aws_smithy_runtime_api::client::result::SdkError<
  103    114   
        crate::operation::describe_table::DescribeTableError,
  104    115   
        ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  105    116   
    >,
  106    117   
>;
  107    118   
  108         -
/// Error type for the `table_not_exists` waiter.
         119  +
/// /* WaitableGenerator.kt:266 */Error type for the `table_not_exists` waiter.
         120  +
/* WaitableGenerator.kt:267 */
  109    121   
pub type WaitUntilTableNotExistsError = ::aws_smithy_runtime_api::client::waiters::error::WaiterError<
  110    122   
    crate::operation::describe_table::DescribeTableOutput,
  111    123   
    crate::operation::describe_table::DescribeTableError,
  112    124   
>;

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

@@ -1,1 +31,32 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* FluentClientGenerator.kt:105 */
    2      3   
#[derive(Debug)]
    3      4   
pub(crate) struct Handle {
    4      5   
    pub(crate) conf: crate::Config,
    5      6   
    #[allow(dead_code)] // unused when a service does not provide any operations
    6      7   
    pub(crate) runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
    7      8   
}
    8      9   
    9     10   
///
   10     11   
/// An ergonomic client for Amazon Elastic Block Store.
   11     12   
///
@@ -77,78 +144,151 @@
   97     98   
    fn validate_config(handle: &Handle) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
   98     99   
        let mut cfg = ::aws_smithy_types::config_bag::ConfigBag::base();
   99    100   
        handle
  100    101   
            .runtime_plugins
  101    102   
            .apply_client_configuration(&mut cfg)?
  102    103   
            .validate_base_client_config(&cfg)?;
  103    104   
        Ok(())
  104    105   
    }
  105    106   
}
  106    107   
         108  +
/* RustModule.kt:172 */
  107    109   
mod complete_snapshot;
  108    110   
  109         -
/// Operation customization and supporting types.
         111  +
/// /* ClientRustModule.kt:161 */Operation customization and supporting types.
  110    112   
///
  111         -
/// The underlying HTTP requests made during an operation can be customized
         113  +
/// /* ClientRustModule.kt:170 */The underlying HTTP requests made during an operation can be customized
  112    114   
/// by calling the `customize()` method on the builder returned from a client
  113    115   
/// operation call. For example, this can be used to add an additional HTTP header:
  114    116   
///
  115    117   
/// ```ignore
  116    118   
/// # async fn wrapper() -> ::std::result::Result<(), ebs::Error> {
  117    119   
/// # let client: ebs::Client = unimplemented!();
  118    120   
/// use ::http::header::{HeaderName, HeaderValue};
  119    121   
///
  120    122   
/// let result = client.complete_snapshot()
  121    123   
///     .customize()
  122    124   
///     .mutate_request(|req| {
  123    125   
///         // Add `x-example-header` with value
  124    126   
///         req.headers_mut()
  125    127   
///             .insert(
  126    128   
///                 HeaderName::from_static("x-example-header"),
  127    129   
///                 HeaderValue::from_static("1"),
  128    130   
///             );
  129    131   
///     })
  130    132   
///     .send()
  131    133   
///     .await;
  132    134   
/// # }
  133    135   
/// ```
  134    136   
pub mod customize;
  135    137   
         138  +
/* RustModule.kt:172 */
  136    139   
mod get_snapshot_block;
  137    140   
         141  +
/* RustModule.kt:172 */
  138    142   
mod list_changed_blocks;
  139    143   
         144  +
/* RustModule.kt:172 */
  140    145   
mod list_snapshot_blocks;
  141    146   
         147  +
/* RustModule.kt:172 */
  142    148   
mod put_snapshot_block;
  143    149   
         150  +
/* RustModule.kt:172 */
  144    151   
mod start_snapshot;

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/client/complete_snapshot.rs

@@ -1,1 +17,21 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* FluentClientGenerator.kt:187 */
    2      3   
impl super::Client {
           4  +
    /* FluentClientGenerator.kt:221 */
    3      5   
    /// Constructs a fluent builder for the [`CompleteSnapshot`](crate::operation::complete_snapshot::builders::CompleteSnapshotFluentBuilder) operation.
    4      6   
    ///
    5      7   
    /// - The fluent builder is configurable:
    6      8   
    ///   - [`changed_blocks_count(i32)`](crate::operation::complete_snapshot::builders::CompleteSnapshotFluentBuilder::changed_blocks_count) / [`set_changed_blocks_count(Option<i32>)`](crate::operation::complete_snapshot::builders::CompleteSnapshotFluentBuilder::set_changed_blocks_count):<br>required: **true**<br><p>The number of blocks that were written to the snapshot.</p><br>
    7      9   
    ///   - [`checksum_aggregation_method(ChecksumAggregationMethod)`](crate::operation::complete_snapshot::builders::CompleteSnapshotFluentBuilder::checksum_aggregation_method) / [`set_checksum_aggregation_method(Option<ChecksumAggregationMethod>)`](crate::operation::complete_snapshot::builders::CompleteSnapshotFluentBuilder::set_checksum_aggregation_method):<br>required: **false**<br><p>The aggregation method used to generate the checksum. Currently, the only supported aggregation method is <code>LINEAR</code>.</p><br>
    8     10   
    ///   - [`checksum_algorithm(ChecksumAlgorithm)`](crate::operation::complete_snapshot::builders::CompleteSnapshotFluentBuilder::checksum_algorithm) / [`set_checksum_algorithm(Option<ChecksumAlgorithm>)`](crate::operation::complete_snapshot::builders::CompleteSnapshotFluentBuilder::set_checksum_algorithm):<br>required: **false**<br><p>The algorithm used to generate the checksum. Currently, the only supported algorithm is <code>SHA256</code>.</p><br>
    9     11   
    ///   - [`snapshot_id(impl Into<String>)`](crate::operation::complete_snapshot::builders::CompleteSnapshotFluentBuilder::snapshot_id) / [`set_snapshot_id(Option<String>)`](crate::operation::complete_snapshot::builders::CompleteSnapshotFluentBuilder::set_snapshot_id):<br>required: **true**<br><p>The ID of the snapshot.</p><br>
   10     12   
    ///   - [`checksum(impl Into<String>)`](crate::operation::complete_snapshot::builders::CompleteSnapshotFluentBuilder::checksum) / [`set_checksum(Option<String>)`](crate::operation::complete_snapshot::builders::CompleteSnapshotFluentBuilder::set_checksum):<br>required: **false**<br><p>An aggregated Base-64 SHA256 checksum based on the checksums of each written block.</p> <p>To generate the aggregated checksum using the linear aggregation method, arrange the checksums for each written block in ascending order of their block index, concatenate them to form a single string, and then generate the checksum on the entire string using the SHA256 algorithm.</p><br>
   11     13   
    /// - On success, responds with [`CompleteSnapshotOutput`](crate::operation::complete_snapshot::CompleteSnapshotOutput) with field(s):
   12     14   
    ///   - [`status(Option<Status>)`](crate::operation::complete_snapshot::CompleteSnapshotOutput::status): <p>The status of the snapshot.</p>
   13     15   
    /// - On failure, responds with [`SdkError<CompleteSnapshotError>`](crate::operation::complete_snapshot::CompleteSnapshotError)
          16  +
    /* FluentClientGenerator.kt:234 */
   14     17   
    pub fn complete_snapshot(&self) -> crate::operation::complete_snapshot::builders::CompleteSnapshotFluentBuilder {
   15     18   
        crate::operation::complete_snapshot::builders::CompleteSnapshotFluentBuilder::new(self.handle.clone())
   16     19   
    }
          20  +
    /* FluentClientGenerator.kt:187 */
   17     21   
}

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/client/customize.rs

@@ -1,1 +32,33 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
           3  +
/* CustomizableOperationGenerator.kt:72 */
    3      4   
/// `CustomizableOperation` allows for configuring a single operation invocation before it is sent.
    4      5   
pub struct CustomizableOperation<T, E, B> {
    5      6   
    customizable_send: B,
    6      7   
    config_override: ::std::option::Option<crate::config::Builder>,
    7      8   
    interceptors: Vec<::aws_smithy_runtime_api::client::interceptors::SharedInterceptor>,
    8      9   
    runtime_plugins: Vec<::aws_smithy_runtime_api::client::runtime_plugin::SharedRuntimePlugin>,
    9     10   
    _output: ::std::marker::PhantomData<T>,
   10     11   
    _error: ::std::marker::PhantomData<E>,
   11     12   
}
   12     13   

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/client/customize/internal.rs

@@ -1,1 +12,13 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CustomizableOperationGenerator.kt:204 */
    2      3   
pub type BoxFuture<T> = ::std::pin::Pin<::std::boxed::Box<dyn ::std::future::Future<Output = T> + ::std::marker::Send>>;
    3      4   
    4      5   
pub type SendResult<T, E> =
    5      6   
    ::std::result::Result<T, ::aws_smithy_runtime_api::client::result::SdkError<E, ::aws_smithy_runtime_api::client::orchestrator::HttpResponse>>;
    6      7   
    7      8   
pub trait CustomizableSend<T, E>: ::std::marker::Send + ::std::marker::Sync {
    8      9   
    // Takes an owned `self` as the implementation will internally call methods that take `self`.
    9     10   
    // If it took `&self`, that would make this trait object safe, but some implementing types do not
   10     11   
    // derive `Clone`, unable to yield `self` from `&self`.
   11     12   
    fn send(self, config_override: crate::config::Builder) -> BoxFuture<SendResult<T, E>>;