Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943 (ignoring whitespace)

Files changed:

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

@@ -1,1 +103,166 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>An ordered list of errors for each item in the request which caused the transaction to get cancelled. The values of the list are ordered according to the ordering of the <code>TransactWriteItems</code> request parameter. If no error occurred for the associated item an error with a Null code and Null message will be present.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>An ordered list of errors for each item in the request which caused the transaction to get cancelled. The values of the list are ordered according to the ordering of the <code>TransactWriteItems</code> request parameter. If no error occurred for the associated item an error with a Null code and Null message will be present.</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 CancellationReason {
    7         -
    /// <p>Item in the request which caused the transaction to get cancelled.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct CancellationReason {
           9  +
    /// /* StructureGenerator.kt:231 */<p>Item in the request which caused the transaction to get cancelled.</p>
    8     10   
    pub item: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
    9         -
    /// <p>Status code for the result of the cancelled transaction.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>Status code for the result of the cancelled transaction.</p>
   10     12   
    pub code: ::std::option::Option<::std::string::String>,
   11         -
    /// <p>Cancellation reason message description.</p>
          13  +
    /// /* StructureGenerator.kt:231 */<p>Cancellation reason message description.</p>
   12     14   
    pub message: ::std::option::Option<::std::string::String>,
          15  +
    /* StructureGenerator.kt:201 */
   13     16   
}
          17  +
/* StructureGenerator.kt:135 */
   14     18   
impl CancellationReason {
   15         -
    /// <p>Item in the request which caused the transaction to get cancelled.</p>
          19  +
    /// /* StructureGenerator.kt:231 */<p>Item in the request which caused the transaction to get cancelled.</p>
          20  +
    /* StructureGenerator.kt:166 */
   16     21   
    pub fn item(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
          22  +
        /* StructureGenerator.kt:170 */
   17     23   
        self.item.as_ref()
          24  +
        /* StructureGenerator.kt:166 */
   18     25   
    }
   19         -
    /// <p>Status code for the result of the cancelled transaction.</p>
          26  +
    /// /* StructureGenerator.kt:231 */<p>Status code for the result of the cancelled transaction.</p>
          27  +
    /* StructureGenerator.kt:166 */
   20     28   
    pub fn code(&self) -> ::std::option::Option<&str> {
          29  +
        /* StructureGenerator.kt:169 */
   21     30   
        self.code.as_deref()
          31  +
        /* StructureGenerator.kt:166 */
   22     32   
    }
   23         -
    /// <p>Cancellation reason message description.</p>
          33  +
    /// /* StructureGenerator.kt:231 */<p>Cancellation reason message description.</p>
          34  +
    /* StructureGenerator.kt:166 */
   24     35   
    pub fn message(&self) -> ::std::option::Option<&str> {
          36  +
        /* StructureGenerator.kt:169 */
   25     37   
        self.message.as_deref()
          38  +
        /* StructureGenerator.kt:166 */
   26     39   
    }
          40  +
    /* StructureGenerator.kt:135 */
   27     41   
}
          42  +
/* ClientCodegenVisitor.kt:237 */
   28     43   
impl CancellationReason {
   29         -
    /// Creates a new builder-style object to manufacture [`CancellationReason`](crate::types::CancellationReason).
          44  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`CancellationReason`](crate::types::CancellationReason).
          45  +
    /* BuilderGenerator.kt:175 */
   30     46   
    pub fn builder() -> crate::types::builders::CancellationReasonBuilder {
          47  +
        /* BuilderGenerator.kt:176 */
   31     48   
        crate::types::builders::CancellationReasonBuilder::default()
          49  +
        /* BuilderGenerator.kt:175 */
   32     50   
    }
          51  +
    /* ClientCodegenVisitor.kt:237 */
   33     52   
}
   34     53   
   35         -
/// A builder for [`CancellationReason`](crate::types::CancellationReason).
          54  +
/// /* BuilderGenerator.kt:342 */A builder for [`CancellationReason`](crate::types::CancellationReason).
          55  +
/* RustType.kt:516 */
   36     56   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          57  +
/* RustType.kt:516 */
   37     58   
#[non_exhaustive]
          59  +
/* BuilderGenerator.kt:345 */
   38     60   
pub struct CancellationReasonBuilder {
          61  +
    /* BuilderGenerator.kt:275 */
   39     62   
    pub(crate) item: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
   40         -
    pub(crate) code: ::std::option::Option<::std::string::String>,
   41         -
    pub(crate) message: ::std::option::Option<::std::string::String>,
          63  +
    /* BuilderGenerator.kt:275 */ pub(crate) code: ::std::option::Option<::std::string::String>,
          64  +
    /* BuilderGenerator.kt:275 */ pub(crate) message: ::std::option::Option<::std::string::String>,
          65  +
    /* BuilderGenerator.kt:345 */
   42     66   
}
          67  +
/* BuilderGenerator.kt:355 */
   43     68   
impl CancellationReasonBuilder {
   44         -
    /// Adds a key-value pair to `item`.
          69  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `item`.
          70  +
    /* BuilderGenerator.kt:437 */
   45     71   
    ///
   46         -
    /// To override the contents of this collection use [`set_item`](Self::set_item).
          72  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_item`](Self::set_item).
          73  +
    /* BuilderGenerator.kt:439 */
   47     74   
    ///
   48         -
    /// <p>Item in the request which caused the transaction to get cancelled.</p>
          75  +
    /// /* BuilderGenerator.kt:440 */<p>Item in the request which caused the transaction to get cancelled.</p>
          76  +
    /* BuilderGenerator.kt:445 */
   49     77   
    pub fn item(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
          78  +
        /* BuilderGenerator.kt:448 */
   50     79   
        let mut hash_map = self.item.unwrap_or_default();
   51     80   
        hash_map.insert(k.into(), v);
   52     81   
        self.item = ::std::option::Option::Some(hash_map);
   53     82   
        self
          83  +
        /* BuilderGenerator.kt:445 */
   54     84   
    }
   55         -
    /// <p>Item in the request which caused the transaction to get cancelled.</p>
          85  +
    /// /* BuilderGenerator.kt:312 */<p>Item in the request which caused the transaction to get cancelled.</p>
          86  +
    /* BuilderGenerator.kt:314 */
   56     87   
    pub fn set_item(
   57     88   
        mut self,
   58     89   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
   59     90   
    ) -> Self {
          91  +
        /* BuilderGenerator.kt:315 */
   60     92   
        self.item = input;
   61     93   
        self
          94  +
        /* BuilderGenerator.kt:314 */
   62     95   
    }
   63         -
    /// <p>Item in the request which caused the transaction to get cancelled.</p>
          96  +
    /// /* BuilderGenerator.kt:334 */<p>Item in the request which caused the transaction to get cancelled.</p>
          97  +
    /* BuilderGenerator.kt:336 */
   64     98   
    pub fn get_item(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
          99  +
        /* BuilderGenerator.kt:337 */
   65    100   
        &self.item
         101  +
        /* BuilderGenerator.kt:336 */
   66    102   
    }
   67         -
    /// <p>Status code for the result of the cancelled transaction.</p>
         103  +
    /// /* BuilderGenerator.kt:286 */<p>Status code for the result of the cancelled transaction.</p>
         104  +
    /* BuilderGenerator.kt:291 */
   68    105   
    pub fn code(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         106  +
        /* BuilderGenerator.kt:292 */
   69    107   
        self.code = ::std::option::Option::Some(input.into());
         108  +
        /* BuilderGenerator.kt:293 */
   70    109   
        self
         110  +
        /* BuilderGenerator.kt:291 */
   71    111   
    }
   72         -
    /// <p>Status code for the result of the cancelled transaction.</p>
         112  +
    /// /* BuilderGenerator.kt:312 */<p>Status code for the result of the cancelled transaction.</p>
         113  +
    /* BuilderGenerator.kt:314 */
   73    114   
    pub fn set_code(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         115  +
        /* BuilderGenerator.kt:315 */
   74    116   
        self.code = input;
   75    117   
        self
         118  +
        /* BuilderGenerator.kt:314 */
   76    119   
    }
   77         -
    /// <p>Status code for the result of the cancelled transaction.</p>
         120  +
    /// /* BuilderGenerator.kt:334 */<p>Status code for the result of the cancelled transaction.</p>
         121  +
    /* BuilderGenerator.kt:336 */
   78    122   
    pub fn get_code(&self) -> &::std::option::Option<::std::string::String> {
         123  +
        /* BuilderGenerator.kt:337 */
   79    124   
        &self.code
         125  +
        /* BuilderGenerator.kt:336 */
   80    126   
    }
   81         -
    /// <p>Cancellation reason message description.</p>
         127  +
    /// /* BuilderGenerator.kt:286 */<p>Cancellation reason message description.</p>
         128  +
    /* BuilderGenerator.kt:291 */
   82    129   
    pub fn message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         130  +
        /* BuilderGenerator.kt:292 */
   83    131   
        self.message = ::std::option::Option::Some(input.into());
         132  +
        /* BuilderGenerator.kt:293 */
   84    133   
        self
         134  +
        /* BuilderGenerator.kt:291 */
   85    135   
    }
   86         -
    /// <p>Cancellation reason message description.</p>
         136  +
    /// /* BuilderGenerator.kt:312 */<p>Cancellation reason message description.</p>
         137  +
    /* BuilderGenerator.kt:314 */
   87    138   
    pub fn set_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         139  +
        /* BuilderGenerator.kt:315 */
   88    140   
        self.message = input;
   89    141   
        self
         142  +
        /* BuilderGenerator.kt:314 */
   90    143   
    }
   91         -
    /// <p>Cancellation reason message description.</p>
         144  +
    /// /* BuilderGenerator.kt:334 */<p>Cancellation reason message description.</p>
         145  +
    /* BuilderGenerator.kt:336 */
   92    146   
    pub fn get_message(&self) -> &::std::option::Option<::std::string::String> {
         147  +
        /* BuilderGenerator.kt:337 */
   93    148   
        &self.message
         149  +
        /* BuilderGenerator.kt:336 */
   94    150   
    }
   95         -
    /// Consumes the builder and constructs a [`CancellationReason`](crate::types::CancellationReason).
         151  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`CancellationReason`](crate::types::CancellationReason).
         152  +
    /* BuilderGenerator.kt:253 */
   96    153   
    pub fn build(self) -> crate::types::CancellationReason {
         154  +
        /* BuilderGenerator.kt:477 */
   97    155   
        crate::types::CancellationReason {
   98         -
            item: self.item,
         156  +
            /* BuilderGenerator.kt:481 */ item: self.item,
         157  +
            /* BuilderGenerator.kt:481 */
   99    158   
            code: self.code,
         159  +
            /* BuilderGenerator.kt:481 */
  100    160   
            message: self.message,
         161  +
            /* BuilderGenerator.kt:477 */
  101    162   
        }
         163  +
        /* BuilderGenerator.kt:253 */
  102    164   
    }
         165  +
    /* BuilderGenerator.kt:355 */
  103    166   
}

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

@@ -1,1 +94,155 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents the amount of provisioned throughput capacity consumed on a table or an index.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents the amount of provisioned throughput capacity consumed on a table or an index.</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 Capacity {
    7         -
    /// <p>The total number of read capacity units consumed on a table or an index.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct Capacity {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The total number of read capacity units consumed on a table or an index.</p>
    8     10   
    pub read_capacity_units: ::std::option::Option<f64>,
    9         -
    /// <p>The total number of write capacity units consumed on a table or an index.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>The total number of write capacity units consumed on a table or an index.</p>
   10     12   
    pub write_capacity_units: ::std::option::Option<f64>,
   11         -
    /// <p>The total number of capacity units consumed on a table or an index.</p>
          13  +
    /// /* StructureGenerator.kt:231 */<p>The total number of capacity units consumed on a table or an index.</p>
   12     14   
    pub capacity_units: ::std::option::Option<f64>,
          15  +
    /* StructureGenerator.kt:201 */
   13     16   
}
          17  +
/* StructureGenerator.kt:135 */
   14     18   
impl Capacity {
   15         -
    /// <p>The total number of read capacity units consumed on a table or an index.</p>
          19  +
    /// /* StructureGenerator.kt:231 */<p>The total number of read capacity units consumed on a table or an index.</p>
          20  +
    /* StructureGenerator.kt:166 */
   16     21   
    pub fn read_capacity_units(&self) -> ::std::option::Option<f64> {
          22  +
        /* StructureGenerator.kt:168 */
   17     23   
        self.read_capacity_units
          24  +
        /* StructureGenerator.kt:166 */
   18     25   
    }
   19         -
    /// <p>The total number of write capacity units consumed on a table or an index.</p>
          26  +
    /// /* StructureGenerator.kt:231 */<p>The total number of write capacity units consumed on a table or an index.</p>
          27  +
    /* StructureGenerator.kt:166 */
   20     28   
    pub fn write_capacity_units(&self) -> ::std::option::Option<f64> {
          29  +
        /* StructureGenerator.kt:168 */
   21     30   
        self.write_capacity_units
          31  +
        /* StructureGenerator.kt:166 */
   22     32   
    }
   23         -
    /// <p>The total number of capacity units consumed on a table or an index.</p>
          33  +
    /// /* StructureGenerator.kt:231 */<p>The total number of capacity units consumed on a table or an index.</p>
          34  +
    /* StructureGenerator.kt:166 */
   24     35   
    pub fn capacity_units(&self) -> ::std::option::Option<f64> {
          36  +
        /* StructureGenerator.kt:168 */
   25     37   
        self.capacity_units
          38  +
        /* StructureGenerator.kt:166 */
   26     39   
    }
          40  +
    /* StructureGenerator.kt:135 */
   27     41   
}
          42  +
/* ClientCodegenVisitor.kt:237 */
   28     43   
impl Capacity {
   29         -
    /// Creates a new builder-style object to manufacture [`Capacity`](crate::types::Capacity).
          44  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`Capacity`](crate::types::Capacity).
          45  +
    /* BuilderGenerator.kt:175 */
   30     46   
    pub fn builder() -> crate::types::builders::CapacityBuilder {
          47  +
        /* BuilderGenerator.kt:176 */
   31     48   
        crate::types::builders::CapacityBuilder::default()
          49  +
        /* BuilderGenerator.kt:175 */
   32     50   
    }
          51  +
    /* ClientCodegenVisitor.kt:237 */
   33     52   
}
   34     53   
   35         -
/// A builder for [`Capacity`](crate::types::Capacity).
          54  +
/// /* BuilderGenerator.kt:342 */A builder for [`Capacity`](crate::types::Capacity).
          55  +
/* RustType.kt:516 */
   36     56   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          57  +
/* RustType.kt:516 */
   37     58   
#[non_exhaustive]
          59  +
/* BuilderGenerator.kt:345 */
   38     60   
pub struct CapacityBuilder {
   39         -
    pub(crate) read_capacity_units: ::std::option::Option<f64>,
   40         -
    pub(crate) write_capacity_units: ::std::option::Option<f64>,
   41         -
    pub(crate) capacity_units: ::std::option::Option<f64>,
          61  +
    /* BuilderGenerator.kt:275 */ pub(crate) read_capacity_units: ::std::option::Option<f64>,
          62  +
    /* BuilderGenerator.kt:275 */ pub(crate) write_capacity_units: ::std::option::Option<f64>,
          63  +
    /* BuilderGenerator.kt:275 */ pub(crate) capacity_units: ::std::option::Option<f64>,
          64  +
    /* BuilderGenerator.kt:345 */
   42     65   
}
          66  +
/* BuilderGenerator.kt:355 */
   43     67   
impl CapacityBuilder {
   44         -
    /// <p>The total number of read capacity units consumed on a table or an index.</p>
          68  +
    /// /* BuilderGenerator.kt:286 */<p>The total number of read capacity units consumed on a table or an index.</p>
          69  +
    /* BuilderGenerator.kt:291 */
   45     70   
    pub fn read_capacity_units(mut self, input: f64) -> Self {
          71  +
        /* BuilderGenerator.kt:292 */
   46     72   
        self.read_capacity_units = ::std::option::Option::Some(input);
          73  +
        /* BuilderGenerator.kt:293 */
   47     74   
        self
          75  +
        /* BuilderGenerator.kt:291 */
   48     76   
    }
   49         -
    /// <p>The total number of read capacity units consumed on a table or an index.</p>
          77  +
    /// /* BuilderGenerator.kt:312 */<p>The total number of read capacity units consumed on a table or an index.</p>
          78  +
    /* BuilderGenerator.kt:314 */
   50     79   
    pub fn set_read_capacity_units(mut self, input: ::std::option::Option<f64>) -> Self {
          80  +
        /* BuilderGenerator.kt:315 */
   51     81   
        self.read_capacity_units = input;
   52     82   
        self
          83  +
        /* BuilderGenerator.kt:314 */
   53     84   
    }
   54         -
    /// <p>The total number of read capacity units consumed on a table or an index.</p>
          85  +
    /// /* BuilderGenerator.kt:334 */<p>The total number of read capacity units consumed on a table or an index.</p>
          86  +
    /* BuilderGenerator.kt:336 */
   55     87   
    pub fn get_read_capacity_units(&self) -> &::std::option::Option<f64> {
          88  +
        /* BuilderGenerator.kt:337 */
   56     89   
        &self.read_capacity_units
          90  +
        /* BuilderGenerator.kt:336 */
   57     91   
    }
   58         -
    /// <p>The total number of write capacity units consumed on a table or an index.</p>
          92  +
    /// /* BuilderGenerator.kt:286 */<p>The total number of write capacity units consumed on a table or an index.</p>
          93  +
    /* BuilderGenerator.kt:291 */
   59     94   
    pub fn write_capacity_units(mut self, input: f64) -> Self {
          95  +
        /* BuilderGenerator.kt:292 */
   60     96   
        self.write_capacity_units = ::std::option::Option::Some(input);
          97  +
        /* BuilderGenerator.kt:293 */
   61     98   
        self
          99  +
        /* BuilderGenerator.kt:291 */
   62    100   
    }
   63         -
    /// <p>The total number of write capacity units consumed on a table or an index.</p>
         101  +
    /// /* BuilderGenerator.kt:312 */<p>The total number of write capacity units consumed on a table or an index.</p>
         102  +
    /* BuilderGenerator.kt:314 */
   64    103   
    pub fn set_write_capacity_units(mut self, input: ::std::option::Option<f64>) -> Self {
         104  +
        /* BuilderGenerator.kt:315 */
   65    105   
        self.write_capacity_units = input;
   66    106   
        self
         107  +
        /* BuilderGenerator.kt:314 */
   67    108   
    }
   68         -
    /// <p>The total number of write capacity units consumed on a table or an index.</p>
         109  +
    /// /* BuilderGenerator.kt:334 */<p>The total number of write capacity units consumed on a table or an index.</p>
         110  +
    /* BuilderGenerator.kt:336 */
   69    111   
    pub fn get_write_capacity_units(&self) -> &::std::option::Option<f64> {
         112  +
        /* BuilderGenerator.kt:337 */
   70    113   
        &self.write_capacity_units
         114  +
        /* BuilderGenerator.kt:336 */
   71    115   
    }
   72         -
    /// <p>The total number of capacity units consumed on a table or an index.</p>
         116  +
    /// /* BuilderGenerator.kt:286 */<p>The total number of capacity units consumed on a table or an index.</p>
         117  +
    /* BuilderGenerator.kt:291 */
   73    118   
    pub fn capacity_units(mut self, input: f64) -> Self {
         119  +
        /* BuilderGenerator.kt:292 */
   74    120   
        self.capacity_units = ::std::option::Option::Some(input);
         121  +
        /* BuilderGenerator.kt:293 */
   75    122   
        self
         123  +
        /* BuilderGenerator.kt:291 */
   76    124   
    }
   77         -
    /// <p>The total number of capacity units consumed on a table or an index.</p>
         125  +
    /// /* BuilderGenerator.kt:312 */<p>The total number of capacity units consumed on a table or an index.</p>
         126  +
    /* BuilderGenerator.kt:314 */
   78    127   
    pub fn set_capacity_units(mut self, input: ::std::option::Option<f64>) -> Self {
         128  +
        /* BuilderGenerator.kt:315 */
   79    129   
        self.capacity_units = input;
   80    130   
        self
         131  +
        /* BuilderGenerator.kt:314 */
   81    132   
    }
   82         -
    /// <p>The total number of capacity units consumed on a table or an index.</p>
         133  +
    /// /* BuilderGenerator.kt:334 */<p>The total number of capacity units consumed on a table or an index.</p>
         134  +
    /* BuilderGenerator.kt:336 */
   83    135   
    pub fn get_capacity_units(&self) -> &::std::option::Option<f64> {
         136  +
        /* BuilderGenerator.kt:337 */
   84    137   
        &self.capacity_units
         138  +
        /* BuilderGenerator.kt:336 */
   85    139   
    }
   86         -
    /// Consumes the builder and constructs a [`Capacity`](crate::types::Capacity).
         140  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`Capacity`](crate::types::Capacity).
         141  +
    /* BuilderGenerator.kt:253 */
   87    142   
    pub fn build(self) -> crate::types::Capacity {
         143  +
        /* BuilderGenerator.kt:477 */
   88    144   
        crate::types::Capacity {
   89         -
            read_capacity_units: self.read_capacity_units,
         145  +
            /* BuilderGenerator.kt:481 */ read_capacity_units: self.read_capacity_units,
         146  +
            /* BuilderGenerator.kt:481 */
   90    147   
            write_capacity_units: self.write_capacity_units,
         148  +
            /* BuilderGenerator.kt:481 */
   91    149   
            capacity_units: self.capacity_units,
         150  +
            /* BuilderGenerator.kt:477 */
   92    151   
        }
         152  +
        /* BuilderGenerator.kt:253 */
   93    153   
    }
         154  +
    /* BuilderGenerator.kt:355 */
   94    155   
}

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

@@ -1,1 +188,230 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// When writing a match expression against `ComparisonOperator`, it is important to ensure
           2  +
/* ClientEnumGenerator.kt:234 */
           3  +
/// /* ClientEnumGenerator.kt:234 */When writing a match expression against `ComparisonOperator`, it is important to ensure
    4      4   
/// your code is forward-compatible. That is, if a match arm handles a case for a
    5      5   
/// feature that is supported by the service but has not been represented as an enum
    6      6   
/// variant in a current version of SDK, your code should continue to work when you
    7      7   
/// upgrade SDK to a future version in which the enum does include a variant for that
    8      8   
/// feature.
    9         -
///
   10         -
/// Here is an example of how you can make a match expression forward-compatible:
   11         -
///
   12         -
/// ```text
           9  +
/// /* ClientEnumGenerator.kt:244 */
          10  +
/// /* ClientEnumGenerator.kt:245 */Here is an example of how you can make a match expression forward-compatible:
          11  +
/// /* ClientEnumGenerator.kt:246 */
          12  +
/// /* ClientEnumGenerator.kt:247 */```text
          13  +
/* ClientEnumGenerator.kt:248 */
   13     14   
/// # let comparisonoperator = unimplemented!();
          15  +
/* ClientEnumGenerator.kt:249 */
   14     16   
/// match comparisonoperator {
          17  +
/* ClientEnumGenerator.kt:251 */
   15     18   
///     ComparisonOperator::BeginsWith => { /* ... */ },
          19  +
/* ClientEnumGenerator.kt:251 */
   16     20   
///     ComparisonOperator::Between => { /* ... */ },
          21  +
/* ClientEnumGenerator.kt:251 */
   17     22   
///     ComparisonOperator::Contains => { /* ... */ },
          23  +
/* ClientEnumGenerator.kt:251 */
   18     24   
///     ComparisonOperator::Eq => { /* ... */ },
          25  +
/* ClientEnumGenerator.kt:251 */
   19     26   
///     ComparisonOperator::Ge => { /* ... */ },
          27  +
/* ClientEnumGenerator.kt:251 */
   20     28   
///     ComparisonOperator::Gt => { /* ... */ },
          29  +
/* ClientEnumGenerator.kt:251 */
   21     30   
///     ComparisonOperator::In => { /* ... */ },
          31  +
/* ClientEnumGenerator.kt:251 */
   22     32   
///     ComparisonOperator::Le => { /* ... */ },
          33  +
/* ClientEnumGenerator.kt:251 */
   23     34   
///     ComparisonOperator::Lt => { /* ... */ },
          35  +
/* ClientEnumGenerator.kt:251 */
   24     36   
///     ComparisonOperator::Ne => { /* ... */ },
          37  +
/* ClientEnumGenerator.kt:251 */
   25     38   
///     ComparisonOperator::NotContains => { /* ... */ },
          39  +
/* ClientEnumGenerator.kt:251 */
   26     40   
///     ComparisonOperator::NotNull => { /* ... */ },
          41  +
/* ClientEnumGenerator.kt:251 */
   27     42   
///     ComparisonOperator::Null => { /* ... */ },
          43  +
/* ClientEnumGenerator.kt:253 */
   28     44   
///     other @ _ if other.as_str() == "NewFeature" => { /* handles a case for `NewFeature` */ },
          45  +
/* ClientEnumGenerator.kt:254 */
   29     46   
///     _ => { /* ... */ },
          47  +
/* ClientEnumGenerator.kt:255 */
   30     48   
/// }
   31         -
/// ```
   32         -
/// The above code demonstrates that when `comparisonoperator` represents
          49  +
/// /* ClientEnumGenerator.kt:256 */```
          50  +
/// /* ClientEnumGenerator.kt:257 */The above code demonstrates that when `comparisonoperator` represents
   33     51   
/// `NewFeature`, the execution path will lead to the second last match arm,
   34     52   
/// even though the enum does not contain a variant `ComparisonOperator::NewFeature`
   35     53   
/// in the current version of SDK. The reason is that the variable `other`,
   36     54   
/// created by the `@` operator, is bound to
   37     55   
/// `ComparisonOperator::Unknown(UnknownVariantValue("NewFeature".to_owned()))`
   38     56   
/// and calling `as_str` on it yields `"NewFeature"`.
   39     57   
/// This match expression is forward-compatible when executed with a newer
   40     58   
/// version of SDK where the variant `ComparisonOperator::NewFeature` is defined.
   41     59   
/// Specifically, when `comparisonoperator` represents `NewFeature`,
   42     60   
/// the execution path will hit the second last match arm as before by virtue of
   43     61   
/// calling `as_str` on `ComparisonOperator::NewFeature` also yielding `"NewFeature"`.
   44         -
///
   45         -
/// Explicitly matching on the `Unknown` variant should
          62  +
/// /* ClientEnumGenerator.kt:273 */
          63  +
/// /* ClientEnumGenerator.kt:274 */Explicitly matching on the `Unknown` variant should
   46     64   
/// be avoided for two reasons:
   47     65   
/// - The inner data `UnknownVariantValue` is opaque, and no further information can be extracted.
   48     66   
/// - It might inadvertently shadow other intended match arms.
   49         -
///
          67  +
/// /* ClientEnumGenerator.kt:282 */
          68  +
/* EnumGenerator.kt:154 */
   50     69   
#[allow(missing_docs)] // documentation missing in model
          70  +
/* RustType.kt:516 */
   51     71   
#[non_exhaustive]
          72  +
/* RustType.kt:516 */
   52     73   
#[derive(
   53     74   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash,
   54     75   
)]
   55         -
pub enum ComparisonOperator {
   56         -
    #[allow(missing_docs)] // documentation missing in model
          76  +
pub /* EnumGenerator.kt:267 */ enum ComparisonOperator {
          77  +
    /* EnumGenerator.kt:154 */ #[allow(missing_docs)] // documentation missing in model
          78  +
    /* EnumGenerator.kt:143 */
   57     79   
    BeginsWith,
   58         -
    #[allow(missing_docs)] // documentation missing in model
          80  +
    /* EnumGenerator.kt:154 */ #[allow(missing_docs)] // documentation missing in model
          81  +
    /* EnumGenerator.kt:143 */
   59     82   
    Between,
   60         -
    #[allow(missing_docs)] // documentation missing in model
          83  +
    /* EnumGenerator.kt:154 */ #[allow(missing_docs)] // documentation missing in model
          84  +
    /* EnumGenerator.kt:143 */
   61     85   
    Contains,
   62         -
    #[allow(missing_docs)] // documentation missing in model
          86  +
    /* EnumGenerator.kt:154 */ #[allow(missing_docs)] // documentation missing in model
          87  +
    /* EnumGenerator.kt:143 */
   63     88   
    Eq,
   64         -
    #[allow(missing_docs)] // documentation missing in model
          89  +
    /* EnumGenerator.kt:154 */ #[allow(missing_docs)] // documentation missing in model
          90  +
    /* EnumGenerator.kt:143 */
   65     91   
    Ge,
   66         -
    #[allow(missing_docs)] // documentation missing in model
          92  +
    /* EnumGenerator.kt:154 */ #[allow(missing_docs)] // documentation missing in model
          93  +
    /* EnumGenerator.kt:143 */
   67     94   
    Gt,
   68         -
    #[allow(missing_docs)] // documentation missing in model
          95  +
    /* EnumGenerator.kt:154 */ #[allow(missing_docs)] // documentation missing in model
          96  +
    /* EnumGenerator.kt:143 */
   69     97   
    In,
   70         -
    #[allow(missing_docs)] // documentation missing in model
          98  +
    /* EnumGenerator.kt:154 */ #[allow(missing_docs)] // documentation missing in model
          99  +
    /* EnumGenerator.kt:143 */
   71    100   
    Le,
   72         -
    #[allow(missing_docs)] // documentation missing in model
         101  +
    /* EnumGenerator.kt:154 */ #[allow(missing_docs)] // documentation missing in model
         102  +
    /* EnumGenerator.kt:143 */
   73    103   
    Lt,
   74         -
    #[allow(missing_docs)] // documentation missing in model
         104  +
    /* EnumGenerator.kt:154 */ #[allow(missing_docs)] // documentation missing in model
         105  +
    /* EnumGenerator.kt:143 */
   75    106   
    Ne,
   76         -
    #[allow(missing_docs)] // documentation missing in model
         107  +
    /* EnumGenerator.kt:154 */ #[allow(missing_docs)] // documentation missing in model
         108  +
    /* EnumGenerator.kt:143 */
   77    109   
    NotContains,
   78         -
    #[allow(missing_docs)] // documentation missing in model
         110  +
    /* EnumGenerator.kt:154 */ #[allow(missing_docs)] // documentation missing in model
         111  +
    /* EnumGenerator.kt:143 */
   79    112   
    NotNull,
   80         -
    #[allow(missing_docs)] // documentation missing in model
         113  +
    /* EnumGenerator.kt:154 */ #[allow(missing_docs)] // documentation missing in model
         114  +
    /* EnumGenerator.kt:143 */
   81    115   
    Null,
   82         -
    /// `Unknown` contains new variants that have been added since this code was generated.
         116  +
    /// /* ClientEnumGenerator.kt:175 */`Unknown` contains new variants that have been added since this code was generated.
         117  +
    /* ClientEnumGenerator.kt:176 */
   83    118   
    #[deprecated(note = "Don't directly match on `Unknown`. See the docs on this enum for the correct way to handle unknown variants.")]
   84         -
    Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue),
         119  +
    /* ClientEnumGenerator.kt:179 */
         120  +
    Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue), /* EnumGenerator.kt:267 */
   85    121   
}
         122  +
/* ClientEnumGenerator.kt:42 */
   86    123   
impl ::std::convert::From<&str> for ComparisonOperator {
   87    124   
    fn from(s: &str) -> Self {
   88    125   
        match s {
   89    126   
            "BEGINS_WITH" => ComparisonOperator::BeginsWith,
   90    127   
            "BETWEEN" => ComparisonOperator::Between,
   91    128   
            "CONTAINS" => ComparisonOperator::Contains,
   92    129   
            "EQ" => ComparisonOperator::Eq,
   93    130   
            "GE" => ComparisonOperator::Ge,
   94    131   
            "GT" => ComparisonOperator::Gt,
   95    132   
            "IN" => ComparisonOperator::In,
   96    133   
            "LE" => ComparisonOperator::Le,
   97    134   
            "LT" => ComparisonOperator::Lt,
   98    135   
            "NE" => ComparisonOperator::Ne,
   99    136   
            "NOT_CONTAINS" => ComparisonOperator::NotContains,
  100    137   
            "NOT_NULL" => ComparisonOperator::NotNull,
  101    138   
            "NULL" => ComparisonOperator::Null,
  102    139   
            other => ComparisonOperator::Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue(other.to_owned())),
  103    140   
        }
  104    141   
    }
  105    142   
}
         143  +
/* ClientEnumGenerator.kt:68 */
  106    144   
impl ::std::str::FromStr for ComparisonOperator {
  107    145   
    type Err = ::std::convert::Infallible;
  108    146   
  109    147   
    fn from_str(s: &str) -> ::std::result::Result<Self, <Self as ::std::str::FromStr>::Err> {
  110    148   
        ::std::result::Result::Ok(ComparisonOperator::from(s))
  111    149   
    }
  112    150   
}
         151  +
/* EnumGenerator.kt:274 */
  113    152   
impl ComparisonOperator {
  114    153   
    /// Returns the `&str` value of the enum member.
  115    154   
    pub fn as_str(&self) -> &str {
  116    155   
        match self {
  117    156   
            ComparisonOperator::BeginsWith => "BEGINS_WITH",
  118    157   
            ComparisonOperator::Between => "BETWEEN",
  119    158   
            ComparisonOperator::Contains => "CONTAINS",
  120    159   
            ComparisonOperator::Eq => "EQ",
  121    160   
            ComparisonOperator::Ge => "GE",
  122    161   
            ComparisonOperator::Gt => "GT",
  123    162   
            ComparisonOperator::In => "IN",
  124    163   
            ComparisonOperator::Le => "LE",
  125    164   
            ComparisonOperator::Lt => "LT",
  126    165   
            ComparisonOperator::Ne => "NE",
  127    166   
            ComparisonOperator::NotContains => "NOT_CONTAINS",
  128    167   
            ComparisonOperator::NotNull => "NOT_NULL",
  129    168   
            ComparisonOperator::Null => "NULL",
  130    169   
            ComparisonOperator::Unknown(value) => value.as_str(),
  131    170   
        }
  132    171   
    }
  133    172   
    /// Returns all the `&str` representations of the enum members.
  134    173   
    pub const fn values() -> &'static [&'static str] {
  135    174   
        &[
  136    175   
            "BEGINS_WITH",
  137    176   
            "BETWEEN",
  138    177   
            "CONTAINS",
  139    178   
            "EQ",
  140    179   
            "GE",
  141    180   
            "GT",
  142    181   
            "IN",
  143    182   
            "LE",
  144    183   
            "LT",
  145    184   
            "NE",
  146    185   
            "NOT_CONTAINS",
  147    186   
            "NOT_NULL",
  148    187   
            "NULL",
  149    188   
        ]
  150    189   
    }
  151    190   
}
         191  +
/* EnumGenerator.kt:223 */
  152    192   
impl ::std::convert::AsRef<str> for ComparisonOperator {
  153    193   
    fn as_ref(&self) -> &str {
  154    194   
        self.as_str()
  155    195   
    }
  156    196   
}
         197  +
/* ClientEnumGenerator.kt:117 */
  157    198   
impl ComparisonOperator {
  158    199   
    /// Parses the enum value while disallowing unknown variants.
  159    200   
    ///
  160    201   
    /// Unknown variants will result in an error.
  161    202   
    pub fn try_parse(value: &str) -> ::std::result::Result<Self, crate::error::UnknownVariantError> {
  162    203   
        match Self::from(value) {
  163    204   
            #[allow(deprecated)]
  164    205   
            Self::Unknown(_) => ::std::result::Result::Err(crate::error::UnknownVariantError::new(value)),
  165    206   
            known => Ok(known),
  166    207   
        }
  167    208   
    }
  168    209   
}
         210  +
/* ClientEnumGenerator.kt:136 */
  169    211   
impl ::std::fmt::Display for ComparisonOperator {
  170    212   
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  171    213   
        match self {
  172    214   
            ComparisonOperator::BeginsWith => write!(f, "BEGINS_WITH"),
  173    215   
            ComparisonOperator::Between => write!(f, "BETWEEN"),
  174    216   
            ComparisonOperator::Contains => write!(f, "CONTAINS"),
  175    217   
            ComparisonOperator::Eq => write!(f, "EQ"),
  176    218   
            ComparisonOperator::Ge => write!(f, "GE"),
  177    219   
            ComparisonOperator::Gt => write!(f, "GT"),
  178    220   
            ComparisonOperator::In => write!(f, "IN"),

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

@@ -1,1 +391,443 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents the selection criteria for a <code>Query</code> or <code>Scan</code> operation:</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents the selection criteria for a <code>Query</code> or <code>Scan</code> operation:</p>
    4      4   
/// <ul>
    5      5   
/// <li>
    6      6   
/// <p>For a <code>Query</code> operation, <code>Condition</code> is used for specifying the <code>KeyConditions</code> to use when querying a table or an index. For <code>KeyConditions</code>, only the following comparison operators are supported:</p>
    7      7   
/// <p><code>EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN</code></p>
    8      8   
/// <p><code>Condition</code> is also used in a <code>QueryFilter</code>, which evaluates the query results and returns only the desired values.</p></li>
    9      9   
/// <li>
   10     10   
/// <p>For a <code>Scan</code> operation, <code>Condition</code> is used in a <code>ScanFilter</code>, which evaluates the scan results and returns only the desired values.</p></li>
   11     11   
/// </ul>
          12  +
/* RustType.kt:516 */
   12     13   
#[non_exhaustive]
          14  +
/* RustType.kt:516 */
   13     15   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
   14         -
pub struct Condition {
   15         -
    /// <p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
          16  +
pub /* StructureGenerator.kt:201 */ struct Condition {
          17  +
    /// /* StructureGenerator.kt:231 */<p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
   16     18   
    /// <p>For type Number, value comparisons are numeric.</p>
   17     19   
    /// <p>String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, <code>a</code> is greater than <code>A</code>, and <code>a</code> is greater than <code>B</code>. For a list of code values, see <a href="http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters">http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters</a>.</p>
   18     20   
    /// <p>For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.</p>
   19     21   
    pub attribute_value_list: ::std::option::Option<::std::vec::Vec<crate::types::AttributeValue>>,
   20         -
    /// <p>A comparator for evaluating attributes. For example, equals, greater than, less than, etc.</p>
          22  +
    /// /* StructureGenerator.kt:231 */<p>A comparator for evaluating attributes. For example, equals, greater than, less than, etc.</p>
   21     23   
    /// <p>The following comparison operators are available:</p>
   22     24   
    /// <p><code>EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN</code></p>
   23     25   
    /// <p>The following are descriptions of each comparison operator.</p>
   24     26   
    /// <ul>
   25     27   
    /// <li>
   26     28   
    /// <p><code>EQ</code> : Equal. <code>EQ</code> is supported for all data types, including lists and maps.</p>
   27     29   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
   28     30   
    /// <p></p></li>
   29     31   
    /// <li>
   30     32   
    /// <p><code>NE</code> : Not equal. <code>NE</code> is supported for all data types, including lists and maps.</p>
   31     33   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
   32     34   
    /// <p></p></li>
   33     35   
    /// <li>
   34     36   
    /// <p><code>LE</code> : Less than or equal.</p>
   35     37   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
   36     38   
    /// <p></p></li>
   37     39   
    /// <li>
   38     40   
    /// <p><code>LT</code> : Less than.</p>
   39     41   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
   40     42   
    /// <p></p></li>
   41     43   
    /// <li>
   42     44   
    /// <p><code>GE</code> : Greater than or equal.</p>
   43     45   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
   44     46   
    /// <p></p></li>
   45     47   
    /// <li>
   46     48   
    /// <p><code>GT</code> : Greater than.</p>
   47     49   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
   48     50   
    /// <p></p></li>
   49     51   
    /// <li>
   50     52   
    /// <p><code>NOT_NULL</code> : The attribute exists. <code>NOT_NULL</code> is supported for all data types, including lists and maps.</p><note>
   51     53   
    /// <p>This operator tests for the existence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NOT_NULL</code>, the result is a Boolean <code>true</code>. This result is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NOT_NULL</code> comparison operator.</p>
   52     54   
    /// </note></li>
   53     55   
    /// <li>
   54     56   
    /// <p><code>NULL</code> : The attribute does not exist. <code>NULL</code> is supported for all data types, including lists and maps.</p><note>
   55     57   
    /// <p>This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NULL</code>, the result is a Boolean <code>false</code>. This is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NULL</code> comparison operator.</p>
   56     58   
    /// </note></li>
   57     59   
    /// <li>
   58     60   
    /// <p><code>CONTAINS</code> : Checks for a subsequence, or value in a set.</p>
   59     61   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it finds an exact match with any member of the set.</p>
   60     62   
    /// <p>CONTAINS is supported for lists: When evaluating "<code>a CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
   61     63   
    /// <li>
   62     64   
    /// <p><code>NOT_CONTAINS</code> : Checks for absence of a subsequence, or absence of a value in a set.</p>
   63     65   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it <i>does not</i> find an exact match with any member of the set.</p>
   64     66   
    /// <p>NOT_CONTAINS is supported for lists: When evaluating "<code>a NOT CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
   65     67   
    /// <li>
   66     68   
    /// <p><code>BEGINS_WITH</code> : Checks for a prefix.</p>
   67     69   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).</p>
   68     70   
    /// <p></p></li>
   69     71   
    /// <li>
   70     72   
    /// <p><code>IN</code> : Checks for matching elements in a list.</p>
   71     73   
    /// <p><code>AttributeValueList</code> can contain one or more <code>AttributeValue</code> elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.</p></li>
   72     74   
    /// <li>
   73     75   
    /// <p><code>BETWEEN</code> : Greater than or equal to the first value, and less than or equal to the second value.</p>
   74     76   
    /// <p><code>AttributeValueList</code> must contain two <code>AttributeValue</code> elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not compare to <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code></p></li>
   75     77   
    /// </ul>
   76     78   
    /// <p>For usage examples of <code>AttributeValueList</code> and <code>ComparisonOperator</code>, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html">Legacy Conditional Parameters</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   77     79   
    pub comparison_operator: crate::types::ComparisonOperator,
          80  +
    /* StructureGenerator.kt:201 */
   78     81   
}
          82  +
/* StructureGenerator.kt:135 */
   79     83   
impl Condition {
   80         -
    /// <p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
          84  +
    /// /* StructureGenerator.kt:231 */<p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
   81     85   
    /// <p>For type Number, value comparisons are numeric.</p>
   82     86   
    /// <p>String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, <code>a</code> is greater than <code>A</code>, and <code>a</code> is greater than <code>B</code>. For a list of code values, see <a href="http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters">http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters</a>.</p>
   83     87   
    /// <p>For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.</p>
   84         -
    ///
   85         -
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.attribute_value_list.is_none()`.
          88  +
    /// /* StructureGenerator.kt:162 */
          89  +
    /// /* 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 `.attribute_value_list.is_none()`.
          90  +
    /* StructureGenerator.kt:166 */
   86     91   
    pub fn attribute_value_list(&self) -> &[crate::types::AttributeValue] {
   87         -
        self.attribute_value_list.as_deref().unwrap_or_default()
          92  +
        /* StructureGenerator.kt:169 */
          93  +
        self.attribute_value_list
          94  +
            .as_deref()
          95  +
            /* StructureGenerator.kt:175 */
          96  +
            .unwrap_or_default()
          97  +
        /* StructureGenerator.kt:166 */
   88     98   
    }
   89         -
    /// <p>A comparator for evaluating attributes. For example, equals, greater than, less than, etc.</p>
          99  +
    /// /* StructureGenerator.kt:231 */<p>A comparator for evaluating attributes. For example, equals, greater than, less than, etc.</p>
   90    100   
    /// <p>The following comparison operators are available:</p>
   91    101   
    /// <p><code>EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN</code></p>
   92    102   
    /// <p>The following are descriptions of each comparison operator.</p>
   93    103   
    /// <ul>
   94    104   
    /// <li>
   95    105   
    /// <p><code>EQ</code> : Equal. <code>EQ</code> is supported for all data types, including lists and maps.</p>
   96    106   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
   97    107   
    /// <p></p></li>
   98    108   
    /// <li>
   99    109   
    /// <p><code>NE</code> : Not equal. <code>NE</code> is supported for all data types, including lists and maps.</p>
  100    110   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  101    111   
    /// <p></p></li>
  102    112   
    /// <li>
  103    113   
    /// <p><code>LE</code> : Less than or equal.</p>
  104    114   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  105    115   
    /// <p></p></li>
  106    116   
    /// <li>
  107    117   
    /// <p><code>LT</code> : Less than.</p>
  108    118   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  109    119   
    /// <p></p></li>
  110    120   
    /// <li>
  111    121   
    /// <p><code>GE</code> : Greater than or equal.</p>
  112    122   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  113    123   
    /// <p></p></li>
  114    124   
    /// <li>
  115    125   
    /// <p><code>GT</code> : Greater than.</p>
  116    126   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  117    127   
    /// <p></p></li>
  118    128   
    /// <li>
  119    129   
    /// <p><code>NOT_NULL</code> : The attribute exists. <code>NOT_NULL</code> is supported for all data types, including lists and maps.</p><note>
  120    130   
    /// <p>This operator tests for the existence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NOT_NULL</code>, the result is a Boolean <code>true</code>. This result is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NOT_NULL</code> comparison operator.</p>
  121    131   
    /// </note></li>
  122    132   
    /// <li>
  123    133   
    /// <p><code>NULL</code> : The attribute does not exist. <code>NULL</code> is supported for all data types, including lists and maps.</p><note>
  124    134   
    /// <p>This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NULL</code>, the result is a Boolean <code>false</code>. This is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NULL</code> comparison operator.</p>
  125    135   
    /// </note></li>
  126    136   
    /// <li>
  127    137   
    /// <p><code>CONTAINS</code> : Checks for a subsequence, or value in a set.</p>
  128    138   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it finds an exact match with any member of the set.</p>
  129    139   
    /// <p>CONTAINS is supported for lists: When evaluating "<code>a CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
  130    140   
    /// <li>
  131    141   
    /// <p><code>NOT_CONTAINS</code> : Checks for absence of a subsequence, or absence of a value in a set.</p>
  132    142   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it <i>does not</i> find an exact match with any member of the set.</p>
  133    143   
    /// <p>NOT_CONTAINS is supported for lists: When evaluating "<code>a NOT CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
  134    144   
    /// <li>
  135    145   
    /// <p><code>BEGINS_WITH</code> : Checks for a prefix.</p>
  136    146   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).</p>
  137    147   
    /// <p></p></li>
  138    148   
    /// <li>
  139    149   
    /// <p><code>IN</code> : Checks for matching elements in a list.</p>
  140    150   
    /// <p><code>AttributeValueList</code> can contain one or more <code>AttributeValue</code> elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.</p></li>
  141    151   
    /// <li>
  142    152   
    /// <p><code>BETWEEN</code> : Greater than or equal to the first value, and less than or equal to the second value.</p>
  143    153   
    /// <p><code>AttributeValueList</code> must contain two <code>AttributeValue</code> elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not compare to <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code></p></li>
  144    154   
    /// </ul>
  145    155   
    /// <p>For usage examples of <code>AttributeValueList</code> and <code>ComparisonOperator</code>, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html">Legacy Conditional Parameters</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         156  +
    /* StructureGenerator.kt:166 */
  146    157   
    pub fn comparison_operator(&self) -> &crate::types::ComparisonOperator {
         158  +
        /* StructureGenerator.kt:172 */
  147    159   
        &self.comparison_operator
         160  +
        /* StructureGenerator.kt:166 */
  148    161   
    }
         162  +
    /* StructureGenerator.kt:135 */
  149    163   
}
         164  +
/* ClientCodegenVisitor.kt:237 */
  150    165   
impl Condition {
  151         -
    /// Creates a new builder-style object to manufacture [`Condition`](crate::types::Condition).
         166  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`Condition`](crate::types::Condition).
         167  +
    /* BuilderGenerator.kt:175 */
  152    168   
    pub fn builder() -> crate::types::builders::ConditionBuilder {
         169  +
        /* BuilderGenerator.kt:176 */
  153    170   
        crate::types::builders::ConditionBuilder::default()
         171  +
        /* BuilderGenerator.kt:175 */
  154    172   
    }
         173  +
    /* ClientCodegenVisitor.kt:237 */
  155    174   
}
  156    175   
  157         -
/// A builder for [`Condition`](crate::types::Condition).
         176  +
/// /* BuilderGenerator.kt:342 */A builder for [`Condition`](crate::types::Condition).
         177  +
/* RustType.kt:516 */
  158    178   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         179  +
/* RustType.kt:516 */
  159    180   
#[non_exhaustive]
         181  +
/* BuilderGenerator.kt:345 */
  160    182   
pub struct ConditionBuilder {
  161         -
    pub(crate) attribute_value_list: ::std::option::Option<::std::vec::Vec<crate::types::AttributeValue>>,
         183  +
    /* BuilderGenerator.kt:275 */ pub(crate) attribute_value_list: ::std::option::Option<::std::vec::Vec<crate::types::AttributeValue>>,
         184  +
    /* BuilderGenerator.kt:275 */
  162    185   
    pub(crate) comparison_operator: ::std::option::Option<crate::types::ComparisonOperator>,
         186  +
    /* BuilderGenerator.kt:345 */
  163    187   
}
         188  +
/* BuilderGenerator.kt:355 */
  164    189   
impl ConditionBuilder {
  165         -
    /// Appends an item to `attribute_value_list`.
         190  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `attribute_value_list`.
         191  +
    /* BuilderGenerator.kt:411 */
  166    192   
    ///
  167         -
    /// To override the contents of this collection use [`set_attribute_value_list`](Self::set_attribute_value_list).
         193  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_attribute_value_list`](Self::set_attribute_value_list).
         194  +
    /* BuilderGenerator.kt:413 */
  168    195   
    ///
  169         -
    /// <p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
         196  +
    /// /* BuilderGenerator.kt:414 */<p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
  170    197   
    /// <p>For type Number, value comparisons are numeric.</p>
  171    198   
    /// <p>String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, <code>a</code> is greater than <code>A</code>, and <code>a</code> is greater than <code>B</code>. For a list of code values, see <a href="http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters">http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters</a>.</p>
  172    199   
    /// <p>For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.</p>
         200  +
    /* BuilderGenerator.kt:418 */
  173    201   
    pub fn attribute_value_list(mut self, input: crate::types::AttributeValue) -> Self {
         202  +
        /* BuilderGenerator.kt:419 */
  174    203   
        let mut v = self.attribute_value_list.unwrap_or_default();
  175    204   
        v.push(input);
  176    205   
        self.attribute_value_list = ::std::option::Option::Some(v);
  177    206   
        self
         207  +
        /* BuilderGenerator.kt:418 */
  178    208   
    }
  179         -
    /// <p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
         209  +
    /// /* BuilderGenerator.kt:312 */<p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
  180    210   
    /// <p>For type Number, value comparisons are numeric.</p>
  181    211   
    /// <p>String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, <code>a</code> is greater than <code>A</code>, and <code>a</code> is greater than <code>B</code>. For a list of code values, see <a href="http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters">http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters</a>.</p>
  182    212   
    /// <p>For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.</p>
         213  +
    /* BuilderGenerator.kt:314 */
  183    214   
    pub fn set_attribute_value_list(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AttributeValue>>) -> Self {
         215  +
        /* BuilderGenerator.kt:315 */
  184    216   
        self.attribute_value_list = input;
  185    217   
        self
         218  +
        /* BuilderGenerator.kt:314 */
  186    219   
    }
  187         -
    /// <p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
         220  +
    /// /* BuilderGenerator.kt:334 */<p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
  188    221   
    /// <p>For type Number, value comparisons are numeric.</p>
  189    222   
    /// <p>String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, <code>a</code> is greater than <code>A</code>, and <code>a</code> is greater than <code>B</code>. For a list of code values, see <a href="http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters">http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters</a>.</p>
  190    223   
    /// <p>For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.</p>
         224  +
    /* BuilderGenerator.kt:336 */
  191    225   
    pub fn get_attribute_value_list(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AttributeValue>> {
         226  +
        /* BuilderGenerator.kt:337 */
  192    227   
        &self.attribute_value_list
         228  +
        /* BuilderGenerator.kt:336 */
  193    229   
    }
  194         -
    /// <p>A comparator for evaluating attributes. For example, equals, greater than, less than, etc.</p>
         230  +
    /// /* BuilderGenerator.kt:286 */<p>A comparator for evaluating attributes. For example, equals, greater than, less than, etc.</p>
  195    231   
    /// <p>The following comparison operators are available:</p>
  196    232   
    /// <p><code>EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN</code></p>
  197    233   
    /// <p>The following are descriptions of each comparison operator.</p>
  198    234   
    /// <ul>
  199    235   
    /// <li>
  200    236   
    /// <p><code>EQ</code> : Equal. <code>EQ</code> is supported for all data types, including lists and maps.</p>
  201    237   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  202    238   
    /// <p></p></li>
  203    239   
    /// <li>
  204    240   
    /// <p><code>NE</code> : Not equal. <code>NE</code> is supported for all data types, including lists and maps.</p>
  205    241   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  206    242   
    /// <p></p></li>
  207    243   
    /// <li>
  208    244   
    /// <p><code>LE</code> : Less than or equal.</p>
  209    245   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  210    246   
    /// <p></p></li>
  211    247   
    /// <li>
  212    248   
    /// <p><code>LT</code> : Less than.</p>
  213    249   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  214    250   
    /// <p></p></li>
  215    251   
    /// <li>
  216    252   
    /// <p><code>GE</code> : Greater than or equal.</p>
  217    253   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  218    254   
    /// <p></p></li>
  219    255   
    /// <li>
  220    256   
    /// <p><code>GT</code> : Greater than.</p>
  221    257   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  222    258   
    /// <p></p></li>
  223    259   
    /// <li>
  224    260   
    /// <p><code>NOT_NULL</code> : The attribute exists. <code>NOT_NULL</code> is supported for all data types, including lists and maps.</p><note>
  225    261   
    /// <p>This operator tests for the existence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NOT_NULL</code>, the result is a Boolean <code>true</code>. This result is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NOT_NULL</code> comparison operator.</p>
  226    262   
    /// </note></li>
  227    263   
    /// <li>
  228    264   
    /// <p><code>NULL</code> : The attribute does not exist. <code>NULL</code> is supported for all data types, including lists and maps.</p><note>
  229    265   
    /// <p>This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NULL</code>, the result is a Boolean <code>false</code>. This is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NULL</code> comparison operator.</p>
  230    266   
    /// </note></li>
  231    267   
    /// <li>
  232    268   
    /// <p><code>CONTAINS</code> : Checks for a subsequence, or value in a set.</p>
  233    269   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it finds an exact match with any member of the set.</p>
  234    270   
    /// <p>CONTAINS is supported for lists: When evaluating "<code>a CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
  235    271   
    /// <li>
  236    272   
    /// <p><code>NOT_CONTAINS</code> : Checks for absence of a subsequence, or absence of a value in a set.</p>
  237    273   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it <i>does not</i> find an exact match with any member of the set.</p>
  238    274   
    /// <p>NOT_CONTAINS is supported for lists: When evaluating "<code>a NOT CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
  239    275   
    /// <li>
  240    276   
    /// <p><code>BEGINS_WITH</code> : Checks for a prefix.</p>
  241    277   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).</p>
  242    278   
    /// <p></p></li>
  243    279   
    /// <li>
  244    280   
    /// <p><code>IN</code> : Checks for matching elements in a list.</p>
  245    281   
    /// <p><code>AttributeValueList</code> can contain one or more <code>AttributeValue</code> elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.</p></li>
  246    282   
    /// <li>
  247    283   
    /// <p><code>BETWEEN</code> : Greater than or equal to the first value, and less than or equal to the second value.</p>
  248    284   
    /// <p><code>AttributeValueList</code> must contain two <code>AttributeValue</code> elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not compare to <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code></p></li>
  249    285   
    /// </ul>
  250    286   
    /// <p>For usage examples of <code>AttributeValueList</code> and <code>ComparisonOperator</code>, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html">Legacy Conditional Parameters</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
  251         -
    /// This field is required.
         287  +
    /// /* BuilderGenerator.kt:288 */This field is required.
         288  +
    /* BuilderGenerator.kt:291 */
  252    289   
    pub fn comparison_operator(mut self, input: crate::types::ComparisonOperator) -> Self {
         290  +
        /* BuilderGenerator.kt:292 */
  253    291   
        self.comparison_operator = ::std::option::Option::Some(input);
         292  +
        /* BuilderGenerator.kt:293 */
  254    293   
        self
         294  +
        /* BuilderGenerator.kt:291 */
  255    295   
    }
  256         -
    /// <p>A comparator for evaluating attributes. For example, equals, greater than, less than, etc.</p>
         296  +
    /// /* BuilderGenerator.kt:312 */<p>A comparator for evaluating attributes. For example, equals, greater than, less than, etc.</p>
  257    297   
    /// <p>The following comparison operators are available:</p>
  258    298   
    /// <p><code>EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN</code></p>
  259    299   
    /// <p>The following are descriptions of each comparison operator.</p>
  260    300   
    /// <ul>
  261    301   
    /// <li>
  262    302   
    /// <p><code>EQ</code> : Equal. <code>EQ</code> is supported for all data types, including lists and maps.</p>
  263    303   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  264    304   
    /// <p></p></li>
  265    305   
    /// <li>
  266    306   
    /// <p><code>NE</code> : Not equal. <code>NE</code> is supported for all data types, including lists and maps.</p>
  267    307   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  268    308   
    /// <p></p></li>
  269    309   
    /// <li>
  270    310   
    /// <p><code>LE</code> : Less than or equal.</p>
  271    311   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  272    312   
    /// <p></p></li>
  273    313   
    /// <li>
  274    314   
    /// <p><code>LT</code> : Less than.</p>
  275    315   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  276    316   
    /// <p></p></li>
  277    317   
    /// <li>
  278    318   
    /// <p><code>GE</code> : Greater than or equal.</p>
  279    319   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  280    320   
    /// <p></p></li>
  281    321   
    /// <li>
  282    322   
    /// <p><code>GT</code> : Greater than.</p>
  283    323   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  284    324   
    /// <p></p></li>
  285    325   
    /// <li>
  286    326   
    /// <p><code>NOT_NULL</code> : The attribute exists. <code>NOT_NULL</code> is supported for all data types, including lists and maps.</p><note>
  287    327   
    /// <p>This operator tests for the existence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NOT_NULL</code>, the result is a Boolean <code>true</code>. This result is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NOT_NULL</code> comparison operator.</p>
  288    328   
    /// </note></li>
  289    329   
    /// <li>
  290    330   
    /// <p><code>NULL</code> : The attribute does not exist. <code>NULL</code> is supported for all data types, including lists and maps.</p><note>
  291    331   
    /// <p>This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NULL</code>, the result is a Boolean <code>false</code>. This is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NULL</code> comparison operator.</p>
  292    332   
    /// </note></li>
  293    333   
    /// <li>
  294    334   
    /// <p><code>CONTAINS</code> : Checks for a subsequence, or value in a set.</p>
  295    335   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it finds an exact match with any member of the set.</p>
  296    336   
    /// <p>CONTAINS is supported for lists: When evaluating "<code>a CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
  297    337   
    /// <li>
  298    338   
    /// <p><code>NOT_CONTAINS</code> : Checks for absence of a subsequence, or absence of a value in a set.</p>
  299    339   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it <i>does not</i> find an exact match with any member of the set.</p>
  300    340   
    /// <p>NOT_CONTAINS is supported for lists: When evaluating "<code>a NOT CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
  301    341   
    /// <li>
  302    342   
    /// <p><code>BEGINS_WITH</code> : Checks for a prefix.</p>
  303    343   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).</p>
  304    344   
    /// <p></p></li>
  305    345   
    /// <li>
  306    346   
    /// <p><code>IN</code> : Checks for matching elements in a list.</p>
  307    347   
    /// <p><code>AttributeValueList</code> can contain one or more <code>AttributeValue</code> elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.</p></li>
  308    348   
    /// <li>
  309    349   
    /// <p><code>BETWEEN</code> : Greater than or equal to the first value, and less than or equal to the second value.</p>
  310    350   
    /// <p><code>AttributeValueList</code> must contain two <code>AttributeValue</code> elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not compare to <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code></p></li>
  311    351   
    /// </ul>
  312    352   
    /// <p>For usage examples of <code>AttributeValueList</code> and <code>ComparisonOperator</code>, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html">Legacy Conditional Parameters</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         353  +
    /* BuilderGenerator.kt:314 */
  313    354   
    pub fn set_comparison_operator(mut self, input: ::std::option::Option<crate::types::ComparisonOperator>) -> Self {
         355  +
        /* BuilderGenerator.kt:315 */
  314    356   
        self.comparison_operator = input;
  315    357   
        self
         358  +
        /* BuilderGenerator.kt:314 */
  316    359   
    }
  317         -
    /// <p>A comparator for evaluating attributes. For example, equals, greater than, less than, etc.</p>
         360  +
    /// /* BuilderGenerator.kt:334 */<p>A comparator for evaluating attributes. For example, equals, greater than, less than, etc.</p>
  318    361   
    /// <p>The following comparison operators are available:</p>
  319    362   
    /// <p><code>EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN</code></p>
  320    363   
    /// <p>The following are descriptions of each comparison operator.</p>
  321    364   
    /// <ul>
  322    365   
    /// <li>
  323    366   
    /// <p><code>EQ</code> : Equal. <code>EQ</code> is supported for all data types, including lists and maps.</p>
  324    367   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  325    368   
    /// <p></p></li>
  326    369   
    /// <li>
  327    370   
    /// <p><code>NE</code> : Not equal. <code>NE</code> is supported for all data types, including lists and maps.</p>
  328    371   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  329    372   
    /// <p></p></li>
  330    373   
    /// <li>
  331    374   
    /// <p><code>LE</code> : Less than or equal.</p>
  332    375   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  333    376   
    /// <p></p></li>
  334    377   
    /// <li>
  335    378   
    /// <p><code>LT</code> : Less than.</p>
  336    379   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  337    380   
    /// <p></p></li>
  338    381   
    /// <li>
  339    382   
    /// <p><code>GE</code> : Greater than or equal.</p>
  340    383   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  341    384   
    /// <p></p></li>
  342    385   
    /// <li>
  343    386   
    /// <p><code>GT</code> : Greater than.</p>
  344    387   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  345    388   
    /// <p></p></li>
  346    389   
    /// <li>
  347    390   
    /// <p><code>NOT_NULL</code> : The attribute exists. <code>NOT_NULL</code> is supported for all data types, including lists and maps.</p><note>
  348    391   
    /// <p>This operator tests for the existence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NOT_NULL</code>, the result is a Boolean <code>true</code>. This result is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NOT_NULL</code> comparison operator.</p>
  349    392   
    /// </note></li>
  350    393   
    /// <li>
  351    394   
    /// <p><code>NULL</code> : The attribute does not exist. <code>NULL</code> is supported for all data types, including lists and maps.</p><note>
  352    395   
    /// <p>This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NULL</code>, the result is a Boolean <code>false</code>. This is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NULL</code> comparison operator.</p>
  353    396   
    /// </note></li>
  354    397   
    /// <li>
  355    398   
    /// <p><code>CONTAINS</code> : Checks for a subsequence, or value in a set.</p>
  356    399   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it finds an exact match with any member of the set.</p>
  357    400   
    /// <p>CONTAINS is supported for lists: When evaluating "<code>a CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
  358    401   
    /// <li>
  359    402   
    /// <p><code>NOT_CONTAINS</code> : Checks for absence of a subsequence, or absence of a value in a set.</p>
  360    403   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it <i>does not</i> find an exact match with any member of the set.</p>
  361    404   
    /// <p>NOT_CONTAINS is supported for lists: When evaluating "<code>a NOT CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
  362    405   
    /// <li>
  363    406   
    /// <p><code>BEGINS_WITH</code> : Checks for a prefix.</p>
  364    407   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).</p>
  365    408   
    /// <p></p></li>
  366    409   
    /// <li>
  367    410   
    /// <p><code>IN</code> : Checks for matching elements in a list.</p>
  368    411   
    /// <p><code>AttributeValueList</code> can contain one or more <code>AttributeValue</code> elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.</p></li>
  369    412   
    /// <li>
  370    413   
    /// <p><code>BETWEEN</code> : Greater than or equal to the first value, and less than or equal to the second value.</p>
  371    414   
    /// <p><code>AttributeValueList</code> must contain two <code>AttributeValue</code> elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not compare to <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code></p></li>
  372    415   
    /// </ul>
  373    416   
    /// <p>For usage examples of <code>AttributeValueList</code> and <code>ComparisonOperator</code>, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html">Legacy Conditional Parameters</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         417  +
    /* BuilderGenerator.kt:336 */
  374    418   
    pub fn get_comparison_operator(&self) -> &::std::option::Option<crate::types::ComparisonOperator> {
         419  +
        /* BuilderGenerator.kt:337 */
  375    420   
        &self.comparison_operator
         421  +
        /* BuilderGenerator.kt:336 */
  376    422   
    }
  377         -
    /// Consumes the builder and constructs a [`Condition`](crate::types::Condition).
  378         -
    /// This method will fail if any of the following fields are not set:
  379         -
    /// - [`comparison_operator`](crate::types::builders::ConditionBuilder::comparison_operator)
         423  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`Condition`](crate::types::Condition).
         424  +
    /// /* BuilderGenerator.kt:243 */This method will fail if any of the following fields are not set:
         425  +
    /// /* BuilderGenerator.kt:246 */- [`comparison_operator`](crate::types::builders::ConditionBuilder::comparison_operator)
         426  +
    /* BuilderGenerator.kt:253 */
  380    427   
    pub fn build(self) -> ::std::result::Result<crate::types::Condition, ::aws_smithy_types::error::operation::BuildError> {
  381         -
        ::std::result::Result::Ok(crate::types::Condition {
  382         -
            attribute_value_list: self.attribute_value_list,
  383         -
            comparison_operator: self.comparison_operator.ok_or_else(|| {
  384         -
                ::aws_smithy_types::error::operation::BuildError::missing_field(
  385         -
                    "comparison_operator",
  386         -
                    "comparison_operator was not specified but it is required when building Condition",
  387         -
                )
  388         -
            })?,
  389         -
        })
         428  +
        /* BuilderGenerator.kt:254 */
         429  +
        ::std::result::Result::Ok(
         430  +
            /* BuilderGenerator.kt:477 */crate::types::Condition {
         431  +
                /* BuilderGenerator.kt:481 */attribute_value_list: self.attribute_value_list
         432  +
                ,
         433  +
                /* BuilderGenerator.kt:481 */comparison_operator: self.comparison_operator
         434  +
                    /* BuilderGenerator.kt:494 */.ok_or_else(||
         435  +
                        /* BuilderGenerator.kt:117 */::aws_smithy_types::error::operation::BuildError::missing_field("comparison_operator", "comparison_operator was not specified but it is required when building Condition")
         436  +
                    /* BuilderGenerator.kt:494 */)?
         437  +
                ,
         438  +
            /* BuilderGenerator.kt:477 */}
         439  +
        /* BuilderGenerator.kt:254 */)
         440  +
        /* BuilderGenerator.kt:253 */
  390    441   
    }
         442  +
    /* BuilderGenerator.kt:355 */
  391    443   
}

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

@@ -1,1 +220,326 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents a request to perform a check that an item exists or to check the condition of specific attributes of the item.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents a request to perform a check that an item exists or to check the condition of specific attributes of 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 ConditionCheck {
    7         -
    /// <p>The primary key of the item to be checked. Each element consists of an attribute name and a value for that attribute.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct ConditionCheck {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The primary key of the item to be checked. Each element consists of an attribute name and a value for that attribute.</p>
    8     10   
    pub key: ::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>,
    9         -
    /// <p>Name of the table for the check item request.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>Name of the table for the check item request.</p>
   10     12   
    pub table_name: ::std::string::String,
   11         -
    /// <p>A condition that must be satisfied in order for a conditional update to succeed.</p>
          13  +
    /// /* StructureGenerator.kt:231 */<p>A condition that must be satisfied in order for a conditional update to succeed.</p>
   12     14   
    pub condition_expression: ::std::string::String,
   13         -
    /// <p>One or more substitution tokens for attribute names in an expression.</p>
          15  +
    /// /* StructureGenerator.kt:231 */<p>One or more substitution tokens for attribute names in an expression.</p>
   14     16   
    pub expression_attribute_names: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
   15         -
    /// <p>One or more values that can be substituted in an expression.</p>
          17  +
    /// /* StructureGenerator.kt:231 */<p>One or more values that can be substituted in an expression.</p>
   16     18   
    pub expression_attribute_values: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
   17         -
    /// <p>Use <code>ReturnValuesOnConditionCheckFailure</code> to get the item attributes if the <code>ConditionCheck</code> condition fails. For <code>ReturnValuesOnConditionCheckFailure</code>, the valid values are: NONE and ALL_OLD.</p>
          19  +
    /// /* StructureGenerator.kt:231 */<p>Use <code>ReturnValuesOnConditionCheckFailure</code> to get the item attributes if the <code>ConditionCheck</code> condition fails. For <code>ReturnValuesOnConditionCheckFailure</code>, the valid values are: NONE and ALL_OLD.</p>
   18     20   
    pub return_values_on_condition_check_failure: ::std::option::Option<crate::types::ReturnValuesOnConditionCheckFailure>,
          21  +
    /* StructureGenerator.kt:201 */
   19     22   
}
          23  +
/* StructureGenerator.kt:135 */
   20     24   
impl ConditionCheck {
   21         -
    /// <p>The primary key of the item to be checked. Each element consists of an attribute name and a value for that attribute.</p>
          25  +
    /// /* StructureGenerator.kt:231 */<p>The primary key of the item to be checked. Each element consists of an attribute name and a value for that attribute.</p>
          26  +
    /* StructureGenerator.kt:166 */
   22     27   
    pub fn key(&self) -> &::std::collections::HashMap<::std::string::String, crate::types::AttributeValue> {
          28  +
        /* StructureGenerator.kt:172 */
   23     29   
        &self.key
          30  +
        /* StructureGenerator.kt:166 */
   24     31   
    }
   25         -
    /// <p>Name of the table for the check item request.</p>
          32  +
    /// /* StructureGenerator.kt:231 */<p>Name of the table for the check item request.</p>
          33  +
    /* StructureGenerator.kt:166 */
   26     34   
    pub fn table_name(&self) -> &str {
          35  +
        /* StructureGenerator.kt:171 */
   27     36   
        use std::ops::Deref;
   28     37   
        self.table_name.deref()
          38  +
        /* StructureGenerator.kt:166 */
   29     39   
    }
   30         -
    /// <p>A condition that must be satisfied in order for a conditional update to succeed.</p>
          40  +
    /// /* StructureGenerator.kt:231 */<p>A condition that must be satisfied in order for a conditional update to succeed.</p>
          41  +
    /* StructureGenerator.kt:166 */
   31     42   
    pub fn condition_expression(&self) -> &str {
          43  +
        /* StructureGenerator.kt:171 */
   32     44   
        use std::ops::Deref;
   33     45   
        self.condition_expression.deref()
          46  +
        /* StructureGenerator.kt:166 */
   34     47   
    }
   35         -
    /// <p>One or more substitution tokens for attribute names in an expression.</p>
          48  +
    /// /* StructureGenerator.kt:231 */<p>One or more substitution tokens for attribute names in an expression.</p>
          49  +
    /* StructureGenerator.kt:166 */
   36     50   
    pub fn expression_attribute_names(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
          51  +
        /* StructureGenerator.kt:170 */
   37     52   
        self.expression_attribute_names.as_ref()
          53  +
        /* StructureGenerator.kt:166 */
   38     54   
    }
   39         -
    /// <p>One or more values that can be substituted in an expression.</p>
          55  +
    /// /* StructureGenerator.kt:231 */<p>One or more values that can be substituted in an expression.</p>
          56  +
    /* StructureGenerator.kt:166 */
   40     57   
    pub fn expression_attribute_values(
   41     58   
        &self,
   42     59   
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
          60  +
        /* StructureGenerator.kt:170 */
   43     61   
        self.expression_attribute_values.as_ref()
          62  +
        /* StructureGenerator.kt:166 */
   44     63   
    }
   45         -
    /// <p>Use <code>ReturnValuesOnConditionCheckFailure</code> to get the item attributes if the <code>ConditionCheck</code> condition fails. For <code>ReturnValuesOnConditionCheckFailure</code>, the valid values are: NONE and ALL_OLD.</p>
          64  +
    /// /* StructureGenerator.kt:231 */<p>Use <code>ReturnValuesOnConditionCheckFailure</code> to get the item attributes if the <code>ConditionCheck</code> condition fails. For <code>ReturnValuesOnConditionCheckFailure</code>, the valid values are: NONE and ALL_OLD.</p>
          65  +
    /* StructureGenerator.kt:166 */
   46     66   
    pub fn return_values_on_condition_check_failure(&self) -> ::std::option::Option<&crate::types::ReturnValuesOnConditionCheckFailure> {
          67  +
        /* StructureGenerator.kt:170 */
   47     68   
        self.return_values_on_condition_check_failure.as_ref()
          69  +
        /* StructureGenerator.kt:166 */
   48     70   
    }
          71  +
    /* StructureGenerator.kt:135 */
   49     72   
}
          73  +
/* ClientCodegenVisitor.kt:237 */
   50     74   
impl ConditionCheck {
   51         -
    /// Creates a new builder-style object to manufacture [`ConditionCheck`](crate::types::ConditionCheck).
          75  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`ConditionCheck`](crate::types::ConditionCheck).
          76  +
    /* BuilderGenerator.kt:175 */
   52     77   
    pub fn builder() -> crate::types::builders::ConditionCheckBuilder {
          78  +
        /* BuilderGenerator.kt:176 */
   53     79   
        crate::types::builders::ConditionCheckBuilder::default()
          80  +
        /* BuilderGenerator.kt:175 */
   54     81   
    }
          82  +
    /* ClientCodegenVisitor.kt:237 */
   55     83   
}
   56     84   
   57         -
/// A builder for [`ConditionCheck`](crate::types::ConditionCheck).
          85  +
/// /* BuilderGenerator.kt:342 */A builder for [`ConditionCheck`](crate::types::ConditionCheck).
          86  +
/* RustType.kt:516 */
   58     87   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          88  +
/* RustType.kt:516 */
   59     89   
#[non_exhaustive]
          90  +
/* BuilderGenerator.kt:345 */
   60     91   
pub struct ConditionCheckBuilder {
          92  +
    /* BuilderGenerator.kt:275 */
   61     93   
    pub(crate) key: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
   62         -
    pub(crate) table_name: ::std::option::Option<::std::string::String>,
   63         -
    pub(crate) condition_expression: ::std::option::Option<::std::string::String>,
          94  +
    /* BuilderGenerator.kt:275 */ pub(crate) table_name: ::std::option::Option<::std::string::String>,
          95  +
    /* BuilderGenerator.kt:275 */ pub(crate) condition_expression: ::std::option::Option<::std::string::String>,
          96  +
    /* BuilderGenerator.kt:275 */
   64     97   
    pub(crate) expression_attribute_names: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
          98  +
    /* BuilderGenerator.kt:275 */
   65     99   
    pub(crate) expression_attribute_values: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
         100  +
    /* BuilderGenerator.kt:275 */
   66    101   
    pub(crate) return_values_on_condition_check_failure: ::std::option::Option<crate::types::ReturnValuesOnConditionCheckFailure>,
         102  +
    /* BuilderGenerator.kt:345 */
   67    103   
}
         104  +
/* BuilderGenerator.kt:355 */
   68    105   
impl ConditionCheckBuilder {
   69         -
    /// Adds a key-value pair to `key`.
         106  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `key`.
         107  +
    /* BuilderGenerator.kt:437 */
   70    108   
    ///
   71         -
    /// To override the contents of this collection use [`set_key`](Self::set_key).
         109  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_key`](Self::set_key).
         110  +
    /* BuilderGenerator.kt:439 */
   72    111   
    ///
   73         -
    /// <p>The primary key of the item to be checked. Each element consists of an attribute name and a value for that attribute.</p>
         112  +
    /// /* BuilderGenerator.kt:440 */<p>The primary key of the item to be checked. Each element consists of an attribute name and a value for that attribute.</p>
         113  +
    /* BuilderGenerator.kt:445 */
   74    114   
    pub fn key(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
         115  +
        /* BuilderGenerator.kt:448 */
   75    116   
        let mut hash_map = self.key.unwrap_or_default();
   76    117   
        hash_map.insert(k.into(), v);
   77    118   
        self.key = ::std::option::Option::Some(hash_map);
   78    119   
        self
         120  +
        /* BuilderGenerator.kt:445 */
   79    121   
    }
   80         -
    /// <p>The primary key of the item to be checked. Each element consists of an attribute name and a value for that attribute.</p>
         122  +
    /// /* BuilderGenerator.kt:312 */<p>The primary key of the item to be checked. Each element consists of an attribute name and a value for that attribute.</p>
         123  +
    /* BuilderGenerator.kt:314 */
   81    124   
    pub fn set_key(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>) -> Self {
         125  +
        /* BuilderGenerator.kt:315 */
   82    126   
        self.key = input;
   83    127   
        self
         128  +
        /* BuilderGenerator.kt:314 */
   84    129   
    }
   85         -
    /// <p>The primary key of the item to be checked. Each element consists of an attribute name and a value for that attribute.</p>
         130  +
    /// /* BuilderGenerator.kt:334 */<p>The primary key of the item to be checked. Each element consists of an attribute name and a value for that attribute.</p>
         131  +
    /* BuilderGenerator.kt:336 */
   86    132   
    pub fn get_key(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         133  +
        /* BuilderGenerator.kt:337 */
   87    134   
        &self.key
         135  +
        /* BuilderGenerator.kt:336 */
   88    136   
    }
   89         -
    /// <p>Name of the table for the check item request.</p>
   90         -
    /// This field is required.
         137  +
    /// /* BuilderGenerator.kt:286 */<p>Name of the table for the check item request.</p>
         138  +
    /// /* BuilderGenerator.kt:288 */This field is required.
         139  +
    /* BuilderGenerator.kt:291 */
   91    140   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         141  +
        /* BuilderGenerator.kt:292 */
   92    142   
        self.table_name = ::std::option::Option::Some(input.into());
         143  +
        /* BuilderGenerator.kt:293 */
   93    144   
        self
         145  +
        /* BuilderGenerator.kt:291 */
   94    146   
    }
   95         -
    /// <p>Name of the table for the check item request.</p>
         147  +
    /// /* BuilderGenerator.kt:312 */<p>Name of the table for the check item request.</p>
         148  +
    /* BuilderGenerator.kt:314 */
   96    149   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         150  +
        /* BuilderGenerator.kt:315 */
   97    151   
        self.table_name = input;
   98    152   
        self
         153  +
        /* BuilderGenerator.kt:314 */
   99    154   
    }
  100         -
    /// <p>Name of the table for the check item request.</p>
         155  +
    /// /* BuilderGenerator.kt:334 */<p>Name of the table for the check item request.</p>
         156  +
    /* BuilderGenerator.kt:336 */
  101    157   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
         158  +
        /* BuilderGenerator.kt:337 */
  102    159   
        &self.table_name
         160  +
        /* BuilderGenerator.kt:336 */
  103    161   
    }
  104         -
    /// <p>A condition that must be satisfied in order for a conditional update to succeed.</p>
  105         -
    /// This field is required.
         162  +
    /// /* BuilderGenerator.kt:286 */<p>A condition that must be satisfied in order for a conditional update to succeed.</p>
         163  +
    /// /* BuilderGenerator.kt:288 */This field is required.
         164  +
    /* BuilderGenerator.kt:291 */
  106    165   
    pub fn condition_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         166  +
        /* BuilderGenerator.kt:292 */
  107    167   
        self.condition_expression = ::std::option::Option::Some(input.into());
         168  +
        /* BuilderGenerator.kt:293 */
  108    169   
        self
         170  +
        /* BuilderGenerator.kt:291 */
  109    171   
    }
  110         -
    /// <p>A condition that must be satisfied in order for a conditional update to succeed.</p>
         172  +
    /// /* BuilderGenerator.kt:312 */<p>A condition that must be satisfied in order for a conditional update to succeed.</p>
         173  +
    /* BuilderGenerator.kt:314 */
  111    174   
    pub fn set_condition_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         175  +
        /* BuilderGenerator.kt:315 */
  112    176   
        self.condition_expression = input;
  113    177   
        self
         178  +
        /* BuilderGenerator.kt:314 */
  114    179   
    }
  115         -
    /// <p>A condition that must be satisfied in order for a conditional update to succeed.</p>
         180  +
    /// /* BuilderGenerator.kt:334 */<p>A condition that must be satisfied in order for a conditional update to succeed.</p>
         181  +
    /* BuilderGenerator.kt:336 */
  116    182   
    pub fn get_condition_expression(&self) -> &::std::option::Option<::std::string::String> {
         183  +
        /* BuilderGenerator.kt:337 */
  117    184   
        &self.condition_expression
         185  +
        /* BuilderGenerator.kt:336 */
  118    186   
    }
  119         -
    /// Adds a key-value pair to `expression_attribute_names`.
         187  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `expression_attribute_names`.
         188  +
    /* BuilderGenerator.kt:437 */
  120    189   
    ///
  121         -
    /// To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
         190  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
         191  +
    /* BuilderGenerator.kt:439 */
  122    192   
    ///
  123         -
    /// <p>One or more substitution tokens for attribute names in an expression.</p>
         193  +
    /// /* BuilderGenerator.kt:440 */<p>One or more substitution tokens for attribute names in an expression.</p>
         194  +
    /* BuilderGenerator.kt:445 */
  124    195   
    pub fn expression_attribute_names(
  125    196   
        mut self,
  126    197   
        k: impl ::std::convert::Into<::std::string::String>,
  127    198   
        v: impl ::std::convert::Into<::std::string::String>,
  128    199   
    ) -> Self {
         200  +
        /* BuilderGenerator.kt:448 */
  129    201   
        let mut hash_map = self.expression_attribute_names.unwrap_or_default();
  130    202   
        hash_map.insert(k.into(), v.into());
  131    203   
        self.expression_attribute_names = ::std::option::Option::Some(hash_map);
  132    204   
        self
         205  +
        /* BuilderGenerator.kt:445 */
  133    206   
    }
  134         -
    /// <p>One or more substitution tokens for attribute names in an expression.</p>
         207  +
    /// /* BuilderGenerator.kt:312 */<p>One or more substitution tokens for attribute names in an expression.</p>
         208  +
    /* BuilderGenerator.kt:314 */
  135    209   
    pub fn set_expression_attribute_names(
  136    210   
        mut self,
  137    211   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
  138    212   
    ) -> Self {
         213  +
        /* BuilderGenerator.kt:315 */
  139    214   
        self.expression_attribute_names = input;
  140    215   
        self
         216  +
        /* BuilderGenerator.kt:314 */
  141    217   
    }
  142         -
    /// <p>One or more substitution tokens for attribute names in an expression.</p>
         218  +
    /// /* BuilderGenerator.kt:334 */<p>One or more substitution tokens for attribute names in an expression.</p>
         219  +
    /* BuilderGenerator.kt:336 */
  143    220   
    pub fn get_expression_attribute_names(
  144    221   
        &self,
  145    222   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
         223  +
        /* BuilderGenerator.kt:337 */
  146    224   
        &self.expression_attribute_names
         225  +
        /* BuilderGenerator.kt:336 */
  147    226   
    }
  148         -
    /// Adds a key-value pair to `expression_attribute_values`.
         227  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `expression_attribute_values`.
         228  +
    /* BuilderGenerator.kt:437 */
  149    229   
    ///
  150         -
    /// To override the contents of this collection use [`set_expression_attribute_values`](Self::set_expression_attribute_values).
         230  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_expression_attribute_values`](Self::set_expression_attribute_values).
         231  +
    /* BuilderGenerator.kt:439 */
  151    232   
    ///
  152         -
    /// <p>One or more values that can be substituted in an expression.</p>
         233  +
    /// /* BuilderGenerator.kt:440 */<p>One or more values that can be substituted in an expression.</p>
         234  +
    /* BuilderGenerator.kt:445 */
  153    235   
    pub fn expression_attribute_values(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
         236  +
        /* BuilderGenerator.kt:448 */
  154    237   
        let mut hash_map = self.expression_attribute_values.unwrap_or_default();
  155    238   
        hash_map.insert(k.into(), v);
  156    239   
        self.expression_attribute_values = ::std::option::Option::Some(hash_map);
  157    240   
        self
         241  +
        /* BuilderGenerator.kt:445 */
  158    242   
    }
  159         -
    /// <p>One or more values that can be substituted in an expression.</p>
         243  +
    /// /* BuilderGenerator.kt:312 */<p>One or more values that can be substituted in an expression.</p>
         244  +
    /* BuilderGenerator.kt:314 */
  160    245   
    pub fn set_expression_attribute_values(
  161    246   
        mut self,
  162    247   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  163    248   
    ) -> Self {
         249  +
        /* BuilderGenerator.kt:315 */
  164    250   
        self.expression_attribute_values = input;
  165    251   
        self
         252  +
        /* BuilderGenerator.kt:314 */
  166    253   
    }
  167         -
    /// <p>One or more values that can be substituted in an expression.</p>
         254  +
    /// /* BuilderGenerator.kt:334 */<p>One or more values that can be substituted in an expression.</p>
         255  +
    /* BuilderGenerator.kt:336 */
  168    256   
    pub fn get_expression_attribute_values(
  169    257   
        &self,
  170    258   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         259  +
        /* BuilderGenerator.kt:337 */
  171    260   
        &self.expression_attribute_values
         261  +
        /* BuilderGenerator.kt:336 */
  172    262   
    }
  173         -
    /// <p>Use <code>ReturnValuesOnConditionCheckFailure</code> to get the item attributes if the <code>ConditionCheck</code> condition fails. For <code>ReturnValuesOnConditionCheckFailure</code>, the valid values are: NONE and ALL_OLD.</p>
         263  +
    /// /* BuilderGenerator.kt:286 */<p>Use <code>ReturnValuesOnConditionCheckFailure</code> to get the item attributes if the <code>ConditionCheck</code> condition fails. For <code>ReturnValuesOnConditionCheckFailure</code>, the valid values are: NONE and ALL_OLD.</p>
         264  +
    /* BuilderGenerator.kt:291 */
  174    265   
    pub fn return_values_on_condition_check_failure(mut self, input: crate::types::ReturnValuesOnConditionCheckFailure) -> Self {
         266  +
        /* BuilderGenerator.kt:292 */
  175    267   
        self.return_values_on_condition_check_failure = ::std::option::Option::Some(input);
         268  +
        /* BuilderGenerator.kt:293 */
  176    269   
        self
         270  +
        /* BuilderGenerator.kt:291 */
  177    271   
    }
  178         -
    /// <p>Use <code>ReturnValuesOnConditionCheckFailure</code> to get the item attributes if the <code>ConditionCheck</code> condition fails. For <code>ReturnValuesOnConditionCheckFailure</code>, the valid values are: NONE and ALL_OLD.</p>
         272  +
    /// /* BuilderGenerator.kt:312 */<p>Use <code>ReturnValuesOnConditionCheckFailure</code> to get the item attributes if the <code>ConditionCheck</code> condition fails. For <code>ReturnValuesOnConditionCheckFailure</code>, the valid values are: NONE and ALL_OLD.</p>
         273  +
    /* BuilderGenerator.kt:314 */
  179    274   
    pub fn set_return_values_on_condition_check_failure(
  180    275   
        mut self,
  181    276   
        input: ::std::option::Option<crate::types::ReturnValuesOnConditionCheckFailure>,
  182    277   
    ) -> Self {
         278  +
        /* BuilderGenerator.kt:315 */
  183    279   
        self.return_values_on_condition_check_failure = input;
  184    280   
        self
         281  +
        /* BuilderGenerator.kt:314 */
  185    282   
    }
  186         -
    /// <p>Use <code>ReturnValuesOnConditionCheckFailure</code> to get the item attributes if the <code>ConditionCheck</code> condition fails. For <code>ReturnValuesOnConditionCheckFailure</code>, the valid values are: NONE and ALL_OLD.</p>
         283  +
    /// /* BuilderGenerator.kt:334 */<p>Use <code>ReturnValuesOnConditionCheckFailure</code> to get the item attributes if the <code>ConditionCheck</code> condition fails. For <code>ReturnValuesOnConditionCheckFailure</code>, the valid values are: NONE and ALL_OLD.</p>
         284  +
    /* BuilderGenerator.kt:336 */
  187    285   
    pub fn get_return_values_on_condition_check_failure(&self) -> &::std::option::Option<crate::types::ReturnValuesOnConditionCheckFailure> {
         286  +
        /* BuilderGenerator.kt:337 */
  188    287   
        &self.return_values_on_condition_check_failure
         288  +
        /* BuilderGenerator.kt:336 */
  189    289   
    }
  190         -
    /// Consumes the builder and constructs a [`ConditionCheck`](crate::types::ConditionCheck).
  191         -
    /// This method will fail if any of the following fields are not set:
  192         -
    /// - [`key`](crate::types::builders::ConditionCheckBuilder::key)
  193         -
    /// - [`table_name`](crate::types::builders::ConditionCheckBuilder::table_name)
  194         -
    /// - [`condition_expression`](crate::types::builders::ConditionCheckBuilder::condition_expression)
         290  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`ConditionCheck`](crate::types::ConditionCheck).
         291  +
    /// /* BuilderGenerator.kt:243 */This method will fail if any of the following fields are not set:
         292  +
    /// /* BuilderGenerator.kt:246 */- [`key`](crate::types::builders::ConditionCheckBuilder::key)
         293  +
    /// /* BuilderGenerator.kt:246 */- [`table_name`](crate::types::builders::ConditionCheckBuilder::table_name)
         294  +
    /// /* BuilderGenerator.kt:246 */- [`condition_expression`](crate::types::builders::ConditionCheckBuilder::condition_expression)
         295  +
    /* BuilderGenerator.kt:253 */
  195    296   
    pub fn build(self) -> ::std::result::Result<crate::types::ConditionCheck, ::aws_smithy_types::error::operation::BuildError> {
  196         -
        ::std::result::Result::Ok(crate::types::ConditionCheck {
  197         -
            key: self.key.ok_or_else(|| {
  198         -
                ::aws_smithy_types::error::operation::BuildError::missing_field(
  199         -
                    "key",
  200         -
                    "key was not specified but it is required when building ConditionCheck",
  201         -
                )
  202         -
            })?,
  203         -
            table_name: self.table_name.ok_or_else(|| {
  204         -
                ::aws_smithy_types::error::operation::BuildError::missing_field(
  205         -
                    "table_name",
  206         -
                    "table_name was not specified but it is required when building ConditionCheck",
  207         -
                )
  208         -
            })?,
  209         -
            condition_expression: self.condition_expression.ok_or_else(|| {
  210         -
                ::aws_smithy_types::error::operation::BuildError::missing_field(
  211         -
                    "condition_expression",
  212         -
                    "condition_expression was not specified but it is required when building ConditionCheck",
  213         -
                )
  214         -
            })?,
  215         -
            expression_attribute_names: self.expression_attribute_names,
  216         -
            expression_attribute_values: self.expression_attribute_values,
  217         -
            return_values_on_condition_check_failure: self.return_values_on_condition_check_failure,
  218         -
        })
         297  +
        /* BuilderGenerator.kt:254 */
         298  +
        ::std::result::Result::Ok(
         299  +
            /* BuilderGenerator.kt:477 */crate::types::ConditionCheck {
         300  +
                /* BuilderGenerator.kt:481 */key: self.key
         301  +
                    /* BuilderGenerator.kt:494 */.ok_or_else(||
         302  +
                        /* BuilderGenerator.kt:117 */::aws_smithy_types::error::operation::BuildError::missing_field("key", "key was not specified but it is required when building ConditionCheck")
         303  +
                    /* BuilderGenerator.kt:494 */)?
         304  +
                ,
         305  +
                /* BuilderGenerator.kt:481 */table_name: self.table_name
         306  +
                    /* BuilderGenerator.kt:494 */.ok_or_else(||
         307  +
                        /* BuilderGenerator.kt:117 */::aws_smithy_types::error::operation::BuildError::missing_field("table_name", "table_name was not specified but it is required when building ConditionCheck")
         308  +
                    /* BuilderGenerator.kt:494 */)?
         309  +
                ,
         310  +
                /* BuilderGenerator.kt:481 */condition_expression: self.condition_expression
         311  +
                    /* BuilderGenerator.kt:494 */.ok_or_else(||
         312  +
                        /* BuilderGenerator.kt:117 */::aws_smithy_types::error::operation::BuildError::missing_field("condition_expression", "condition_expression was not specified but it is required when building ConditionCheck")
         313  +
                    /* BuilderGenerator.kt:494 */)?
         314  +
                ,
         315  +
                /* BuilderGenerator.kt:481 */expression_attribute_names: self.expression_attribute_names
         316  +
                ,
         317  +
                /* BuilderGenerator.kt:481 */expression_attribute_values: self.expression_attribute_values
         318  +
                ,
         319  +
                /* BuilderGenerator.kt:481 */return_values_on_condition_check_failure: self.return_values_on_condition_check_failure
         320  +
                ,
         321  +
            /* BuilderGenerator.kt:477 */}
         322  +
        /* BuilderGenerator.kt:254 */)
         323  +
        /* BuilderGenerator.kt:253 */
  219    324   
    }
         325  +
    /* BuilderGenerator.kt:355 */
  220    326   
}

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

@@ -1,1 +108,128 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// When writing a match expression against `ConditionalOperator`, it is important to ensure
           2  +
/* ClientEnumGenerator.kt:234 */
           3  +
/// /* ClientEnumGenerator.kt:234 */When writing a match expression against `ConditionalOperator`, it is important to ensure
    4      4   
/// your code is forward-compatible. That is, if a match arm handles a case for a
    5      5   
/// feature that is supported by the service but has not been represented as an enum
    6      6   
/// variant in a current version of SDK, your code should continue to work when you
    7      7   
/// upgrade SDK to a future version in which the enum does include a variant for that
    8      8   
/// feature.
    9         -
///
   10         -
/// Here is an example of how you can make a match expression forward-compatible:
   11         -
///
   12         -
/// ```text
           9  +
/// /* ClientEnumGenerator.kt:244 */
          10  +
/// /* ClientEnumGenerator.kt:245 */Here is an example of how you can make a match expression forward-compatible:
          11  +
/// /* ClientEnumGenerator.kt:246 */
          12  +
/// /* ClientEnumGenerator.kt:247 */```text
          13  +
/* ClientEnumGenerator.kt:248 */
   13     14   
/// # let conditionaloperator = unimplemented!();
          15  +
/* ClientEnumGenerator.kt:249 */
   14     16   
/// match conditionaloperator {
          17  +
/* ClientEnumGenerator.kt:251 */
   15     18   
///     ConditionalOperator::And => { /* ... */ },
          19  +
/* ClientEnumGenerator.kt:251 */
   16     20   
///     ConditionalOperator::Or => { /* ... */ },
          21  +
/* ClientEnumGenerator.kt:253 */
   17     22   
///     other @ _ if other.as_str() == "NewFeature" => { /* handles a case for `NewFeature` */ },
          23  +
/* ClientEnumGenerator.kt:254 */
   18     24   
///     _ => { /* ... */ },
          25  +
/* ClientEnumGenerator.kt:255 */
   19     26   
/// }
   20         -
/// ```
   21         -
/// The above code demonstrates that when `conditionaloperator` represents
          27  +
/// /* ClientEnumGenerator.kt:256 */```
          28  +
/// /* ClientEnumGenerator.kt:257 */The above code demonstrates that when `conditionaloperator` represents
   22     29   
/// `NewFeature`, the execution path will lead to the second last match arm,
   23     30   
/// even though the enum does not contain a variant `ConditionalOperator::NewFeature`
   24     31   
/// in the current version of SDK. The reason is that the variable `other`,
   25     32   
/// created by the `@` operator, is bound to
   26     33   
/// `ConditionalOperator::Unknown(UnknownVariantValue("NewFeature".to_owned()))`
   27     34   
/// and calling `as_str` on it yields `"NewFeature"`.
   28     35   
/// This match expression is forward-compatible when executed with a newer
   29     36   
/// version of SDK where the variant `ConditionalOperator::NewFeature` is defined.
   30     37   
/// Specifically, when `conditionaloperator` represents `NewFeature`,
   31     38   
/// the execution path will hit the second last match arm as before by virtue of
   32     39   
/// calling `as_str` on `ConditionalOperator::NewFeature` also yielding `"NewFeature"`.
   33         -
///
   34         -
/// Explicitly matching on the `Unknown` variant should
          40  +
/// /* ClientEnumGenerator.kt:273 */
          41  +
/// /* ClientEnumGenerator.kt:274 */Explicitly matching on the `Unknown` variant should
   35     42   
/// be avoided for two reasons:
   36     43   
/// - The inner data `UnknownVariantValue` is opaque, and no further information can be extracted.
   37     44   
/// - It might inadvertently shadow other intended match arms.
   38         -
///
          45  +
/// /* ClientEnumGenerator.kt:282 */
          46  +
/* EnumGenerator.kt:154 */
   39     47   
#[allow(missing_docs)] // documentation missing in model
          48  +
/* RustType.kt:516 */
   40     49   
#[non_exhaustive]
          50  +
/* RustType.kt:516 */
   41     51   
#[derive(
   42     52   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash,
   43     53   
)]
   44         -
pub enum ConditionalOperator {
   45         -
    #[allow(missing_docs)] // documentation missing in model
          54  +
pub /* EnumGenerator.kt:267 */ enum ConditionalOperator {
          55  +
    /* EnumGenerator.kt:154 */ #[allow(missing_docs)] // documentation missing in model
          56  +
    /* EnumGenerator.kt:143 */
   46     57   
    And,
   47         -
    #[allow(missing_docs)] // documentation missing in model
          58  +
    /* EnumGenerator.kt:154 */ #[allow(missing_docs)] // documentation missing in model
          59  +
    /* EnumGenerator.kt:143 */
   48     60   
    Or,
   49         -
    /// `Unknown` contains new variants that have been added since this code was generated.
          61  +
    /// /* ClientEnumGenerator.kt:175 */`Unknown` contains new variants that have been added since this code was generated.
          62  +
    /* ClientEnumGenerator.kt:176 */
   50     63   
    #[deprecated(note = "Don't directly match on `Unknown`. See the docs on this enum for the correct way to handle unknown variants.")]
   51         -
    Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue),
          64  +
    /* ClientEnumGenerator.kt:179 */
          65  +
    Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue), /* EnumGenerator.kt:267 */
   52     66   
}
          67  +
/* ClientEnumGenerator.kt:42 */
   53     68   
impl ::std::convert::From<&str> for ConditionalOperator {
   54     69   
    fn from(s: &str) -> Self {
   55     70   
        match s {
   56     71   
            "AND" => ConditionalOperator::And,
   57     72   
            "OR" => ConditionalOperator::Or,
   58     73   
            other => ConditionalOperator::Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue(other.to_owned())),
   59     74   
        }
   60     75   
    }
   61     76   
}
          77  +
/* ClientEnumGenerator.kt:68 */
   62     78   
impl ::std::str::FromStr for ConditionalOperator {
   63     79   
    type Err = ::std::convert::Infallible;
   64     80   
   65     81   
    fn from_str(s: &str) -> ::std::result::Result<Self, <Self as ::std::str::FromStr>::Err> {
   66     82   
        ::std::result::Result::Ok(ConditionalOperator::from(s))
   67     83   
    }
   68     84   
}
          85  +
/* EnumGenerator.kt:274 */
   69     86   
impl ConditionalOperator {
   70     87   
    /// Returns the `&str` value of the enum member.
   71     88   
    pub fn as_str(&self) -> &str {
   72     89   
        match self {
   73     90   
            ConditionalOperator::And => "AND",
   74     91   
            ConditionalOperator::Or => "OR",
   75     92   
            ConditionalOperator::Unknown(value) => value.as_str(),
   76     93   
        }
   77     94   
    }
   78     95   
    /// Returns all the `&str` representations of the enum members.
   79     96   
    pub const fn values() -> &'static [&'static str] {
   80     97   
        &["AND", "OR"]
   81     98   
    }
   82     99   
}
         100  +
/* EnumGenerator.kt:223 */
   83    101   
impl ::std::convert::AsRef<str> for ConditionalOperator {
   84    102   
    fn as_ref(&self) -> &str {
   85    103   
        self.as_str()
   86    104   
    }
   87    105   
}
         106  +
/* ClientEnumGenerator.kt:117 */
   88    107   
impl ConditionalOperator {
   89    108   
    /// Parses the enum value while disallowing unknown variants.
   90    109   
    ///
   91    110   
    /// Unknown variants will result in an error.
   92    111   
    pub fn try_parse(value: &str) -> ::std::result::Result<Self, crate::error::UnknownVariantError> {
   93    112   
        match Self::from(value) {
   94    113   
            #[allow(deprecated)]
   95    114   
            Self::Unknown(_) => ::std::result::Result::Err(crate::error::UnknownVariantError::new(value)),
   96    115   
            known => Ok(known),
   97    116   
        }
   98    117   
    }
   99    118   
}
         119  +
/* ClientEnumGenerator.kt:136 */
  100    120   
impl ::std::fmt::Display for ConditionalOperator {
  101    121   
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  102    122   
        match self {
  103    123   
            ConditionalOperator::And => write!(f, "AND"),
  104    124   
            ConditionalOperator::Or => write!(f, "OR"),
  105    125   
            ConditionalOperator::Unknown(value) => write!(f, "{}", value),
  106    126   
        }
  107    127   
    }
  108    128   
}

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

@@ -1,1 +200,321 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>The capacity units consumed by an operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the request asked for it. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Provisioned Throughput</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>The capacity units consumed by an operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the request asked for it. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Provisioned Throughput</a> in the <i>Amazon DynamoDB Developer Guide</i>.</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 ConsumedCapacity {
    7         -
    /// <p>The name of the table that was affected by the operation.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct ConsumedCapacity {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The name of the table that was affected by the operation.</p>
    8     10   
    pub table_name: ::std::option::Option<::std::string::String>,
    9         -
    /// <p>The total number of capacity units consumed by the operation.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>The total number of capacity units consumed by the operation.</p>
   10     12   
    pub capacity_units: ::std::option::Option<f64>,
   11         -
    /// <p>The total number of read capacity units consumed by the operation.</p>
          13  +
    /// /* StructureGenerator.kt:231 */<p>The total number of read capacity units consumed by the operation.</p>
   12     14   
    pub read_capacity_units: ::std::option::Option<f64>,
   13         -
    /// <p>The total number of write capacity units consumed by the operation.</p>
          15  +
    /// /* StructureGenerator.kt:231 */<p>The total number of write capacity units consumed by the operation.</p>
   14     16   
    pub write_capacity_units: ::std::option::Option<f64>,
   15         -
    /// <p>The amount of throughput consumed on the table affected by the operation.</p>
          17  +
    /// /* StructureGenerator.kt:231 */<p>The amount of throughput consumed on the table affected by the operation.</p>
   16     18   
    pub table: ::std::option::Option<crate::types::Capacity>,
   17         -
    /// <p>The amount of throughput consumed on each local index affected by the operation.</p>
          19  +
    /// /* StructureGenerator.kt:231 */<p>The amount of throughput consumed on each local index affected by the operation.</p>
   18     20   
    pub local_secondary_indexes: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Capacity>>,
   19         -
    /// <p>The amount of throughput consumed on each global index affected by the operation.</p>
          21  +
    /// /* StructureGenerator.kt:231 */<p>The amount of throughput consumed on each global index affected by the operation.</p>
   20     22   
    pub global_secondary_indexes: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Capacity>>,
          23  +
    /* StructureGenerator.kt:201 */
   21     24   
}
          25  +
/* StructureGenerator.kt:135 */
   22     26   
impl ConsumedCapacity {
   23         -
    /// <p>The name of the table that was affected by the operation.</p>
          27  +
    /// /* StructureGenerator.kt:231 */<p>The name of the table that was affected by the operation.</p>
          28  +
    /* StructureGenerator.kt:166 */
   24     29   
    pub fn table_name(&self) -> ::std::option::Option<&str> {
          30  +
        /* StructureGenerator.kt:169 */
   25     31   
        self.table_name.as_deref()
          32  +
        /* StructureGenerator.kt:166 */
   26     33   
    }
   27         -
    /// <p>The total number of capacity units consumed by the operation.</p>
          34  +
    /// /* StructureGenerator.kt:231 */<p>The total number of capacity units consumed by the operation.</p>
          35  +
    /* StructureGenerator.kt:166 */
   28     36   
    pub fn capacity_units(&self) -> ::std::option::Option<f64> {
          37  +
        /* StructureGenerator.kt:168 */
   29     38   
        self.capacity_units
          39  +
        /* StructureGenerator.kt:166 */
   30     40   
    }
   31         -
    /// <p>The total number of read capacity units consumed by the operation.</p>
          41  +
    /// /* StructureGenerator.kt:231 */<p>The total number of read capacity units consumed by the operation.</p>
          42  +
    /* StructureGenerator.kt:166 */
   32     43   
    pub fn read_capacity_units(&self) -> ::std::option::Option<f64> {
          44  +
        /* StructureGenerator.kt:168 */
   33     45   
        self.read_capacity_units
          46  +
        /* StructureGenerator.kt:166 */
   34     47   
    }
   35         -
    /// <p>The total number of write capacity units consumed by the operation.</p>
          48  +
    /// /* StructureGenerator.kt:231 */<p>The total number of write capacity units consumed by the operation.</p>
          49  +
    /* StructureGenerator.kt:166 */
   36     50   
    pub fn write_capacity_units(&self) -> ::std::option::Option<f64> {
          51  +
        /* StructureGenerator.kt:168 */
   37     52   
        self.write_capacity_units
          53  +
        /* StructureGenerator.kt:166 */
   38     54   
    }
   39         -
    /// <p>The amount of throughput consumed on the table affected by the operation.</p>
          55  +
    /// /* StructureGenerator.kt:231 */<p>The amount of throughput consumed on the table affected by the operation.</p>
          56  +
    /* StructureGenerator.kt:166 */
   40     57   
    pub fn table(&self) -> ::std::option::Option<&crate::types::Capacity> {
          58  +
        /* StructureGenerator.kt:170 */
   41     59   
        self.table.as_ref()
          60  +
        /* StructureGenerator.kt:166 */
   42     61   
    }
   43         -
    /// <p>The amount of throughput consumed on each local index affected by the operation.</p>
          62  +
    /// /* StructureGenerator.kt:231 */<p>The amount of throughput consumed on each local index affected by the operation.</p>
          63  +
    /* StructureGenerator.kt:166 */
   44     64   
    pub fn local_secondary_indexes(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::Capacity>> {
          65  +
        /* StructureGenerator.kt:170 */
   45     66   
        self.local_secondary_indexes.as_ref()
          67  +
        /* StructureGenerator.kt:166 */
   46     68   
    }
   47         -
    /// <p>The amount of throughput consumed on each global index affected by the operation.</p>
          69  +
    /// /* StructureGenerator.kt:231 */<p>The amount of throughput consumed on each global index affected by the operation.</p>
          70  +
    /* StructureGenerator.kt:166 */
   48     71   
    pub fn global_secondary_indexes(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::Capacity>> {
          72  +
        /* StructureGenerator.kt:170 */
   49     73   
        self.global_secondary_indexes.as_ref()
          74  +
        /* StructureGenerator.kt:166 */
   50     75   
    }
          76  +
    /* StructureGenerator.kt:135 */
   51     77   
}
          78  +
/* ClientCodegenVisitor.kt:237 */
   52     79   
impl ConsumedCapacity {
   53         -
    /// Creates a new builder-style object to manufacture [`ConsumedCapacity`](crate::types::ConsumedCapacity).
          80  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`ConsumedCapacity`](crate::types::ConsumedCapacity).
          81  +
    /* BuilderGenerator.kt:175 */
   54     82   
    pub fn builder() -> crate::types::builders::ConsumedCapacityBuilder {
          83  +
        /* BuilderGenerator.kt:176 */
   55     84   
        crate::types::builders::ConsumedCapacityBuilder::default()
          85  +
        /* BuilderGenerator.kt:175 */
   56     86   
    }
          87  +
    /* ClientCodegenVisitor.kt:237 */
   57     88   
}
   58     89   
   59         -
/// A builder for [`ConsumedCapacity`](crate::types::ConsumedCapacity).
          90  +
/// /* BuilderGenerator.kt:342 */A builder for [`ConsumedCapacity`](crate::types::ConsumedCapacity).
          91  +
/* RustType.kt:516 */
   60     92   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          93  +
/* RustType.kt:516 */
   61     94   
#[non_exhaustive]
          95  +
/* BuilderGenerator.kt:345 */
   62     96   
pub struct ConsumedCapacityBuilder {
   63         -
    pub(crate) table_name: ::std::option::Option<::std::string::String>,
   64         -
    pub(crate) capacity_units: ::std::option::Option<f64>,
   65         -
    pub(crate) read_capacity_units: ::std::option::Option<f64>,
   66         -
    pub(crate) write_capacity_units: ::std::option::Option<f64>,
   67         -
    pub(crate) table: ::std::option::Option<crate::types::Capacity>,
          97  +
    /* BuilderGenerator.kt:275 */ pub(crate) table_name: ::std::option::Option<::std::string::String>,
          98  +
    /* BuilderGenerator.kt:275 */ pub(crate) capacity_units: ::std::option::Option<f64>,
          99  +
    /* BuilderGenerator.kt:275 */ pub(crate) read_capacity_units: ::std::option::Option<f64>,
         100  +
    /* BuilderGenerator.kt:275 */ pub(crate) write_capacity_units: ::std::option::Option<f64>,
         101  +
    /* BuilderGenerator.kt:275 */ pub(crate) table: ::std::option::Option<crate::types::Capacity>,
         102  +
    /* BuilderGenerator.kt:275 */
   68    103   
    pub(crate) local_secondary_indexes: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Capacity>>,
         104  +
    /* BuilderGenerator.kt:275 */
   69    105   
    pub(crate) global_secondary_indexes: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Capacity>>,
         106  +
    /* BuilderGenerator.kt:345 */
   70    107   
}
         108  +
/* BuilderGenerator.kt:355 */
   71    109   
impl ConsumedCapacityBuilder {
   72         -
    /// <p>The name of the table that was affected by the operation.</p>
         110  +
    /// /* BuilderGenerator.kt:286 */<p>The name of the table that was affected by the operation.</p>
         111  +
    /* BuilderGenerator.kt:291 */
   73    112   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         113  +
        /* BuilderGenerator.kt:292 */
   74    114   
        self.table_name = ::std::option::Option::Some(input.into());
         115  +
        /* BuilderGenerator.kt:293 */
   75    116   
        self
         117  +
        /* BuilderGenerator.kt:291 */
   76    118   
    }
   77         -
    /// <p>The name of the table that was affected by the operation.</p>
         119  +
    /// /* BuilderGenerator.kt:312 */<p>The name of the table that was affected by the operation.</p>
         120  +
    /* BuilderGenerator.kt:314 */
   78    121   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         122  +
        /* BuilderGenerator.kt:315 */
   79    123   
        self.table_name = input;
   80    124   
        self
         125  +
        /* BuilderGenerator.kt:314 */
   81    126   
    }
   82         -
    /// <p>The name of the table that was affected by the operation.</p>
         127  +
    /// /* BuilderGenerator.kt:334 */<p>The name of the table that was affected by the operation.</p>
         128  +
    /* BuilderGenerator.kt:336 */
   83    129   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
         130  +
        /* BuilderGenerator.kt:337 */
   84    131   
        &self.table_name
         132  +
        /* BuilderGenerator.kt:336 */
   85    133   
    }
   86         -
    /// <p>The total number of capacity units consumed by the operation.</p>
         134  +
    /// /* BuilderGenerator.kt:286 */<p>The total number of capacity units consumed by the operation.</p>
         135  +
    /* BuilderGenerator.kt:291 */
   87    136   
    pub fn capacity_units(mut self, input: f64) -> Self {
         137  +
        /* BuilderGenerator.kt:292 */
   88    138   
        self.capacity_units = ::std::option::Option::Some(input);
         139  +
        /* BuilderGenerator.kt:293 */
   89    140   
        self
         141  +
        /* BuilderGenerator.kt:291 */
   90    142   
    }
   91         -
    /// <p>The total number of capacity units consumed by the operation.</p>
         143  +
    /// /* BuilderGenerator.kt:312 */<p>The total number of capacity units consumed by the operation.</p>
         144  +
    /* BuilderGenerator.kt:314 */
   92    145   
    pub fn set_capacity_units(mut self, input: ::std::option::Option<f64>) -> Self {
         146  +
        /* BuilderGenerator.kt:315 */
   93    147   
        self.capacity_units = input;
   94    148   
        self
         149  +
        /* BuilderGenerator.kt:314 */
   95    150   
    }
   96         -
    /// <p>The total number of capacity units consumed by the operation.</p>
         151  +
    /// /* BuilderGenerator.kt:334 */<p>The total number of capacity units consumed by the operation.</p>
         152  +
    /* BuilderGenerator.kt:336 */
   97    153   
    pub fn get_capacity_units(&self) -> &::std::option::Option<f64> {
         154  +
        /* BuilderGenerator.kt:337 */
   98    155   
        &self.capacity_units
         156  +
        /* BuilderGenerator.kt:336 */
   99    157   
    }
  100         -
    /// <p>The total number of read capacity units consumed by the operation.</p>
         158  +
    /// /* BuilderGenerator.kt:286 */<p>The total number of read capacity units consumed by the operation.</p>
         159  +
    /* BuilderGenerator.kt:291 */
  101    160   
    pub fn read_capacity_units(mut self, input: f64) -> Self {
         161  +
        /* BuilderGenerator.kt:292 */
  102    162   
        self.read_capacity_units = ::std::option::Option::Some(input);
         163  +
        /* BuilderGenerator.kt:293 */
  103    164   
        self
         165  +
        /* BuilderGenerator.kt:291 */
  104    166   
    }
  105         -
    /// <p>The total number of read capacity units consumed by the operation.</p>
         167  +
    /// /* BuilderGenerator.kt:312 */<p>The total number of read capacity units consumed by the operation.</p>
         168  +
    /* BuilderGenerator.kt:314 */
  106    169   
    pub fn set_read_capacity_units(mut self, input: ::std::option::Option<f64>) -> Self {
         170  +
        /* BuilderGenerator.kt:315 */
  107    171   
        self.read_capacity_units = input;
  108    172   
        self
         173  +
        /* BuilderGenerator.kt:314 */
  109    174   
    }
  110         -
    /// <p>The total number of read capacity units consumed by the operation.</p>
         175  +
    /// /* BuilderGenerator.kt:334 */<p>The total number of read capacity units consumed by the operation.</p>
         176  +
    /* BuilderGenerator.kt:336 */
  111    177   
    pub fn get_read_capacity_units(&self) -> &::std::option::Option<f64> {
         178  +
        /* BuilderGenerator.kt:337 */
  112    179   
        &self.read_capacity_units
         180  +
        /* BuilderGenerator.kt:336 */
  113    181   
    }
  114         -
    /// <p>The total number of write capacity units consumed by the operation.</p>
         182  +
    /// /* BuilderGenerator.kt:286 */<p>The total number of write capacity units consumed by the operation.</p>
         183  +
    /* BuilderGenerator.kt:291 */
  115    184   
    pub fn write_capacity_units(mut self, input: f64) -> Self {
         185  +
        /* BuilderGenerator.kt:292 */
  116    186   
        self.write_capacity_units = ::std::option::Option::Some(input);
         187  +
        /* BuilderGenerator.kt:293 */
  117    188   
        self
         189  +
        /* BuilderGenerator.kt:291 */
  118    190   
    }
  119         -
    /// <p>The total number of write capacity units consumed by the operation.</p>
         191  +
    /// /* BuilderGenerator.kt:312 */<p>The total number of write capacity units consumed by the operation.</p>
         192  +
    /* BuilderGenerator.kt:314 */
  120    193   
    pub fn set_write_capacity_units(mut self, input: ::std::option::Option<f64>) -> Self {
         194  +
        /* BuilderGenerator.kt:315 */
  121    195   
        self.write_capacity_units = input;
  122    196   
        self
         197  +
        /* BuilderGenerator.kt:314 */
  123    198   
    }
  124         -
    /// <p>The total number of write capacity units consumed by the operation.</p>
         199  +
    /// /* BuilderGenerator.kt:334 */<p>The total number of write capacity units consumed by the operation.</p>
         200  +
    /* BuilderGenerator.kt:336 */
  125    201   
    pub fn get_write_capacity_units(&self) -> &::std::option::Option<f64> {
         202  +
        /* BuilderGenerator.kt:337 */
  126    203   
        &self.write_capacity_units
         204  +
        /* BuilderGenerator.kt:336 */
  127    205   
    }
  128         -
    /// <p>The amount of throughput consumed on the table affected by the operation.</p>
         206  +
    /// /* BuilderGenerator.kt:286 */<p>The amount of throughput consumed on the table affected by the operation.</p>
         207  +
    /* BuilderGenerator.kt:291 */
  129    208   
    pub fn table(mut self, input: crate::types::Capacity) -> Self {
         209  +
        /* BuilderGenerator.kt:292 */
  130    210   
        self.table = ::std::option::Option::Some(input);
         211  +
        /* BuilderGenerator.kt:293 */
  131    212   
        self
         213  +
        /* BuilderGenerator.kt:291 */
  132    214   
    }
  133         -
    /// <p>The amount of throughput consumed on the table affected by the operation.</p>
         215  +
    /// /* BuilderGenerator.kt:312 */<p>The amount of throughput consumed on the table affected by the operation.</p>
         216  +
    /* BuilderGenerator.kt:314 */
  134    217   
    pub fn set_table(mut self, input: ::std::option::Option<crate::types::Capacity>) -> Self {
         218  +
        /* BuilderGenerator.kt:315 */
  135    219   
        self.table = input;
  136    220   
        self
         221  +
        /* BuilderGenerator.kt:314 */
  137    222   
    }
  138         -
    /// <p>The amount of throughput consumed on the table affected by the operation.</p>
         223  +
    /// /* BuilderGenerator.kt:334 */<p>The amount of throughput consumed on the table affected by the operation.</p>
         224  +
    /* BuilderGenerator.kt:336 */
  139    225   
    pub fn get_table(&self) -> &::std::option::Option<crate::types::Capacity> {
         226  +
        /* BuilderGenerator.kt:337 */
  140    227   
        &self.table
         228  +
        /* BuilderGenerator.kt:336 */
  141    229   
    }
  142         -
    /// Adds a key-value pair to `local_secondary_indexes`.
         230  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `local_secondary_indexes`.
         231  +
    /* BuilderGenerator.kt:437 */
  143    232   
    ///
  144         -
    /// To override the contents of this collection use [`set_local_secondary_indexes`](Self::set_local_secondary_indexes).
         233  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_local_secondary_indexes`](Self::set_local_secondary_indexes).
         234  +
    /* BuilderGenerator.kt:439 */
  145    235   
    ///
  146         -
    /// <p>The amount of throughput consumed on each local index affected by the operation.</p>
         236  +
    /// /* BuilderGenerator.kt:440 */<p>The amount of throughput consumed on each local index affected by the operation.</p>
         237  +
    /* BuilderGenerator.kt:445 */
  147    238   
    pub fn local_secondary_indexes(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::Capacity) -> Self {
         239  +
        /* BuilderGenerator.kt:448 */
  148    240   
        let mut hash_map = self.local_secondary_indexes.unwrap_or_default();
  149    241   
        hash_map.insert(k.into(), v);
  150    242   
        self.local_secondary_indexes = ::std::option::Option::Some(hash_map);
  151    243   
        self
         244  +
        /* BuilderGenerator.kt:445 */
  152    245   
    }
  153         -
    /// <p>The amount of throughput consumed on each local index affected by the operation.</p>
         246  +
    /// /* BuilderGenerator.kt:312 */<p>The amount of throughput consumed on each local index affected by the operation.</p>
         247  +
    /* BuilderGenerator.kt:314 */
  154    248   
    pub fn set_local_secondary_indexes(
  155    249   
        mut self,
  156    250   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Capacity>>,
  157    251   
    ) -> Self {
         252  +
        /* BuilderGenerator.kt:315 */
  158    253   
        self.local_secondary_indexes = input;
  159    254   
        self
         255  +
        /* BuilderGenerator.kt:314 */
  160    256   
    }
  161         -
    /// <p>The amount of throughput consumed on each local index affected by the operation.</p>
         257  +
    /// /* BuilderGenerator.kt:334 */<p>The amount of throughput consumed on each local index affected by the operation.</p>
         258  +
    /* BuilderGenerator.kt:336 */
  162    259   
    pub fn get_local_secondary_indexes(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Capacity>> {
         260  +
        /* BuilderGenerator.kt:337 */
  163    261   
        &self.local_secondary_indexes
         262  +
        /* BuilderGenerator.kt:336 */
  164    263   
    }
  165         -
    /// Adds a key-value pair to `global_secondary_indexes`.
         264  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `global_secondary_indexes`.
         265  +
    /* BuilderGenerator.kt:437 */
  166    266   
    ///
  167         -
    /// To override the contents of this collection use [`set_global_secondary_indexes`](Self::set_global_secondary_indexes).
         267  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_global_secondary_indexes`](Self::set_global_secondary_indexes).
         268  +
    /* BuilderGenerator.kt:439 */
  168    269   
    ///
  169         -
    /// <p>The amount of throughput consumed on each global index affected by the operation.</p>
         270  +
    /// /* BuilderGenerator.kt:440 */<p>The amount of throughput consumed on each global index affected by the operation.</p>
         271  +
    /* BuilderGenerator.kt:445 */
  170    272   
    pub fn global_secondary_indexes(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::Capacity) -> Self {
         273  +
        /* BuilderGenerator.kt:448 */
  171    274   
        let mut hash_map = self.global_secondary_indexes.unwrap_or_default();
  172    275   
        hash_map.insert(k.into(), v);
  173    276   
        self.global_secondary_indexes = ::std::option::Option::Some(hash_map);
  174    277   
        self
         278  +
        /* BuilderGenerator.kt:445 */
  175    279   
    }
  176         -
    /// <p>The amount of throughput consumed on each global index affected by the operation.</p>
         280  +
    /// /* BuilderGenerator.kt:312 */<p>The amount of throughput consumed on each global index affected by the operation.</p>
         281  +
    /* BuilderGenerator.kt:314 */
  177    282   
    pub fn set_global_secondary_indexes(
  178    283   
        mut self,
  179    284   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Capacity>>,
  180    285   
    ) -> Self {
         286  +
        /* BuilderGenerator.kt:315 */
  181    287   
        self.global_secondary_indexes = input;
  182    288   
        self
         289  +
        /* BuilderGenerator.kt:314 */
  183    290   
    }
  184         -
    /// <p>The amount of throughput consumed on each global index affected by the operation.</p>
         291  +
    /// /* BuilderGenerator.kt:334 */<p>The amount of throughput consumed on each global index affected by the operation.</p>
         292  +
    /* BuilderGenerator.kt:336 */
  185    293   
    pub fn get_global_secondary_indexes(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Capacity>> {
         294  +
        /* BuilderGenerator.kt:337 */
  186    295   
        &self.global_secondary_indexes
         296  +
        /* BuilderGenerator.kt:336 */
  187    297   
    }
  188         -
    /// Consumes the builder and constructs a [`ConsumedCapacity`](crate::types::ConsumedCapacity).
         298  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`ConsumedCapacity`](crate::types::ConsumedCapacity).
         299  +
    /* BuilderGenerator.kt:253 */
  189    300   
    pub fn build(self) -> crate::types::ConsumedCapacity {
         301  +
        /* BuilderGenerator.kt:477 */
  190    302   
        crate::types::ConsumedCapacity {
  191         -
            table_name: self.table_name,
         303  +
            /* BuilderGenerator.kt:481 */ table_name: self.table_name,
         304  +
            /* BuilderGenerator.kt:481 */
  192    305   
            capacity_units: self.capacity_units,
         306  +
            /* BuilderGenerator.kt:481 */
  193    307   
            read_capacity_units: self.read_capacity_units,
         308  +
            /* BuilderGenerator.kt:481 */
  194    309   
            write_capacity_units: self.write_capacity_units,
         310  +
            /* BuilderGenerator.kt:481 */
  195    311   
            table: self.table,
         312  +
            /* BuilderGenerator.kt:481 */
  196    313   
            local_secondary_indexes: self.local_secondary_indexes,
         314  +
            /* BuilderGenerator.kt:481 */
  197    315   
            global_secondary_indexes: self.global_secondary_indexes,
         316  +
            /* BuilderGenerator.kt:477 */
  198    317   
        }
         318  +
        /* BuilderGenerator.kt:253 */
  199    319   
    }
         320  +
    /* BuilderGenerator.kt:355 */
  200    321   
}

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

@@ -1,1 +80,128 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents the continuous backups and point in time recovery settings on the table.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents the continuous backups and point in time recovery settings on the table.</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 ContinuousBackupsDescription {
    7         -
    /// <p><code>ContinuousBackupsStatus</code> can be one of the following states: ENABLED, DISABLED</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct ContinuousBackupsDescription {
           9  +
    /// /* StructureGenerator.kt:231 */<p><code>ContinuousBackupsStatus</code> can be one of the following states: ENABLED, DISABLED</p>
    8     10   
    pub continuous_backups_status: crate::types::ContinuousBackupsStatus,
    9         -
    /// <p>The description of the point in time recovery settings applied to the table.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>The description of the point in time recovery settings applied to the table.</p>
   10     12   
    pub point_in_time_recovery_description: ::std::option::Option<crate::types::PointInTimeRecoveryDescription>,
          13  +
    /* StructureGenerator.kt:201 */
   11     14   
}
          15  +
/* StructureGenerator.kt:135 */
   12     16   
impl ContinuousBackupsDescription {
   13         -
    /// <p><code>ContinuousBackupsStatus</code> can be one of the following states: ENABLED, DISABLED</p>
          17  +
    /// /* StructureGenerator.kt:231 */<p><code>ContinuousBackupsStatus</code> can be one of the following states: ENABLED, DISABLED</p>
          18  +
    /* StructureGenerator.kt:166 */
   14     19   
    pub fn continuous_backups_status(&self) -> &crate::types::ContinuousBackupsStatus {
          20  +
        /* StructureGenerator.kt:172 */
   15     21   
        &self.continuous_backups_status
          22  +
        /* StructureGenerator.kt:166 */
   16     23   
    }
   17         -
    /// <p>The description of the point in time recovery settings applied to the table.</p>
          24  +
    /// /* StructureGenerator.kt:231 */<p>The description of the point in time recovery settings applied to the table.</p>
          25  +
    /* StructureGenerator.kt:166 */
   18     26   
    pub fn point_in_time_recovery_description(&self) -> ::std::option::Option<&crate::types::PointInTimeRecoveryDescription> {
          27  +
        /* StructureGenerator.kt:170 */
   19     28   
        self.point_in_time_recovery_description.as_ref()
          29  +
        /* StructureGenerator.kt:166 */
   20     30   
    }
          31  +
    /* StructureGenerator.kt:135 */
   21     32   
}
          33  +
/* ClientCodegenVisitor.kt:237 */
   22     34   
impl ContinuousBackupsDescription {
   23         -
    /// Creates a new builder-style object to manufacture [`ContinuousBackupsDescription`](crate::types::ContinuousBackupsDescription).
          35  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`ContinuousBackupsDescription`](crate::types::ContinuousBackupsDescription).
          36  +
    /* BuilderGenerator.kt:175 */
   24     37   
    pub fn builder() -> crate::types::builders::ContinuousBackupsDescriptionBuilder {
          38  +
        /* BuilderGenerator.kt:176 */
   25     39   
        crate::types::builders::ContinuousBackupsDescriptionBuilder::default()
          40  +
        /* BuilderGenerator.kt:175 */
   26     41   
    }
          42  +
    /* ClientCodegenVisitor.kt:237 */
   27     43   
}
   28     44   
   29         -
/// A builder for [`ContinuousBackupsDescription`](crate::types::ContinuousBackupsDescription).
          45  +
/// /* BuilderGenerator.kt:342 */A builder for [`ContinuousBackupsDescription`](crate::types::ContinuousBackupsDescription).
          46  +
/* RustType.kt:516 */
   30     47   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          48  +
/* RustType.kt:516 */
   31     49   
#[non_exhaustive]
          50  +
/* BuilderGenerator.kt:345 */
   32     51   
pub struct ContinuousBackupsDescriptionBuilder {
   33         -
    pub(crate) continuous_backups_status: ::std::option::Option<crate::types::ContinuousBackupsStatus>,
          52  +
    /* BuilderGenerator.kt:275 */ pub(crate) continuous_backups_status: ::std::option::Option<crate::types::ContinuousBackupsStatus>,
          53  +
    /* BuilderGenerator.kt:275 */
   34     54   
    pub(crate) point_in_time_recovery_description: ::std::option::Option<crate::types::PointInTimeRecoveryDescription>,
          55  +
    /* BuilderGenerator.kt:345 */
   35     56   
}
          57  +
/* BuilderGenerator.kt:355 */
   36     58   
impl ContinuousBackupsDescriptionBuilder {
   37         -
    /// <p><code>ContinuousBackupsStatus</code> can be one of the following states: ENABLED, DISABLED</p>
   38         -
    /// This field is required.
          59  +
    /// /* BuilderGenerator.kt:286 */<p><code>ContinuousBackupsStatus</code> can be one of the following states: ENABLED, DISABLED</p>
          60  +
    /// /* BuilderGenerator.kt:288 */This field is required.
          61  +
    /* BuilderGenerator.kt:291 */
   39     62   
    pub fn continuous_backups_status(mut self, input: crate::types::ContinuousBackupsStatus) -> Self {
          63  +
        /* BuilderGenerator.kt:292 */
   40     64   
        self.continuous_backups_status = ::std::option::Option::Some(input);
          65  +
        /* BuilderGenerator.kt:293 */
   41     66   
        self
          67  +
        /* BuilderGenerator.kt:291 */
   42     68   
    }
   43         -
    /// <p><code>ContinuousBackupsStatus</code> can be one of the following states: ENABLED, DISABLED</p>
          69  +
    /// /* BuilderGenerator.kt:312 */<p><code>ContinuousBackupsStatus</code> can be one of the following states: ENABLED, DISABLED</p>
          70  +
    /* BuilderGenerator.kt:314 */
   44     71   
    pub fn set_continuous_backups_status(mut self, input: ::std::option::Option<crate::types::ContinuousBackupsStatus>) -> Self {
          72  +
        /* BuilderGenerator.kt:315 */
   45     73   
        self.continuous_backups_status = input;
   46     74   
        self
          75  +
        /* BuilderGenerator.kt:314 */
   47     76   
    }
   48         -
    /// <p><code>ContinuousBackupsStatus</code> can be one of the following states: ENABLED, DISABLED</p>
          77  +
    /// /* BuilderGenerator.kt:334 */<p><code>ContinuousBackupsStatus</code> can be one of the following states: ENABLED, DISABLED</p>
          78  +
    /* BuilderGenerator.kt:336 */
   49     79   
    pub fn get_continuous_backups_status(&self) -> &::std::option::Option<crate::types::ContinuousBackupsStatus> {
          80  +
        /* BuilderGenerator.kt:337 */
   50     81   
        &self.continuous_backups_status
          82  +
        /* BuilderGenerator.kt:336 */
   51     83   
    }
   52         -
    /// <p>The description of the point in time recovery settings applied to the table.</p>
          84  +
    /// /* BuilderGenerator.kt:286 */<p>The description of the point in time recovery settings applied to the table.</p>
          85  +
    /* BuilderGenerator.kt:291 */
   53     86   
    pub fn point_in_time_recovery_description(mut self, input: crate::types::PointInTimeRecoveryDescription) -> Self {
          87  +
        /* BuilderGenerator.kt:292 */
   54     88   
        self.point_in_time_recovery_description = ::std::option::Option::Some(input);
          89  +
        /* BuilderGenerator.kt:293 */
   55     90   
        self
          91  +
        /* BuilderGenerator.kt:291 */
   56     92   
    }
   57         -
    /// <p>The description of the point in time recovery settings applied to the table.</p>
          93  +
    /// /* BuilderGenerator.kt:312 */<p>The description of the point in time recovery settings applied to the table.</p>
          94  +
    /* BuilderGenerator.kt:314 */
   58     95   
    pub fn set_point_in_time_recovery_description(mut self, input: ::std::option::Option<crate::types::PointInTimeRecoveryDescription>) -> Self {
          96  +
        /* BuilderGenerator.kt:315 */
   59     97   
        self.point_in_time_recovery_description = input;
   60     98   
        self
          99  +
        /* BuilderGenerator.kt:314 */
   61    100   
    }
   62         -
    /// <p>The description of the point in time recovery settings applied to the table.</p>
         101  +
    /// /* BuilderGenerator.kt:334 */<p>The description of the point in time recovery settings applied to the table.</p>
         102  +
    /* BuilderGenerator.kt:336 */
   63    103   
    pub fn get_point_in_time_recovery_description(&self) -> &::std::option::Option<crate::types::PointInTimeRecoveryDescription> {
         104  +
        /* BuilderGenerator.kt:337 */
   64    105   
        &self.point_in_time_recovery_description
         106  +
        /* BuilderGenerator.kt:336 */
   65    107   
    }
   66         -
    /// Consumes the builder and constructs a [`ContinuousBackupsDescription`](crate::types::ContinuousBackupsDescription).
   67         -
    /// This method will fail if any of the following fields are not set:
   68         -
    /// - [`continuous_backups_status`](crate::types::builders::ContinuousBackupsDescriptionBuilder::continuous_backups_status)
         108  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`ContinuousBackupsDescription`](crate::types::ContinuousBackupsDescription).
         109  +
    /// /* BuilderGenerator.kt:243 */This method will fail if any of the following fields are not set:
         110  +
    /// /* BuilderGenerator.kt:246 */- [`continuous_backups_status`](crate::types::builders::ContinuousBackupsDescriptionBuilder::continuous_backups_status)
         111  +
    /* BuilderGenerator.kt:253 */
   69    112   
    pub fn build(self) -> ::std::result::Result<crate::types::ContinuousBackupsDescription, ::aws_smithy_types::error::operation::BuildError> {
   70         -
        ::std::result::Result::Ok(crate::types::ContinuousBackupsDescription {
   71         -
            continuous_backups_status: self.continuous_backups_status.ok_or_else(|| {
   72         -
                ::aws_smithy_types::error::operation::BuildError::missing_field(
   73         -
                    "continuous_backups_status",
   74         -
                    "continuous_backups_status was not specified but it is required when building ContinuousBackupsDescription",
   75         -
                )
   76         -
            })?,
   77         -
            point_in_time_recovery_description: self.point_in_time_recovery_description,
   78         -
        })
         113  +
        /* BuilderGenerator.kt:254 */
         114  +
        ::std::result::Result::Ok(
         115  +
            /* BuilderGenerator.kt:477 */crate::types::ContinuousBackupsDescription {
         116  +
                /* BuilderGenerator.kt:481 */continuous_backups_status: self.continuous_backups_status
         117  +
                    /* BuilderGenerator.kt:494 */.ok_or_else(||
         118  +
                        /* BuilderGenerator.kt:117 */::aws_smithy_types::error::operation::BuildError::missing_field("continuous_backups_status", "continuous_backups_status was not specified but it is required when building ContinuousBackupsDescription")
         119  +
                    /* BuilderGenerator.kt:494 */)?
         120  +
                ,
         121  +
                /* BuilderGenerator.kt:481 */point_in_time_recovery_description: self.point_in_time_recovery_description
         122  +
                ,
         123  +
            /* BuilderGenerator.kt:477 */}
         124  +
        /* BuilderGenerator.kt:254 */)
         125  +
        /* BuilderGenerator.kt:253 */
   79    126   
    }
         127  +
    /* BuilderGenerator.kt:355 */
   80    128   
}