Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943 (ignoring whitespace)

Files changed:

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

@@ -1,1 +186,270 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* StructureGenerator.kt:197 */
    2      3   
#[allow(missing_docs)] // documentation missing in model
           4  +
/* RustType.kt:516 */
    3      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    4      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5         -
pub struct TransactWriteItemsInput {
    6         -
    /// <p>An ordered array of up to 25 <code>TransactWriteItem</code> objects, each of which contains a <code>ConditionCheck</code>, <code>Put</code>, <code>Update</code>, or <code>Delete</code> object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct TransactWriteItemsInput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>An ordered array of up to 25 <code>TransactWriteItem</code> objects, each of which contains a <code>ConditionCheck</code>, <code>Put</code>, <code>Update</code>, or <code>Delete</code> object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.</p>
    7     10   
    pub transact_items: ::std::option::Option<::std::vec::Vec<crate::types::TransactWriteItem>>,
    8         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
    9     12   
    /// <ul>
   10     13   
    /// <li>
   11     14   
    /// <p><code>INDEXES</code> - The response includes the aggregate <code>ConsumedCapacity</code> for the operation, together with <code>ConsumedCapacity</code> for each table and secondary index that was accessed.</p>
   12     15   
    /// <p>Note that some operations, such as <code>GetItem</code> and <code>BatchGetItem</code>, do not access any indexes at all. In these cases, specifying <code>INDEXES</code> will only return <code>ConsumedCapacity</code> information for table(s).</p></li>
   13     16   
    /// <li>
   14     17   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
   15     18   
    /// <li>
   16     19   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
   17     20   
    /// </ul>
   18     21   
    pub return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
   19         -
    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
          22  +
    /// /* StructureGenerator.kt:231 */<p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
   20     23   
    pub return_item_collection_metrics: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>,
   21         -
    /// <p>Providing a <code>ClientRequestToken</code> makes the call to <code>TransactWriteItems</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
          24  +
    /// /* StructureGenerator.kt:231 */<p>Providing a <code>ClientRequestToken</code> makes the call to <code>TransactWriteItems</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
   22     25   
    /// <p>Although multiple identical calls using the same client request token produce the same result on the server (no side effects), the responses to the calls might not be the same. If the <code>ReturnConsumedCapacity&gt;</code> parameter is set, then the initial <code>TransactWriteItems</code> call returns the amount of write capacity units consumed in making the changes. Subsequent <code>TransactWriteItems</code> calls with the same client token return the number of read capacity units consumed in reading the item.</p>
   23     26   
    /// <p>A client request token is valid for 10 minutes after the first request that uses it is completed. After 10 minutes, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 10 minutes, or the result might not be idempotent.</p>
   24     27   
    /// <p>If you submit a request with the same client token but a change in other parameters within the 10-minute idempotency window, DynamoDB returns an <code>IdempotentParameterMismatch</code> exception.</p>
   25     28   
    pub client_request_token: ::std::option::Option<::std::string::String>,
          29  +
    /* StructureGenerator.kt:201 */
   26     30   
}
          31  +
/* StructureGenerator.kt:135 */
   27     32   
impl TransactWriteItemsInput {
   28         -
    /// <p>An ordered array of up to 25 <code>TransactWriteItem</code> objects, each of which contains a <code>ConditionCheck</code>, <code>Put</code>, <code>Update</code>, or <code>Delete</code> object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.</p>
   29         -
    ///
   30         -
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.transact_items.is_none()`.
          33  +
    /// /* StructureGenerator.kt:231 */<p>An ordered array of up to 25 <code>TransactWriteItem</code> objects, each of which contains a <code>ConditionCheck</code>, <code>Put</code>, <code>Update</code>, or <code>Delete</code> object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.</p>
          34  +
    /// /* StructureGenerator.kt:162 */
          35  +
    /// /* StructureGenerator.kt:163 */If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.transact_items.is_none()`.
          36  +
    /* StructureGenerator.kt:166 */
   31     37   
    pub fn transact_items(&self) -> &[crate::types::TransactWriteItem] {
   32         -
        self.transact_items.as_deref().unwrap_or_default()
          38  +
        /* StructureGenerator.kt:169 */
          39  +
        self.transact_items
          40  +
            .as_deref()
          41  +
            /* StructureGenerator.kt:175 */
          42  +
            .unwrap_or_default()
          43  +
        /* StructureGenerator.kt:166 */
   33     44   
    }
   34         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
          45  +
    /// /* StructureGenerator.kt:231 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
   35     46   
    /// <ul>
   36     47   
    /// <li>
   37     48   
    /// <p><code>INDEXES</code> - The response includes the aggregate <code>ConsumedCapacity</code> for the operation, together with <code>ConsumedCapacity</code> for each table and secondary index that was accessed.</p>
   38     49   
    /// <p>Note that some operations, such as <code>GetItem</code> and <code>BatchGetItem</code>, do not access any indexes at all. In these cases, specifying <code>INDEXES</code> will only return <code>ConsumedCapacity</code> information for table(s).</p></li>
   39     50   
    /// <li>
   40     51   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
   41     52   
    /// <li>
   42     53   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
   43     54   
    /// </ul>
          55  +
    /* StructureGenerator.kt:166 */
   44     56   
    pub fn return_consumed_capacity(&self) -> ::std::option::Option<&crate::types::ReturnConsumedCapacity> {
          57  +
        /* StructureGenerator.kt:170 */
   45     58   
        self.return_consumed_capacity.as_ref()
          59  +
        /* StructureGenerator.kt:166 */
   46     60   
    }
   47         -
    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
          61  +
    /// /* StructureGenerator.kt:231 */<p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
          62  +
    /* StructureGenerator.kt:166 */
   48     63   
    pub fn return_item_collection_metrics(&self) -> ::std::option::Option<&crate::types::ReturnItemCollectionMetrics> {
          64  +
        /* StructureGenerator.kt:170 */
   49     65   
        self.return_item_collection_metrics.as_ref()
          66  +
        /* StructureGenerator.kt:166 */
   50     67   
    }
   51         -
    /// <p>Providing a <code>ClientRequestToken</code> makes the call to <code>TransactWriteItems</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
          68  +
    /// /* StructureGenerator.kt:231 */<p>Providing a <code>ClientRequestToken</code> makes the call to <code>TransactWriteItems</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
   52     69   
    /// <p>Although multiple identical calls using the same client request token produce the same result on the server (no side effects), the responses to the calls might not be the same. If the <code>ReturnConsumedCapacity&gt;</code> parameter is set, then the initial <code>TransactWriteItems</code> call returns the amount of write capacity units consumed in making the changes. Subsequent <code>TransactWriteItems</code> calls with the same client token return the number of read capacity units consumed in reading the item.</p>
   53     70   
    /// <p>A client request token is valid for 10 minutes after the first request that uses it is completed. After 10 minutes, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 10 minutes, or the result might not be idempotent.</p>
   54     71   
    /// <p>If you submit a request with the same client token but a change in other parameters within the 10-minute idempotency window, DynamoDB returns an <code>IdempotentParameterMismatch</code> exception.</p>
          72  +
    /* StructureGenerator.kt:166 */
   55     73   
    pub fn client_request_token(&self) -> ::std::option::Option<&str> {
          74  +
        /* StructureGenerator.kt:169 */
   56     75   
        self.client_request_token.as_deref()
          76  +
        /* StructureGenerator.kt:166 */
   57     77   
    }
          78  +
    /* StructureGenerator.kt:135 */
   58     79   
}
          80  +
/* ClientCodegenVisitor.kt:237 */
   59     81   
impl TransactWriteItemsInput {
   60         -
    /// Creates a new builder-style object to manufacture [`TransactWriteItemsInput`](crate::operation::transact_write_items::TransactWriteItemsInput).
          82  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`TransactWriteItemsInput`](crate::operation::transact_write_items::TransactWriteItemsInput).
          83  +
    /* BuilderGenerator.kt:175 */
   61     84   
    pub fn builder() -> crate::operation::transact_write_items::builders::TransactWriteItemsInputBuilder {
          85  +
        /* BuilderGenerator.kt:176 */
   62     86   
        crate::operation::transact_write_items::builders::TransactWriteItemsInputBuilder::default()
          87  +
        /* BuilderGenerator.kt:175 */
   63     88   
    }
          89  +
    /* ClientCodegenVisitor.kt:237 */
   64     90   
}
   65     91   
   66         -
/// A builder for [`TransactWriteItemsInput`](crate::operation::transact_write_items::TransactWriteItemsInput).
          92  +
/// /* BuilderGenerator.kt:342 */A builder for [`TransactWriteItemsInput`](crate::operation::transact_write_items::TransactWriteItemsInput).
          93  +
/* RustType.kt:516 */
   67     94   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          95  +
/* RustType.kt:516 */
   68     96   
#[non_exhaustive]
          97  +
/* BuilderGenerator.kt:345 */
   69     98   
pub struct TransactWriteItemsInputBuilder {
   70         -
    pub(crate) transact_items: ::std::option::Option<::std::vec::Vec<crate::types::TransactWriteItem>>,
   71         -
    pub(crate) return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
   72         -
    pub(crate) return_item_collection_metrics: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>,
          99  +
    /* BuilderGenerator.kt:275 */ pub(crate) transact_items: ::std::option::Option<::std::vec::Vec<crate::types::TransactWriteItem>>,
         100  +
    /* BuilderGenerator.kt:275 */ pub(crate) return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
         101  +
    /* BuilderGenerator.kt:275 */ pub(crate) return_item_collection_metrics: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>,
         102  +
    /* BuilderGenerator.kt:275 */
   73    103   
    pub(crate) client_request_token: ::std::option::Option<::std::string::String>,
         104  +
    /* BuilderGenerator.kt:345 */
   74    105   
}
         106  +
/* BuilderGenerator.kt:355 */
   75    107   
impl TransactWriteItemsInputBuilder {
   76         -
    /// Appends an item to `transact_items`.
         108  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `transact_items`.
         109  +
    /* BuilderGenerator.kt:411 */
   77    110   
    ///
   78         -
    /// To override the contents of this collection use [`set_transact_items`](Self::set_transact_items).
         111  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_transact_items`](Self::set_transact_items).
         112  +
    /* BuilderGenerator.kt:413 */
   79    113   
    ///
   80         -
    /// <p>An ordered array of up to 25 <code>TransactWriteItem</code> objects, each of which contains a <code>ConditionCheck</code>, <code>Put</code>, <code>Update</code>, or <code>Delete</code> object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.</p>
         114  +
    /// /* BuilderGenerator.kt:414 */<p>An ordered array of up to 25 <code>TransactWriteItem</code> objects, each of which contains a <code>ConditionCheck</code>, <code>Put</code>, <code>Update</code>, or <code>Delete</code> object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.</p>
         115  +
    /* BuilderGenerator.kt:418 */
   81    116   
    pub fn transact_items(mut self, input: crate::types::TransactWriteItem) -> Self {
         117  +
        /* BuilderGenerator.kt:419 */
   82    118   
        let mut v = self.transact_items.unwrap_or_default();
   83    119   
        v.push(input);
   84    120   
        self.transact_items = ::std::option::Option::Some(v);
   85    121   
        self
         122  +
        /* BuilderGenerator.kt:418 */
   86    123   
    }
   87         -
    /// <p>An ordered array of up to 25 <code>TransactWriteItem</code> objects, each of which contains a <code>ConditionCheck</code>, <code>Put</code>, <code>Update</code>, or <code>Delete</code> object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.</p>
         124  +
    /// /* BuilderGenerator.kt:312 */<p>An ordered array of up to 25 <code>TransactWriteItem</code> objects, each of which contains a <code>ConditionCheck</code>, <code>Put</code>, <code>Update</code>, or <code>Delete</code> object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.</p>
         125  +
    /* BuilderGenerator.kt:314 */
   88    126   
    pub fn set_transact_items(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TransactWriteItem>>) -> Self {
         127  +
        /* BuilderGenerator.kt:315 */
   89    128   
        self.transact_items = input;
   90    129   
        self
         130  +
        /* BuilderGenerator.kt:314 */
   91    131   
    }
   92         -
    /// <p>An ordered array of up to 25 <code>TransactWriteItem</code> objects, each of which contains a <code>ConditionCheck</code>, <code>Put</code>, <code>Update</code>, or <code>Delete</code> object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.</p>
         132  +
    /// /* BuilderGenerator.kt:334 */<p>An ordered array of up to 25 <code>TransactWriteItem</code> objects, each of which contains a <code>ConditionCheck</code>, <code>Put</code>, <code>Update</code>, or <code>Delete</code> object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.</p>
         133  +
    /* BuilderGenerator.kt:336 */
   93    134   
    pub fn get_transact_items(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TransactWriteItem>> {
         135  +
        /* BuilderGenerator.kt:337 */
   94    136   
        &self.transact_items
         137  +
        /* BuilderGenerator.kt:336 */
   95    138   
    }
   96         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         139  +
    /// /* BuilderGenerator.kt:286 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
   97    140   
    /// <ul>
   98    141   
    /// <li>
   99    142   
    /// <p><code>INDEXES</code> - The response includes the aggregate <code>ConsumedCapacity</code> for the operation, together with <code>ConsumedCapacity</code> for each table and secondary index that was accessed.</p>
  100    143   
    /// <p>Note that some operations, such as <code>GetItem</code> and <code>BatchGetItem</code>, do not access any indexes at all. In these cases, specifying <code>INDEXES</code> will only return <code>ConsumedCapacity</code> information for table(s).</p></li>
  101    144   
    /// <li>
  102    145   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  103    146   
    /// <li>
  104    147   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  105    148   
    /// </ul>
         149  +
    /* BuilderGenerator.kt:291 */
  106    150   
    pub fn return_consumed_capacity(mut self, input: crate::types::ReturnConsumedCapacity) -> Self {
         151  +
        /* BuilderGenerator.kt:292 */
  107    152   
        self.return_consumed_capacity = ::std::option::Option::Some(input);
         153  +
        /* BuilderGenerator.kt:293 */
  108    154   
        self
         155  +
        /* BuilderGenerator.kt:291 */
  109    156   
    }
  110         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         157  +
    /// /* BuilderGenerator.kt:312 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  111    158   
    /// <ul>
  112    159   
    /// <li>
  113    160   
    /// <p><code>INDEXES</code> - The response includes the aggregate <code>ConsumedCapacity</code> for the operation, together with <code>ConsumedCapacity</code> for each table and secondary index that was accessed.</p>
  114    161   
    /// <p>Note that some operations, such as <code>GetItem</code> and <code>BatchGetItem</code>, do not access any indexes at all. In these cases, specifying <code>INDEXES</code> will only return <code>ConsumedCapacity</code> information for table(s).</p></li>
  115    162   
    /// <li>
  116    163   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  117    164   
    /// <li>
  118    165   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  119    166   
    /// </ul>
         167  +
    /* BuilderGenerator.kt:314 */
  120    168   
    pub fn set_return_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ReturnConsumedCapacity>) -> Self {
         169  +
        /* BuilderGenerator.kt:315 */
  121    170   
        self.return_consumed_capacity = input;
  122    171   
        self
         172  +
        /* BuilderGenerator.kt:314 */
  123    173   
    }
  124         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         174  +
    /// /* BuilderGenerator.kt:334 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  125    175   
    /// <ul>
  126    176   
    /// <li>
  127    177   
    /// <p><code>INDEXES</code> - The response includes the aggregate <code>ConsumedCapacity</code> for the operation, together with <code>ConsumedCapacity</code> for each table and secondary index that was accessed.</p>
  128    178   
    /// <p>Note that some operations, such as <code>GetItem</code> and <code>BatchGetItem</code>, do not access any indexes at all. In these cases, specifying <code>INDEXES</code> will only return <code>ConsumedCapacity</code> information for table(s).</p></li>
  129    179   
    /// <li>
  130    180   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  131    181   
    /// <li>
  132    182   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  133    183   
    /// </ul>
         184  +
    /* BuilderGenerator.kt:336 */
  134    185   
    pub fn get_return_consumed_capacity(&self) -> &::std::option::Option<crate::types::ReturnConsumedCapacity> {
         186  +
        /* BuilderGenerator.kt:337 */
  135    187   
        &self.return_consumed_capacity
         188  +
        /* BuilderGenerator.kt:336 */
  136    189   
    }
  137         -
    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         190  +
    /// /* BuilderGenerator.kt:286 */<p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         191  +
    /* BuilderGenerator.kt:291 */
  138    192   
    pub fn return_item_collection_metrics(mut self, input: crate::types::ReturnItemCollectionMetrics) -> Self {
         193  +
        /* BuilderGenerator.kt:292 */
  139    194   
        self.return_item_collection_metrics = ::std::option::Option::Some(input);
         195  +
        /* BuilderGenerator.kt:293 */
  140    196   
        self
         197  +
        /* BuilderGenerator.kt:291 */
  141    198   
    }
  142         -
    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         199  +
    /// /* BuilderGenerator.kt:312 */<p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         200  +
    /* BuilderGenerator.kt:314 */
  143    201   
    pub fn set_return_item_collection_metrics(mut self, input: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>) -> Self {
         202  +
        /* BuilderGenerator.kt:315 */
  144    203   
        self.return_item_collection_metrics = input;
  145    204   
        self
         205  +
        /* BuilderGenerator.kt:314 */
  146    206   
    }
  147         -
    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         207  +
    /// /* BuilderGenerator.kt:334 */<p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         208  +
    /* BuilderGenerator.kt:336 */
  148    209   
    pub fn get_return_item_collection_metrics(&self) -> &::std::option::Option<crate::types::ReturnItemCollectionMetrics> {
         210  +
        /* BuilderGenerator.kt:337 */
  149    211   
        &self.return_item_collection_metrics
         212  +
        /* BuilderGenerator.kt:336 */
  150    213   
    }
  151         -
    /// <p>Providing a <code>ClientRequestToken</code> makes the call to <code>TransactWriteItems</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         214  +
    /// /* BuilderGenerator.kt:286 */<p>Providing a <code>ClientRequestToken</code> makes the call to <code>TransactWriteItems</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
  152    215   
    /// <p>Although multiple identical calls using the same client request token produce the same result on the server (no side effects), the responses to the calls might not be the same. If the <code>ReturnConsumedCapacity&gt;</code> parameter is set, then the initial <code>TransactWriteItems</code> call returns the amount of write capacity units consumed in making the changes. Subsequent <code>TransactWriteItems</code> calls with the same client token return the number of read capacity units consumed in reading the item.</p>
  153    216   
    /// <p>A client request token is valid for 10 minutes after the first request that uses it is completed. After 10 minutes, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 10 minutes, or the result might not be idempotent.</p>
  154    217   
    /// <p>If you submit a request with the same client token but a change in other parameters within the 10-minute idempotency window, DynamoDB returns an <code>IdempotentParameterMismatch</code> exception.</p>
         218  +
    /* BuilderGenerator.kt:291 */
  155    219   
    pub fn client_request_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         220  +
        /* BuilderGenerator.kt:292 */
  156    221   
        self.client_request_token = ::std::option::Option::Some(input.into());
         222  +
        /* BuilderGenerator.kt:293 */
  157    223   
        self
         224  +
        /* BuilderGenerator.kt:291 */
  158    225   
    }
  159         -
    /// <p>Providing a <code>ClientRequestToken</code> makes the call to <code>TransactWriteItems</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         226  +
    /// /* BuilderGenerator.kt:312 */<p>Providing a <code>ClientRequestToken</code> makes the call to <code>TransactWriteItems</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
  160    227   
    /// <p>Although multiple identical calls using the same client request token produce the same result on the server (no side effects), the responses to the calls might not be the same. If the <code>ReturnConsumedCapacity&gt;</code> parameter is set, then the initial <code>TransactWriteItems</code> call returns the amount of write capacity units consumed in making the changes. Subsequent <code>TransactWriteItems</code> calls with the same client token return the number of read capacity units consumed in reading the item.</p>
  161    228   
    /// <p>A client request token is valid for 10 minutes after the first request that uses it is completed. After 10 minutes, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 10 minutes, or the result might not be idempotent.</p>
  162    229   
    /// <p>If you submit a request with the same client token but a change in other parameters within the 10-minute idempotency window, DynamoDB returns an <code>IdempotentParameterMismatch</code> exception.</p>
         230  +
    /* BuilderGenerator.kt:314 */
  163    231   
    pub fn set_client_request_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         232  +
        /* BuilderGenerator.kt:315 */
  164    233   
        self.client_request_token = input;
  165    234   
        self
         235  +
        /* BuilderGenerator.kt:314 */
  166    236   
    }
  167         -
    /// <p>Providing a <code>ClientRequestToken</code> makes the call to <code>TransactWriteItems</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         237  +
    /// /* BuilderGenerator.kt:334 */<p>Providing a <code>ClientRequestToken</code> makes the call to <code>TransactWriteItems</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
  168    238   
    /// <p>Although multiple identical calls using the same client request token produce the same result on the server (no side effects), the responses to the calls might not be the same. If the <code>ReturnConsumedCapacity&gt;</code> parameter is set, then the initial <code>TransactWriteItems</code> call returns the amount of write capacity units consumed in making the changes. Subsequent <code>TransactWriteItems</code> calls with the same client token return the number of read capacity units consumed in reading the item.</p>
  169    239   
    /// <p>A client request token is valid for 10 minutes after the first request that uses it is completed. After 10 minutes, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 10 minutes, or the result might not be idempotent.</p>
  170    240   
    /// <p>If you submit a request with the same client token but a change in other parameters within the 10-minute idempotency window, DynamoDB returns an <code>IdempotentParameterMismatch</code> exception.</p>
         241  +
    /* BuilderGenerator.kt:336 */
  171    242   
    pub fn get_client_request_token(&self) -> &::std::option::Option<::std::string::String> {
         243  +
        /* BuilderGenerator.kt:337 */
  172    244   
        &self.client_request_token
         245  +
        /* BuilderGenerator.kt:336 */
  173    246   
    }
  174         -
    /// Consumes the builder and constructs a [`TransactWriteItemsInput`](crate::operation::transact_write_items::TransactWriteItemsInput).
         247  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`TransactWriteItemsInput`](crate::operation::transact_write_items::TransactWriteItemsInput).
         248  +
    /* BuilderGenerator.kt:253 */
  175    249   
    pub fn build(
  176    250   
        self,
  177    251   
    ) -> ::std::result::Result<crate::operation::transact_write_items::TransactWriteItemsInput, ::aws_smithy_types::error::operation::BuildError>
  178    252   
    {
  179         -
        ::std::result::Result::Ok(crate::operation::transact_write_items::TransactWriteItemsInput {
  180         -
            transact_items: self.transact_items,
         253  +
        /* BuilderGenerator.kt:254 */
         254  +
        ::std::result::Result::Ok(
         255  +
            /* BuilderGenerator.kt:477 */
         256  +
            crate::operation::transact_write_items::TransactWriteItemsInput {
         257  +
                /* BuilderGenerator.kt:481 */ transact_items: self.transact_items,
         258  +
                /* BuilderGenerator.kt:481 */
  181    259   
                return_consumed_capacity: self.return_consumed_capacity,
         260  +
                /* BuilderGenerator.kt:481 */
  182    261   
                return_item_collection_metrics: self.return_item_collection_metrics,
         262  +
                /* BuilderGenerator.kt:481 */
  183    263   
                client_request_token: self.client_request_token,
  184         -
        })
         264  +
                /* BuilderGenerator.kt:477 */
         265  +
            }, /* BuilderGenerator.kt:254 */
         266  +
        )
         267  +
        /* BuilderGenerator.kt:253 */
  185    268   
    }
         269  +
    /* BuilderGenerator.kt:355 */
  186    270   
}

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

@@ -1,1 +98,152 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* StructureGenerator.kt:197 */
    2      3   
#[allow(missing_docs)] // documentation missing in model
           4  +
/* RustType.kt:516 */
    3      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    4      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5         -
pub struct TransactWriteItemsOutput {
    6         -
    /// <p>The capacity units consumed by the entire <code>TransactWriteItems</code> operation. The values of the list are ordered according to the ordering of the <code>TransactItems</code> request parameter.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct TransactWriteItemsOutput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The capacity units consumed by the entire <code>TransactWriteItems</code> operation. The values of the list are ordered according to the ordering of the <code>TransactItems</code> request parameter.</p>
    7     10   
    pub consumed_capacity: ::std::option::Option<::std::vec::Vec<crate::types::ConsumedCapacity>>,
    8         -
    /// <p>A list of tables that were processed by <code>TransactWriteItems</code> and, for each table, information about any item collections that were affected by individual <code>UpdateItem</code>, <code>PutItem</code>, or <code>DeleteItem</code> operations.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>A list of tables that were processed by <code>TransactWriteItems</code> and, for each table, information about any item collections that were affected by individual <code>UpdateItem</code>, <code>PutItem</code>, or <code>DeleteItem</code> operations.</p>
    9     12   
    pub item_collection_metrics:
   10     13   
        ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<crate::types::ItemCollectionMetrics>>>,
          14  +
    /* StructureGenerator.kt:201 */
   11     15   
}
          16  +
/* StructureGenerator.kt:135 */
   12     17   
impl TransactWriteItemsOutput {
   13         -
    /// <p>The capacity units consumed by the entire <code>TransactWriteItems</code> operation. The values of the list are ordered according to the ordering of the <code>TransactItems</code> request parameter.</p>
   14         -
    ///
   15         -
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.consumed_capacity.is_none()`.
          18  +
    /// /* StructureGenerator.kt:231 */<p>The capacity units consumed by the entire <code>TransactWriteItems</code> operation. The values of the list are ordered according to the ordering of the <code>TransactItems</code> request parameter.</p>
          19  +
    /// /* StructureGenerator.kt:162 */
          20  +
    /// /* 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 `.consumed_capacity.is_none()`.
          21  +
    /* StructureGenerator.kt:166 */
   16     22   
    pub fn consumed_capacity(&self) -> &[crate::types::ConsumedCapacity] {
   17         -
        self.consumed_capacity.as_deref().unwrap_or_default()
          23  +
        /* StructureGenerator.kt:169 */
          24  +
        self.consumed_capacity
          25  +
            .as_deref()
          26  +
            /* StructureGenerator.kt:175 */
          27  +
            .unwrap_or_default()
          28  +
        /* StructureGenerator.kt:166 */
   18     29   
    }
   19         -
    /// <p>A list of tables that were processed by <code>TransactWriteItems</code> and, for each table, information about any item collections that were affected by individual <code>UpdateItem</code>, <code>PutItem</code>, or <code>DeleteItem</code> operations.</p>
          30  +
    /// /* StructureGenerator.kt:231 */<p>A list of tables that were processed by <code>TransactWriteItems</code> and, for each table, information about any item collections that were affected by individual <code>UpdateItem</code>, <code>PutItem</code>, or <code>DeleteItem</code> operations.</p>
          31  +
    /* StructureGenerator.kt:166 */
   20     32   
    pub fn item_collection_metrics(
   21     33   
        &self,
   22     34   
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::vec::Vec<crate::types::ItemCollectionMetrics>>> {
          35  +
        /* StructureGenerator.kt:170 */
   23     36   
        self.item_collection_metrics.as_ref()
          37  +
        /* StructureGenerator.kt:166 */
   24     38   
    }
          39  +
    /* StructureGenerator.kt:135 */
   25     40   
}
          41  +
/* ClientCodegenVisitor.kt:237 */
   26     42   
impl TransactWriteItemsOutput {
   27         -
    /// Creates a new builder-style object to manufacture [`TransactWriteItemsOutput`](crate::operation::transact_write_items::TransactWriteItemsOutput).
          43  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`TransactWriteItemsOutput`](crate::operation::transact_write_items::TransactWriteItemsOutput).
          44  +
    /* BuilderGenerator.kt:175 */
   28     45   
    pub fn builder() -> crate::operation::transact_write_items::builders::TransactWriteItemsOutputBuilder {
          46  +
        /* BuilderGenerator.kt:176 */
   29     47   
        crate::operation::transact_write_items::builders::TransactWriteItemsOutputBuilder::default()
          48  +
        /* BuilderGenerator.kt:175 */
   30     49   
    }
          50  +
    /* ClientCodegenVisitor.kt:237 */
   31     51   
}
   32     52   
   33         -
/// A builder for [`TransactWriteItemsOutput`](crate::operation::transact_write_items::TransactWriteItemsOutput).
          53  +
/// /* BuilderGenerator.kt:342 */A builder for [`TransactWriteItemsOutput`](crate::operation::transact_write_items::TransactWriteItemsOutput).
          54  +
/* RustType.kt:516 */
   34     55   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          56  +
/* RustType.kt:516 */
   35     57   
#[non_exhaustive]
          58  +
/* BuilderGenerator.kt:345 */
   36     59   
pub struct TransactWriteItemsOutputBuilder {
   37         -
    pub(crate) consumed_capacity: ::std::option::Option<::std::vec::Vec<crate::types::ConsumedCapacity>>,
          60  +
    /* BuilderGenerator.kt:275 */ pub(crate) consumed_capacity: ::std::option::Option<::std::vec::Vec<crate::types::ConsumedCapacity>>,
          61  +
    /* BuilderGenerator.kt:275 */
   38     62   
    pub(crate) item_collection_metrics:
   39     63   
        ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<crate::types::ItemCollectionMetrics>>>,
          64  +
    /* BuilderGenerator.kt:345 */
   40     65   
}
          66  +
/* BuilderGenerator.kt:355 */
   41     67   
impl TransactWriteItemsOutputBuilder {
   42         -
    /// Appends an item to `consumed_capacity`.
          68  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `consumed_capacity`.
          69  +
    /* BuilderGenerator.kt:411 */
   43     70   
    ///
   44         -
    /// To override the contents of this collection use [`set_consumed_capacity`](Self::set_consumed_capacity).
          71  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_consumed_capacity`](Self::set_consumed_capacity).
          72  +
    /* BuilderGenerator.kt:413 */
   45     73   
    ///
   46         -
    /// <p>The capacity units consumed by the entire <code>TransactWriteItems</code> operation. The values of the list are ordered according to the ordering of the <code>TransactItems</code> request parameter.</p>
          74  +
    /// /* BuilderGenerator.kt:414 */<p>The capacity units consumed by the entire <code>TransactWriteItems</code> operation. The values of the list are ordered according to the ordering of the <code>TransactItems</code> request parameter.</p>
          75  +
    /* BuilderGenerator.kt:418 */
   47     76   
    pub fn consumed_capacity(mut self, input: crate::types::ConsumedCapacity) -> Self {
          77  +
        /* BuilderGenerator.kt:419 */
   48     78   
        let mut v = self.consumed_capacity.unwrap_or_default();
   49     79   
        v.push(input);
   50     80   
        self.consumed_capacity = ::std::option::Option::Some(v);
   51     81   
        self
          82  +
        /* BuilderGenerator.kt:418 */
   52     83   
    }
   53         -
    /// <p>The capacity units consumed by the entire <code>TransactWriteItems</code> operation. The values of the list are ordered according to the ordering of the <code>TransactItems</code> request parameter.</p>
          84  +
    /// /* BuilderGenerator.kt:312 */<p>The capacity units consumed by the entire <code>TransactWriteItems</code> operation. The values of the list are ordered according to the ordering of the <code>TransactItems</code> request parameter.</p>
          85  +
    /* BuilderGenerator.kt:314 */
   54     86   
    pub fn set_consumed_capacity(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ConsumedCapacity>>) -> Self {
          87  +
        /* BuilderGenerator.kt:315 */
   55     88   
        self.consumed_capacity = input;
   56     89   
        self
          90  +
        /* BuilderGenerator.kt:314 */
   57     91   
    }
   58         -
    /// <p>The capacity units consumed by the entire <code>TransactWriteItems</code> operation. The values of the list are ordered according to the ordering of the <code>TransactItems</code> request parameter.</p>
          92  +
    /// /* BuilderGenerator.kt:334 */<p>The capacity units consumed by the entire <code>TransactWriteItems</code> operation. The values of the list are ordered according to the ordering of the <code>TransactItems</code> request parameter.</p>
          93  +
    /* BuilderGenerator.kt:336 */
   59     94   
    pub fn get_consumed_capacity(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ConsumedCapacity>> {
          95  +
        /* BuilderGenerator.kt:337 */
   60     96   
        &self.consumed_capacity
          97  +
        /* BuilderGenerator.kt:336 */
   61     98   
    }
   62         -
    /// Adds a key-value pair to `item_collection_metrics`.
          99  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `item_collection_metrics`.
         100  +
    /* BuilderGenerator.kt:437 */
   63    101   
    ///
   64         -
    /// To override the contents of this collection use [`set_item_collection_metrics`](Self::set_item_collection_metrics).
         102  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_item_collection_metrics`](Self::set_item_collection_metrics).
         103  +
    /* BuilderGenerator.kt:439 */
   65    104   
    ///
   66         -
    /// <p>A list of tables that were processed by <code>TransactWriteItems</code> and, for each table, information about any item collections that were affected by individual <code>UpdateItem</code>, <code>PutItem</code>, or <code>DeleteItem</code> operations.</p>
         105  +
    /// /* BuilderGenerator.kt:440 */<p>A list of tables that were processed by <code>TransactWriteItems</code> and, for each table, information about any item collections that were affected by individual <code>UpdateItem</code>, <code>PutItem</code>, or <code>DeleteItem</code> operations.</p>
         106  +
    /* BuilderGenerator.kt:445 */
   67    107   
    pub fn item_collection_metrics(
   68    108   
        mut self,
   69    109   
        k: impl ::std::convert::Into<::std::string::String>,
   70    110   
        v: ::std::vec::Vec<crate::types::ItemCollectionMetrics>,
   71    111   
    ) -> Self {
         112  +
        /* BuilderGenerator.kt:448 */
   72    113   
        let mut hash_map = self.item_collection_metrics.unwrap_or_default();
   73    114   
        hash_map.insert(k.into(), v);
   74    115   
        self.item_collection_metrics = ::std::option::Option::Some(hash_map);
   75    116   
        self
         117  +
        /* BuilderGenerator.kt:445 */
   76    118   
    }
   77         -
    /// <p>A list of tables that were processed by <code>TransactWriteItems</code> and, for each table, information about any item collections that were affected by individual <code>UpdateItem</code>, <code>PutItem</code>, or <code>DeleteItem</code> operations.</p>
         119  +
    /// /* BuilderGenerator.kt:312 */<p>A list of tables that were processed by <code>TransactWriteItems</code> and, for each table, information about any item collections that were affected by individual <code>UpdateItem</code>, <code>PutItem</code>, or <code>DeleteItem</code> operations.</p>
         120  +
    /* BuilderGenerator.kt:314 */
   78    121   
    pub fn set_item_collection_metrics(
   79    122   
        mut self,
   80    123   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<crate::types::ItemCollectionMetrics>>>,
   81    124   
    ) -> Self {
         125  +
        /* BuilderGenerator.kt:315 */
   82    126   
        self.item_collection_metrics = input;
   83    127   
        self
         128  +
        /* BuilderGenerator.kt:314 */
   84    129   
    }
   85         -
    /// <p>A list of tables that were processed by <code>TransactWriteItems</code> and, for each table, information about any item collections that were affected by individual <code>UpdateItem</code>, <code>PutItem</code>, or <code>DeleteItem</code> operations.</p>
         130  +
    /// /* BuilderGenerator.kt:334 */<p>A list of tables that were processed by <code>TransactWriteItems</code> and, for each table, information about any item collections that were affected by individual <code>UpdateItem</code>, <code>PutItem</code>, or <code>DeleteItem</code> operations.</p>
         131  +
    /* BuilderGenerator.kt:336 */
   86    132   
    pub fn get_item_collection_metrics(
   87    133   
        &self,
   88    134   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<crate::types::ItemCollectionMetrics>>> {
         135  +
        /* BuilderGenerator.kt:337 */
   89    136   
        &self.item_collection_metrics
         137  +
        /* BuilderGenerator.kt:336 */
   90    138   
    }
   91         -
    /// Consumes the builder and constructs a [`TransactWriteItemsOutput`](crate::operation::transact_write_items::TransactWriteItemsOutput).
         139  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`TransactWriteItemsOutput`](crate::operation::transact_write_items::TransactWriteItemsOutput).
         140  +
    /* BuilderGenerator.kt:253 */
   92    141   
    pub fn build(self) -> crate::operation::transact_write_items::TransactWriteItemsOutput {
         142  +
        /* BuilderGenerator.kt:477 */
   93    143   
        crate::operation::transact_write_items::TransactWriteItemsOutput {
   94         -
            consumed_capacity: self.consumed_capacity,
         144  +
            /* BuilderGenerator.kt:481 */ consumed_capacity: self.consumed_capacity,
         145  +
            /* BuilderGenerator.kt:481 */
   95    146   
            item_collection_metrics: self.item_collection_metrics,
         147  +
            /* BuilderGenerator.kt:477 */
   96    148   
        }
         149  +
        /* BuilderGenerator.kt:253 */
   97    150   
    }
         151  +
    /* BuilderGenerator.kt:355 */
   98    152   
}

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

@@ -1,1 +234,258 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CodegenDelegator.kt:255 */
    2      3   
pub use crate::operation::transact_write_items::_transact_write_items_output::TransactWriteItemsOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::transact_write_items::_transact_write_items_input::TransactWriteItemsInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::transact_write_items::builders::TransactWriteItemsInputBuilder {
    7     10   
    /// Sends a request with this input using the given client.
    8     11   
    pub async fn send_with(
    9     12   
        self,
   10     13   
        client: &crate::Client,
   11     14   
    ) -> ::std::result::Result<
   12     15   
        crate::operation::transact_write_items::TransactWriteItemsOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::transact_write_items::TransactWriteItemsError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.transact_write_items();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `TransactWriteItems`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `TransactWriteItems`.
   24     27   
///
   25         -
/// <p><code>TransactWriteItems</code> is a synchronous write operation that groups up to 25 action requests. These actions can target items in different tables, but not in different AWS accounts or Regions, and no two actions can target the same item. For example, you cannot both <code>ConditionCheck</code> and <code>Update</code> the same item. The aggregate size of the items in the transaction cannot exceed 4 MB.</p>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p><code>TransactWriteItems</code> is a synchronous write operation that groups up to 25 action requests. These actions can target items in different tables, but not in different AWS accounts or Regions, and no two actions can target the same item. For example, you cannot both <code>ConditionCheck</code> and <code>Update</code> the same item. The aggregate size of the items in the transaction cannot exceed 4 MB.</p>
   26     29   
/// <p>The actions are completed atomically so that either all of them succeed, or all of them fail. They are defined by the following objects:</p>
   27     30   
/// <ul>
   28     31   
/// <li>
   29     32   
/// <p><code>Put</code> — Initiates a <code>PutItem</code> operation to write a new item. This structure specifies the primary key of the item to be written, the name of the table to write it in, an optional condition expression that must be satisfied for the write to succeed, a list of the item's attributes, and a field indicating whether to retrieve the item's attributes if the condition is not met.</p></li>
   30     33   
/// <li>
   31     34   
/// <p><code>Update</code> — Initiates an <code>UpdateItem</code> operation to update an existing item. This structure specifies the primary key of the item to be updated, the name of the table where it resides, an optional condition expression that must be satisfied for the update to succeed, an expression that defines one or more attributes to be updated, and a field indicating whether to retrieve the item's attributes if the condition is not met.</p></li>
   32     35   
/// <li>
   33     36   
/// <p><code>Delete</code> — Initiates a <code>DeleteItem</code> operation to delete an existing item. This structure specifies the primary key of the item to be deleted, the name of the table where it resides, an optional condition expression that must be satisfied for the deletion to succeed, and a field indicating whether to retrieve the item's attributes if the condition is not met.</p></li>
   34     37   
/// <li>
   35     38   
/// <p><code>ConditionCheck</code> — Applies a condition to an item that is not being modified by the transaction. This structure specifies the primary key of the item to be checked, the name of the table where it resides, a condition expression that must be satisfied for the transaction to succeed, and a field indicating whether to retrieve the item's attributes if the condition is not met.</p></li>
   36     39   
/// </ul>
   37     40   
/// <p>DynamoDB rejects the entire <code>TransactWriteItems</code> request if any of the following is true:</p>
   38     41   
/// <ul>
   39     42   
/// <li>
   40     43   
/// <p>A condition in one of the condition expressions is not met.</p></li>
   41     44   
/// <li>
   42     45   
/// <p>An ongoing operation is in the process of updating the same item.</p></li>
   43     46   
/// <li>
   44     47   
/// <p>There is insufficient provisioned capacity for the transaction to be completed.</p></li>
   45     48   
/// <li>
   46     49   
/// <p>An item size becomes too large (bigger than 400 KB), a local secondary index (LSI) becomes too large, or a similar validation error occurs because of changes made by the transaction.</p></li>
   47     50   
/// <li>
   48     51   
/// <p>The aggregate size of the items in the transaction exceeds 4 MB.</p></li>
   49     52   
/// <li>
   50     53   
/// <p>There is a user error, such as an invalid data format.</p></li>
   51     54   
/// </ul>
          55  +
/* RustType.kt:516 */
   52     56   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          57  +
/* FluentBuilderGenerator.kt:270 */
   53     58   
pub struct TransactWriteItemsFluentBuilder {
   54     59   
    handle: ::std::sync::Arc<crate::client::Handle>,
   55     60   
    inner: crate::operation::transact_write_items::builders::TransactWriteItemsInputBuilder,
   56     61   
    config_override: ::std::option::Option<crate::config::Builder>,
   57     62   
}
          63  +
/* FluentBuilderGenerator.kt:381 */
   58     64   
impl
   59     65   
    crate::client::customize::internal::CustomizableSend<
   60     66   
        crate::operation::transact_write_items::TransactWriteItemsOutput,
   61     67   
        crate::operation::transact_write_items::TransactWriteItemsError,
   62     68   
    > for TransactWriteItemsFluentBuilder
   63     69   
{
   64     70   
    fn send(
   65     71   
        self,
   66     72   
        config_override: crate::config::Builder,
   67     73   
    ) -> crate::client::customize::internal::BoxFuture<
   68     74   
        crate::client::customize::internal::SendResult<
   69     75   
            crate::operation::transact_write_items::TransactWriteItemsOutput,
   70     76   
            crate::operation::transact_write_items::TransactWriteItemsError,
   71     77   
        >,
   72     78   
    > {
   73     79   
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
   74     80   
    }
   75     81   
}
          82  +
/* FluentBuilderGenerator.kt:282 */
   76     83   
impl TransactWriteItemsFluentBuilder {
          84  +
    /* FluentBuilderGenerator.kt:288 */
   77     85   
    /// Creates a new `TransactWriteItemsFluentBuilder`.
   78     86   
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
   79     87   
        Self {
   80     88   
            handle,
   81     89   
            inner: ::std::default::Default::default(),
   82     90   
            config_override: ::std::option::Option::None,
   83     91   
        }
   84     92   
    }
          93  +
    /* FluentBuilderGenerator.kt:301 */
   85     94   
    /// Access the TransactWriteItems as a reference.
   86     95   
    pub fn as_input(&self) -> &crate::operation::transact_write_items::builders::TransactWriteItemsInputBuilder {
   87     96   
        &self.inner
   88     97   
    }
          98  +
    /* FluentBuilderGenerator.kt:145 */
   89     99   
    /// Sends the request and returns the response.
   90    100   
    ///
   91    101   
    /// If an error occurs, an `SdkError` will be returned with additional details that
   92    102   
    /// can be matched against.
   93    103   
    ///
   94    104   
    /// By default, any retryable failures will be retried twice. Retry behavior
   95    105   
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
   96    106   
    /// set when configuring the client.
   97    107   
    pub async fn send(
   98    108   
        self,
   99    109   
    ) -> ::std::result::Result<
  100    110   
        crate::operation::transact_write_items::TransactWriteItemsOutput,
  101    111   
        ::aws_smithy_runtime_api::client::result::SdkError<
  102    112   
            crate::operation::transact_write_items::TransactWriteItemsError,
  103    113   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  104    114   
        >,
  105    115   
    > {
  106    116   
        let input = self
  107    117   
            .inner
  108    118   
            .build()
  109    119   
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
  110    120   
        let runtime_plugins = crate::operation::transact_write_items::TransactWriteItems::operation_runtime_plugins(
  111    121   
            self.handle.runtime_plugins.clone(),
  112    122   
            &self.handle.conf,
  113    123   
            self.config_override,
  114    124   
        );
  115    125   
        crate::operation::transact_write_items::TransactWriteItems::orchestrate(&runtime_plugins, input).await
  116    126   
    }
  117    127   
  118    128   
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
  119    129   
    pub fn customize(
  120    130   
        self,
  121    131   
    ) -> crate::client::customize::CustomizableOperation<
  122    132   
        crate::operation::transact_write_items::TransactWriteItemsOutput,
  123    133   
        crate::operation::transact_write_items::TransactWriteItemsError,
  124    134   
        Self,
  125    135   
    > {
  126    136   
        crate::client::customize::CustomizableOperation::new(self)
  127    137   
    }
         138  +
    /* FluentBuilderGenerator.kt:315 */
  128    139   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
  129    140   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
  130    141   
        self
  131    142   
    }
  132    143   
  133    144   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  134    145   
        self.config_override = config_override;
  135    146   
        self
  136    147   
    }
  137         -
    ///
         148  +
    /// /* FluentBuilderGenerator.kt:436 */
  138    149   
    /// Appends an item to `TransactItems`.
  139    150   
    ///
  140    151   
    /// To override the contents of this collection use [`set_transact_items`](Self::set_transact_items).
  141    152   
    ///
  142         -
    /// <p>An ordered array of up to 25 <code>TransactWriteItem</code> objects, each of which contains a <code>ConditionCheck</code>, <code>Put</code>, <code>Update</code>, or <code>Delete</code> object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.</p>
         153  +
    /// /* FluentBuilderGenerator.kt:443 */<p>An ordered array of up to 25 <code>TransactWriteItem</code> objects, each of which contains a <code>ConditionCheck</code>, <code>Put</code>, <code>Update</code>, or <code>Delete</code> object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.</p>
         154  +
    /* FluentBuilderGenerator.kt:446 */
  143    155   
    pub fn transact_items(mut self, input: crate::types::TransactWriteItem) -> Self {
  144    156   
        self.inner = self.inner.transact_items(input);
  145    157   
        self
  146    158   
    }
  147         -
    /// <p>An ordered array of up to 25 <code>TransactWriteItem</code> objects, each of which contains a <code>ConditionCheck</code>, <code>Put</code>, <code>Update</code>, or <code>Delete</code> object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.</p>
         159  +
    /// /* FluentBuilderGenerator.kt:498 */<p>An ordered array of up to 25 <code>TransactWriteItem</code> objects, each of which contains a <code>ConditionCheck</code>, <code>Put</code>, <code>Update</code>, or <code>Delete</code> object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.</p>
         160  +
    /* FluentBuilderGenerator.kt:500 */
  148    161   
    pub fn set_transact_items(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TransactWriteItem>>) -> Self {
  149    162   
        self.inner = self.inner.set_transact_items(input);
  150    163   
        self
  151    164   
    }
  152         -
    /// <p>An ordered array of up to 25 <code>TransactWriteItem</code> objects, each of which contains a <code>ConditionCheck</code>, <code>Put</code>, <code>Update</code>, or <code>Delete</code> object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.</p>
         165  +
    /// /* FluentBuilderGenerator.kt:518 */<p>An ordered array of up to 25 <code>TransactWriteItem</code> objects, each of which contains a <code>ConditionCheck</code>, <code>Put</code>, <code>Update</code>, or <code>Delete</code> object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.</p>
         166  +
    /* FluentBuilderGenerator.kt:520 */
  153    167   
    pub fn get_transact_items(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TransactWriteItem>> {
  154    168   
        self.inner.get_transact_items()
  155    169   
    }
  156         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         170  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  157    171   
    /// <ul>
  158    172   
    /// <li>
  159    173   
    /// <p><code>INDEXES</code> - The response includes the aggregate <code>ConsumedCapacity</code> for the operation, together with <code>ConsumedCapacity</code> for each table and secondary index that was accessed.</p>
  160    174   
    /// <p>Note that some operations, such as <code>GetItem</code> and <code>BatchGetItem</code>, do not access any indexes at all. In these cases, specifying <code>INDEXES</code> will only return <code>ConsumedCapacity</code> information for table(s).</p></li>
  161    175   
    /// <li>
  162    176   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  163    177   
    /// <li>
  164    178   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  165    179   
    /// </ul>
         180  +
    /* FluentBuilderGenerator.kt:500 */
  166    181   
    pub fn return_consumed_capacity(mut self, input: crate::types::ReturnConsumedCapacity) -> Self {
  167    182   
        self.inner = self.inner.return_consumed_capacity(input);
  168    183   
        self
  169    184   
    }
  170         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         185  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  171    186   
    /// <ul>
  172    187   
    /// <li>
  173    188   
    /// <p><code>INDEXES</code> - The response includes the aggregate <code>ConsumedCapacity</code> for the operation, together with <code>ConsumedCapacity</code> for each table and secondary index that was accessed.</p>
  174    189   
    /// <p>Note that some operations, such as <code>GetItem</code> and <code>BatchGetItem</code>, do not access any indexes at all. In these cases, specifying <code>INDEXES</code> will only return <code>ConsumedCapacity</code> information for table(s).</p></li>
  175    190   
    /// <li>
  176    191   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  177    192   
    /// <li>
  178    193   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  179    194   
    /// </ul>
         195  +
    /* FluentBuilderGenerator.kt:500 */
  180    196   
    pub fn set_return_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ReturnConsumedCapacity>) -> Self {
  181    197   
        self.inner = self.inner.set_return_consumed_capacity(input);
  182    198   
        self
  183    199   
    }
  184         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         200  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  185    201   
    /// <ul>
  186    202   
    /// <li>
  187    203   
    /// <p><code>INDEXES</code> - The response includes the aggregate <code>ConsumedCapacity</code> for the operation, together with <code>ConsumedCapacity</code> for each table and secondary index that was accessed.</p>
  188    204   
    /// <p>Note that some operations, such as <code>GetItem</code> and <code>BatchGetItem</code>, do not access any indexes at all. In these cases, specifying <code>INDEXES</code> will only return <code>ConsumedCapacity</code> information for table(s).</p></li>
  189    205   
    /// <li>
  190    206   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  191    207   
    /// <li>
  192    208   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  193    209   
    /// </ul>
         210  +
    /* FluentBuilderGenerator.kt:520 */
  194    211   
    pub fn get_return_consumed_capacity(&self) -> &::std::option::Option<crate::types::ReturnConsumedCapacity> {
  195    212   
        self.inner.get_return_consumed_capacity()
  196    213   
    }
  197         -
    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         214  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         215  +
    /* FluentBuilderGenerator.kt:500 */
  198    216   
    pub fn return_item_collection_metrics(mut self, input: crate::types::ReturnItemCollectionMetrics) -> Self {
  199    217   
        self.inner = self.inner.return_item_collection_metrics(input);
  200    218   
        self
  201    219   
    }
  202         -
    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         220  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         221  +
    /* FluentBuilderGenerator.kt:500 */
  203    222   
    pub fn set_return_item_collection_metrics(mut self, input: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>) -> Self {
  204    223   
        self.inner = self.inner.set_return_item_collection_metrics(input);
  205    224   
        self
  206    225   
    }
  207         -
    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         226  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
         227  +
    /* FluentBuilderGenerator.kt:520 */
  208    228   
    pub fn get_return_item_collection_metrics(&self) -> &::std::option::Option<crate::types::ReturnItemCollectionMetrics> {
  209    229   
        self.inner.get_return_item_collection_metrics()
  210    230   
    }
  211         -
    /// <p>Providing a <code>ClientRequestToken</code> makes the call to <code>TransactWriteItems</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         231  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Providing a <code>ClientRequestToken</code> makes the call to <code>TransactWriteItems</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
  212    232   
    /// <p>Although multiple identical calls using the same client request token produce the same result on the server (no side effects), the responses to the calls might not be the same. If the <code>ReturnConsumedCapacity&gt;</code> parameter is set, then the initial <code>TransactWriteItems</code> call returns the amount of write capacity units consumed in making the changes. Subsequent <code>TransactWriteItems</code> calls with the same client token return the number of read capacity units consumed in reading the item.</p>
  213    233   
    /// <p>A client request token is valid for 10 minutes after the first request that uses it is completed. After 10 minutes, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 10 minutes, or the result might not be idempotent.</p>
  214    234   
    /// <p>If you submit a request with the same client token but a change in other parameters within the 10-minute idempotency window, DynamoDB returns an <code>IdempotentParameterMismatch</code> exception.</p>
         235  +
    /* FluentBuilderGenerator.kt:500 */
  215    236   
    pub fn client_request_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  216    237   
        self.inner = self.inner.client_request_token(input.into());
  217    238   
        self
  218    239   
    }
  219         -
    /// <p>Providing a <code>ClientRequestToken</code> makes the call to <code>TransactWriteItems</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         240  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Providing a <code>ClientRequestToken</code> makes the call to <code>TransactWriteItems</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
  220    241   
    /// <p>Although multiple identical calls using the same client request token produce the same result on the server (no side effects), the responses to the calls might not be the same. If the <code>ReturnConsumedCapacity&gt;</code> parameter is set, then the initial <code>TransactWriteItems</code> call returns the amount of write capacity units consumed in making the changes. Subsequent <code>TransactWriteItems</code> calls with the same client token return the number of read capacity units consumed in reading the item.</p>
  221    242   
    /// <p>A client request token is valid for 10 minutes after the first request that uses it is completed. After 10 minutes, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 10 minutes, or the result might not be idempotent.</p>
  222    243   
    /// <p>If you submit a request with the same client token but a change in other parameters within the 10-minute idempotency window, DynamoDB returns an <code>IdempotentParameterMismatch</code> exception.</p>
         244  +
    /* FluentBuilderGenerator.kt:500 */
  223    245   
    pub fn set_client_request_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  224    246   
        self.inner = self.inner.set_client_request_token(input);
  225    247   
        self
  226    248   
    }
  227         -
    /// <p>Providing a <code>ClientRequestToken</code> makes the call to <code>TransactWriteItems</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         249  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Providing a <code>ClientRequestToken</code> makes the call to <code>TransactWriteItems</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
  228    250   
    /// <p>Although multiple identical calls using the same client request token produce the same result on the server (no side effects), the responses to the calls might not be the same. If the <code>ReturnConsumedCapacity&gt;</code> parameter is set, then the initial <code>TransactWriteItems</code> call returns the amount of write capacity units consumed in making the changes. Subsequent <code>TransactWriteItems</code> calls with the same client token return the number of read capacity units consumed in reading the item.</p>
  229    251   
    /// <p>A client request token is valid for 10 minutes after the first request that uses it is completed. After 10 minutes, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 10 minutes, or the result might not be idempotent.</p>
  230    252   
    /// <p>If you submit a request with the same client token but a change in other parameters within the 10-minute idempotency window, DynamoDB returns an <code>IdempotentParameterMismatch</code> exception.</p>
         253  +
    /* FluentBuilderGenerator.kt:520 */
  231    254   
    pub fn get_client_request_token(&self) -> &::std::option::Option<::std::string::String> {
  232    255   
        self.inner.get_client_request_token()
  233    256   
    }
         257  +
    /* FluentBuilderGenerator.kt:282 */
  234    258   
}

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

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

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

@@ -1,1 +82,138 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* StructureGenerator.kt:197 */
    2      3   
#[allow(missing_docs)] // documentation missing in model
           4  +
/* RustType.kt:516 */
    3      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    4      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5         -
pub struct UntagResourceInput {
    6         -
    /// <p>The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct UntagResourceInput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).</p>
    7     10   
    pub resource_arn: ::std::option::Option<::std::string::String>,
    8         -
    /// <p>A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.</p>
    9     12   
    pub tag_keys: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
          13  +
    /* StructureGenerator.kt:201 */
   10     14   
}
          15  +
/* StructureGenerator.kt:135 */
   11     16   
impl UntagResourceInput {
   12         -
    /// <p>The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).</p>
          17  +
    /// /* StructureGenerator.kt:231 */<p>The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).</p>
          18  +
    /* StructureGenerator.kt:166 */
   13     19   
    pub fn resource_arn(&self) -> ::std::option::Option<&str> {
          20  +
        /* StructureGenerator.kt:169 */
   14     21   
        self.resource_arn.as_deref()
          22  +
        /* StructureGenerator.kt:166 */
   15     23   
    }
   16         -
    /// <p>A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.</p>
   17         -
    ///
   18         -
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.tag_keys.is_none()`.
          24  +
    /// /* StructureGenerator.kt:231 */<p>A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.</p>
          25  +
    /// /* StructureGenerator.kt:162 */
          26  +
    /// /* 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 `.tag_keys.is_none()`.
          27  +
    /* StructureGenerator.kt:166 */
   19     28   
    pub fn tag_keys(&self) -> &[::std::string::String] {
   20         -
        self.tag_keys.as_deref().unwrap_or_default()
          29  +
        /* StructureGenerator.kt:169 */
          30  +
        self.tag_keys
          31  +
            .as_deref()
          32  +
            /* StructureGenerator.kt:175 */
          33  +
            .unwrap_or_default()
          34  +
        /* StructureGenerator.kt:166 */
   21     35   
    }
          36  +
    /* StructureGenerator.kt:135 */
   22     37   
}
          38  +
/* ClientCodegenVisitor.kt:237 */
   23     39   
impl UntagResourceInput {
   24         -
    /// Creates a new builder-style object to manufacture [`UntagResourceInput`](crate::operation::untag_resource::UntagResourceInput).
          40  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`UntagResourceInput`](crate::operation::untag_resource::UntagResourceInput).
          41  +
    /* BuilderGenerator.kt:175 */
   25     42   
    pub fn builder() -> crate::operation::untag_resource::builders::UntagResourceInputBuilder {
          43  +
        /* BuilderGenerator.kt:176 */
   26     44   
        crate::operation::untag_resource::builders::UntagResourceInputBuilder::default()
          45  +
        /* BuilderGenerator.kt:175 */
   27     46   
    }
          47  +
    /* ClientCodegenVisitor.kt:237 */
   28     48   
}
   29     49   
   30         -
/// A builder for [`UntagResourceInput`](crate::operation::untag_resource::UntagResourceInput).
          50  +
/// /* BuilderGenerator.kt:342 */A builder for [`UntagResourceInput`](crate::operation::untag_resource::UntagResourceInput).
          51  +
/* RustType.kt:516 */
   31     52   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          53  +
/* RustType.kt:516 */
   32     54   
#[non_exhaustive]
          55  +
/* BuilderGenerator.kt:345 */
   33     56   
pub struct UntagResourceInputBuilder {
   34         -
    pub(crate) resource_arn: ::std::option::Option<::std::string::String>,
          57  +
    /* BuilderGenerator.kt:275 */ pub(crate) resource_arn: ::std::option::Option<::std::string::String>,
          58  +
    /* BuilderGenerator.kt:275 */
   35     59   
    pub(crate) tag_keys: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
          60  +
    /* BuilderGenerator.kt:345 */
   36     61   
}
          62  +
/* BuilderGenerator.kt:355 */
   37     63   
impl UntagResourceInputBuilder {
   38         -
    /// <p>The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).</p>
   39         -
    /// This field is required.
          64  +
    /// /* BuilderGenerator.kt:286 */<p>The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).</p>
          65  +
    /// /* BuilderGenerator.kt:288 */This field is required.
          66  +
    /* BuilderGenerator.kt:291 */
   40     67   
    pub fn resource_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          68  +
        /* BuilderGenerator.kt:292 */
   41     69   
        self.resource_arn = ::std::option::Option::Some(input.into());
          70  +
        /* BuilderGenerator.kt:293 */
   42     71   
        self
          72  +
        /* BuilderGenerator.kt:291 */
   43     73   
    }
   44         -
    /// <p>The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).</p>
          74  +
    /// /* BuilderGenerator.kt:312 */<p>The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).</p>
          75  +
    /* BuilderGenerator.kt:314 */
   45     76   
    pub fn set_resource_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          77  +
        /* BuilderGenerator.kt:315 */
   46     78   
        self.resource_arn = input;
   47     79   
        self
          80  +
        /* BuilderGenerator.kt:314 */
   48     81   
    }
   49         -
    /// <p>The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).</p>
          82  +
    /// /* BuilderGenerator.kt:334 */<p>The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).</p>
          83  +
    /* BuilderGenerator.kt:336 */
   50     84   
    pub fn get_resource_arn(&self) -> &::std::option::Option<::std::string::String> {
          85  +
        /* BuilderGenerator.kt:337 */
   51     86   
        &self.resource_arn
          87  +
        /* BuilderGenerator.kt:336 */
   52     88   
    }
   53         -
    /// Appends an item to `tag_keys`.
          89  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `tag_keys`.
          90  +
    /* BuilderGenerator.kt:411 */
   54     91   
    ///
   55         -
    /// To override the contents of this collection use [`set_tag_keys`](Self::set_tag_keys).
          92  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_tag_keys`](Self::set_tag_keys).
          93  +
    /* BuilderGenerator.kt:413 */
   56     94   
    ///
   57         -
    /// <p>A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.</p>
          95  +
    /// /* BuilderGenerator.kt:414 */<p>A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.</p>
          96  +
    /* BuilderGenerator.kt:418 */
   58     97   
    pub fn tag_keys(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          98  +
        /* BuilderGenerator.kt:419 */
   59     99   
        let mut v = self.tag_keys.unwrap_or_default();
   60    100   
        v.push(input.into());
   61    101   
        self.tag_keys = ::std::option::Option::Some(v);
   62    102   
        self
         103  +
        /* BuilderGenerator.kt:418 */
   63    104   
    }
   64         -
    /// <p>A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.</p>
         105  +
    /// /* BuilderGenerator.kt:312 */<p>A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.</p>
         106  +
    /* BuilderGenerator.kt:314 */
   65    107   
    pub fn set_tag_keys(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
         108  +
        /* BuilderGenerator.kt:315 */
   66    109   
        self.tag_keys = input;
   67    110   
        self
         111  +
        /* BuilderGenerator.kt:314 */
   68    112   
    }
   69         -
    /// <p>A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.</p>
         113  +
    /// /* BuilderGenerator.kt:334 */<p>A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.</p>
         114  +
    /* BuilderGenerator.kt:336 */
   70    115   
    pub fn get_tag_keys(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
         116  +
        /* BuilderGenerator.kt:337 */
   71    117   
        &self.tag_keys
         118  +
        /* BuilderGenerator.kt:336 */
   72    119   
    }
   73         -
    /// Consumes the builder and constructs a [`UntagResourceInput`](crate::operation::untag_resource::UntagResourceInput).
         120  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`UntagResourceInput`](crate::operation::untag_resource::UntagResourceInput).
         121  +
    /* BuilderGenerator.kt:253 */
   74    122   
    pub fn build(
   75    123   
        self,
   76    124   
    ) -> ::std::result::Result<crate::operation::untag_resource::UntagResourceInput, ::aws_smithy_types::error::operation::BuildError> {
   77         -
        ::std::result::Result::Ok(crate::operation::untag_resource::UntagResourceInput {
   78         -
            resource_arn: self.resource_arn,
         125  +
        /* BuilderGenerator.kt:254 */
         126  +
        ::std::result::Result::Ok(
         127  +
            /* BuilderGenerator.kt:477 */
         128  +
            crate::operation::untag_resource::UntagResourceInput {
         129  +
                /* BuilderGenerator.kt:481 */ resource_arn: self.resource_arn,
         130  +
                /* BuilderGenerator.kt:481 */
   79    131   
                tag_keys: self.tag_keys,
   80         -
        })
         132  +
                /* BuilderGenerator.kt:477 */
         133  +
            }, /* BuilderGenerator.kt:254 */
         134  +
        )
         135  +
        /* BuilderGenerator.kt:253 */
   81    136   
    }
         137  +
    /* BuilderGenerator.kt:355 */
   82    138   
}

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

@@ -1,1 +22,39 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* StructureGenerator.kt:197 */
    2      3   
#[allow(missing_docs)] // documentation missing in model
           4  +
/* RustType.kt:516 */
    3      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    4      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5         -
pub struct UntagResourceOutput {}
           8  +
pub /* StructureGenerator.kt:201 */ struct UntagResourceOutput {/* StructureGenerator.kt:201 */}
           9  +
/* ClientCodegenVisitor.kt:237 */
    6     10   
impl UntagResourceOutput {
    7         -
    /// Creates a new builder-style object to manufacture [`UntagResourceOutput`](crate::operation::untag_resource::UntagResourceOutput).
          11  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`UntagResourceOutput`](crate::operation::untag_resource::UntagResourceOutput).
          12  +
    /* BuilderGenerator.kt:175 */
    8     13   
    pub fn builder() -> crate::operation::untag_resource::builders::UntagResourceOutputBuilder {
          14  +
        /* BuilderGenerator.kt:176 */
    9     15   
        crate::operation::untag_resource::builders::UntagResourceOutputBuilder::default()
          16  +
        /* BuilderGenerator.kt:175 */
   10     17   
    }
          18  +
    /* ClientCodegenVisitor.kt:237 */
   11     19   
}
   12     20   
   13         -
/// A builder for [`UntagResourceOutput`](crate::operation::untag_resource::UntagResourceOutput).
          21  +
/// /* BuilderGenerator.kt:342 */A builder for [`UntagResourceOutput`](crate::operation::untag_resource::UntagResourceOutput).
          22  +
/* RustType.kt:516 */
   14     23   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          24  +
/* RustType.kt:516 */
   15     25   
#[non_exhaustive]
   16         -
pub struct UntagResourceOutputBuilder {}
          26  +
/* BuilderGenerator.kt:345 */
          27  +
pub struct UntagResourceOutputBuilder {/* BuilderGenerator.kt:345 */}
          28  +
/* BuilderGenerator.kt:355 */
   17     29   
impl UntagResourceOutputBuilder {
   18         -
    /// Consumes the builder and constructs a [`UntagResourceOutput`](crate::operation::untag_resource::UntagResourceOutput).
          30  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`UntagResourceOutput`](crate::operation::untag_resource::UntagResourceOutput).
          31  +
    /* BuilderGenerator.kt:253 */
   19     32   
    pub fn build(self) -> crate::operation::untag_resource::UntagResourceOutput {
   20         -
        crate::operation::untag_resource::UntagResourceOutput {}
          33  +
        /* BuilderGenerator.kt:477 */
          34  +
        crate::operation::untag_resource::UntagResourceOutput {
          35  +
        /* BuilderGenerator.kt:477 */}
          36  +
        /* BuilderGenerator.kt:253 */
   21     37   
    }
          38  +
    /* BuilderGenerator.kt:355 */
   22     39   
}

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

@@ -1,1 +145,163 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CodegenDelegator.kt:255 */
    2      3   
pub use crate::operation::untag_resource::_untag_resource_output::UntagResourceOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::untag_resource::_untag_resource_input::UntagResourceInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::untag_resource::builders::UntagResourceInputBuilder {
    7     10   
    /// Sends a request with this input using the given client.
    8     11   
    pub async fn send_with(
    9     12   
        self,
   10     13   
        client: &crate::Client,
   11     14   
    ) -> ::std::result::Result<
   12     15   
        crate::operation::untag_resource::UntagResourceOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::untag_resource::UntagResourceError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.untag_resource();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `UntagResource`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `UntagResource`.
   24     27   
///
   25         -
/// <p>Removes the association of tags from an Amazon DynamoDB resource. You can call <code>UntagResource</code> up to five times per second, per account.</p>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p>Removes the association of tags from an Amazon DynamoDB resource. You can call <code>UntagResource</code> up to five times per second, per account.</p>
   26     29   
/// <p>For an overview on tagging DynamoDB resources, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html">Tagging for DynamoDB</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          30  +
/* RustType.kt:516 */
   27     31   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          32  +
/* FluentBuilderGenerator.kt:270 */
   28     33   
pub struct UntagResourceFluentBuilder {
   29     34   
    handle: ::std::sync::Arc<crate::client::Handle>,
   30     35   
    inner: crate::operation::untag_resource::builders::UntagResourceInputBuilder,
   31     36   
    config_override: ::std::option::Option<crate::config::Builder>,
   32     37   
}
          38  +
/* FluentBuilderGenerator.kt:381 */
   33     39   
impl
   34     40   
    crate::client::customize::internal::CustomizableSend<
   35     41   
        crate::operation::untag_resource::UntagResourceOutput,
   36     42   
        crate::operation::untag_resource::UntagResourceError,
   37     43   
    > for UntagResourceFluentBuilder
   38     44   
{
   39     45   
    fn send(
   40     46   
        self,
   41     47   
        config_override: crate::config::Builder,
   42     48   
    ) -> crate::client::customize::internal::BoxFuture<
   43     49   
        crate::client::customize::internal::SendResult<
   44     50   
            crate::operation::untag_resource::UntagResourceOutput,
   45     51   
            crate::operation::untag_resource::UntagResourceError,
   46     52   
        >,
   47     53   
    > {
   48     54   
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
   49     55   
    }
   50     56   
}
          57  +
/* FluentBuilderGenerator.kt:282 */
   51     58   
impl UntagResourceFluentBuilder {
          59  +
    /* FluentBuilderGenerator.kt:288 */
   52     60   
    /// Creates a new `UntagResourceFluentBuilder`.
   53     61   
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
   54     62   
        Self {
   55     63   
            handle,
   56     64   
            inner: ::std::default::Default::default(),
   57     65   
            config_override: ::std::option::Option::None,
   58     66   
        }
   59     67   
    }
          68  +
    /* FluentBuilderGenerator.kt:301 */
   60     69   
    /// Access the UntagResource as a reference.
   61     70   
    pub fn as_input(&self) -> &crate::operation::untag_resource::builders::UntagResourceInputBuilder {
   62     71   
        &self.inner
   63     72   
    }
          73  +
    /* FluentBuilderGenerator.kt:145 */
   64     74   
    /// Sends the request and returns the response.
   65     75   
    ///
   66     76   
    /// If an error occurs, an `SdkError` will be returned with additional details that
   67     77   
    /// can be matched against.
   68     78   
    ///
   69     79   
    /// By default, any retryable failures will be retried twice. Retry behavior
   70     80   
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
   71     81   
    /// set when configuring the client.
   72     82   
    pub async fn send(
   73     83   
        self,
   74     84   
    ) -> ::std::result::Result<
   75     85   
        crate::operation::untag_resource::UntagResourceOutput,
   76     86   
        ::aws_smithy_runtime_api::client::result::SdkError<
   77     87   
            crate::operation::untag_resource::UntagResourceError,
   78     88   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   79     89   
        >,
   80     90   
    > {
   81     91   
        let input = self
   82     92   
            .inner
   83     93   
            .build()
   84     94   
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
   85     95   
        let runtime_plugins = crate::operation::untag_resource::UntagResource::operation_runtime_plugins(
   86     96   
            self.handle.runtime_plugins.clone(),
   87     97   
            &self.handle.conf,
   88     98   
            self.config_override,
   89     99   
        );
   90    100   
        crate::operation::untag_resource::UntagResource::orchestrate(&runtime_plugins, input).await
   91    101   
    }
   92    102   
   93    103   
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
   94    104   
    pub fn customize(
   95    105   
        self,
   96    106   
    ) -> crate::client::customize::CustomizableOperation<
   97    107   
        crate::operation::untag_resource::UntagResourceOutput,
   98    108   
        crate::operation::untag_resource::UntagResourceError,
   99    109   
        Self,
  100    110   
    > {
  101    111   
        crate::client::customize::CustomizableOperation::new(self)
  102    112   
    }
         113  +
    /* FluentBuilderGenerator.kt:315 */
  103    114   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
  104    115   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
  105    116   
        self
  106    117   
    }
  107    118   
  108    119   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  109    120   
        self.config_override = config_override;
  110    121   
        self
  111    122   
    }
  112         -
    /// <p>The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).</p>
         123  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).</p>
         124  +
    /* FluentBuilderGenerator.kt:500 */
  113    125   
    pub fn resource_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  114    126   
        self.inner = self.inner.resource_arn(input.into());
  115    127   
        self
  116    128   
    }
  117         -
    /// <p>The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).</p>
         129  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).</p>
         130  +
    /* FluentBuilderGenerator.kt:500 */
  118    131   
    pub fn set_resource_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  119    132   
        self.inner = self.inner.set_resource_arn(input);
  120    133   
        self
  121    134   
    }
  122         -
    /// <p>The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).</p>
         135  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).</p>
         136  +
    /* FluentBuilderGenerator.kt:520 */
  123    137   
    pub fn get_resource_arn(&self) -> &::std::option::Option<::std::string::String> {
  124    138   
        self.inner.get_resource_arn()
  125    139   
    }
  126         -
    ///
         140  +
    /// /* FluentBuilderGenerator.kt:436 */
  127    141   
    /// Appends an item to `TagKeys`.
  128    142   
    ///
  129    143   
    /// To override the contents of this collection use [`set_tag_keys`](Self::set_tag_keys).
  130    144   
    ///
  131         -
    /// <p>A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.</p>
         145  +
    /// /* FluentBuilderGenerator.kt:443 */<p>A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.</p>
         146  +
    /* FluentBuilderGenerator.kt:446 */
  132    147   
    pub fn tag_keys(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  133    148   
        self.inner = self.inner.tag_keys(input.into());
  134    149   
        self
  135    150   
    }
  136         -
    /// <p>A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.</p>
         151  +
    /// /* FluentBuilderGenerator.kt:498 */<p>A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.</p>
         152  +
    /* FluentBuilderGenerator.kt:500 */
  137    153   
    pub fn set_tag_keys(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
  138    154   
        self.inner = self.inner.set_tag_keys(input);
  139    155   
        self
  140    156   
    }
  141         -
    /// <p>A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.</p>
         157  +
    /// /* FluentBuilderGenerator.kt:518 */<p>A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.</p>
         158  +
    /* FluentBuilderGenerator.kt:520 */
  142    159   
    pub fn get_tag_keys(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
  143    160   
        self.inner.get_tag_keys()
  144    161   
    }
         162  +
    /* FluentBuilderGenerator.kt:282 */
  145    163   
}

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

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

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

@@ -1,1 +78,130 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* StructureGenerator.kt:197 */
    2      3   
#[allow(missing_docs)] // documentation missing in model
           4  +
/* RustType.kt:516 */
    3      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    4      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5         -
pub struct UpdateContinuousBackupsInput {
    6         -
    /// <p>The name of the table.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct UpdateContinuousBackupsInput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The name of the table.</p>
    7     10   
    pub table_name: ::std::option::Option<::std::string::String>,
    8         -
    /// <p>Represents the settings used to enable point in time recovery.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>Represents the settings used to enable point in time recovery.</p>
    9     12   
    pub point_in_time_recovery_specification: ::std::option::Option<crate::types::PointInTimeRecoverySpecification>,
          13  +
    /* StructureGenerator.kt:201 */
   10     14   
}
          15  +
/* StructureGenerator.kt:135 */
   11     16   
impl UpdateContinuousBackupsInput {
   12         -
    /// <p>The name of the table.</p>
          17  +
    /// /* StructureGenerator.kt:231 */<p>The name of the table.</p>
          18  +
    /* StructureGenerator.kt:166 */
   13     19   
    pub fn table_name(&self) -> ::std::option::Option<&str> {
          20  +
        /* StructureGenerator.kt:169 */
   14     21   
        self.table_name.as_deref()
          22  +
        /* StructureGenerator.kt:166 */
   15     23   
    }
   16         -
    /// <p>Represents the settings used to enable point in time recovery.</p>
          24  +
    /// /* StructureGenerator.kt:231 */<p>Represents the settings used to enable point in time recovery.</p>
          25  +
    /* StructureGenerator.kt:166 */
   17     26   
    pub fn point_in_time_recovery_specification(&self) -> ::std::option::Option<&crate::types::PointInTimeRecoverySpecification> {
          27  +
        /* StructureGenerator.kt:170 */
   18     28   
        self.point_in_time_recovery_specification.as_ref()
          29  +
        /* StructureGenerator.kt:166 */
   19     30   
    }
          31  +
    /* StructureGenerator.kt:135 */
   20     32   
}
          33  +
/* ClientCodegenVisitor.kt:237 */
   21     34   
impl UpdateContinuousBackupsInput {
   22         -
    /// Creates a new builder-style object to manufacture [`UpdateContinuousBackupsInput`](crate::operation::update_continuous_backups::UpdateContinuousBackupsInput).
          35  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`UpdateContinuousBackupsInput`](crate::operation::update_continuous_backups::UpdateContinuousBackupsInput).
          36  +
    /* BuilderGenerator.kt:175 */
   23     37   
    pub fn builder() -> crate::operation::update_continuous_backups::builders::UpdateContinuousBackupsInputBuilder {
          38  +
        /* BuilderGenerator.kt:176 */
   24     39   
        crate::operation::update_continuous_backups::builders::UpdateContinuousBackupsInputBuilder::default()
          40  +
        /* BuilderGenerator.kt:175 */
   25     41   
    }
          42  +
    /* ClientCodegenVisitor.kt:237 */
   26     43   
}
   27     44   
   28         -
/// A builder for [`UpdateContinuousBackupsInput`](crate::operation::update_continuous_backups::UpdateContinuousBackupsInput).
          45  +
/// /* BuilderGenerator.kt:342 */A builder for [`UpdateContinuousBackupsInput`](crate::operation::update_continuous_backups::UpdateContinuousBackupsInput).
          46  +
/* RustType.kt:516 */
   29     47   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          48  +
/* RustType.kt:516 */
   30     49   
#[non_exhaustive]
          50  +
/* BuilderGenerator.kt:345 */
   31     51   
pub struct UpdateContinuousBackupsInputBuilder {
   32         -
    pub(crate) table_name: ::std::option::Option<::std::string::String>,
          52  +
    /* BuilderGenerator.kt:275 */ pub(crate) table_name: ::std::option::Option<::std::string::String>,
          53  +
    /* BuilderGenerator.kt:275 */
   33     54   
    pub(crate) point_in_time_recovery_specification: ::std::option::Option<crate::types::PointInTimeRecoverySpecification>,
          55  +
    /* BuilderGenerator.kt:345 */
   34     56   
}
          57  +
/* BuilderGenerator.kt:355 */
   35     58   
impl UpdateContinuousBackupsInputBuilder {
   36         -
    /// <p>The name of the table.</p>
   37         -
    /// This field is required.
          59  +
    /// /* BuilderGenerator.kt:286 */<p>The name of the table.</p>
          60  +
    /// /* BuilderGenerator.kt:288 */This field is required.
          61  +
    /* BuilderGenerator.kt:291 */
   38     62   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          63  +
        /* BuilderGenerator.kt:292 */
   39     64   
        self.table_name = ::std::option::Option::Some(input.into());
          65  +
        /* BuilderGenerator.kt:293 */
   40     66   
        self
          67  +
        /* BuilderGenerator.kt:291 */
   41     68   
    }
   42         -
    /// <p>The name of the table.</p>
          69  +
    /// /* BuilderGenerator.kt:312 */<p>The name of the table.</p>
          70  +
    /* BuilderGenerator.kt:314 */
   43     71   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          72  +
        /* BuilderGenerator.kt:315 */
   44     73   
        self.table_name = input;
   45     74   
        self
          75  +
        /* BuilderGenerator.kt:314 */
   46     76   
    }
   47         -
    /// <p>The name of the table.</p>
          77  +
    /// /* BuilderGenerator.kt:334 */<p>The name of the table.</p>
          78  +
    /* BuilderGenerator.kt:336 */
   48     79   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
          80  +
        /* BuilderGenerator.kt:337 */
   49     81   
        &self.table_name
          82  +
        /* BuilderGenerator.kt:336 */
   50     83   
    }
   51         -
    /// <p>Represents the settings used to enable point in time recovery.</p>
   52         -
    /// This field is required.
          84  +
    /// /* BuilderGenerator.kt:286 */<p>Represents the settings used to enable point in time recovery.</p>
          85  +
    /// /* BuilderGenerator.kt:288 */This field is required.
          86  +
    /* BuilderGenerator.kt:291 */
   53     87   
    pub fn point_in_time_recovery_specification(mut self, input: crate::types::PointInTimeRecoverySpecification) -> Self {
          88  +
        /* BuilderGenerator.kt:292 */
   54     89   
        self.point_in_time_recovery_specification = ::std::option::Option::Some(input);
          90  +
        /* BuilderGenerator.kt:293 */
   55     91   
        self
          92  +
        /* BuilderGenerator.kt:291 */
   56     93   
    }
   57         -
    /// <p>Represents the settings used to enable point in time recovery.</p>
          94  +
    /// /* BuilderGenerator.kt:312 */<p>Represents the settings used to enable point in time recovery.</p>
          95  +
    /* BuilderGenerator.kt:314 */
   58     96   
    pub fn set_point_in_time_recovery_specification(mut self, input: ::std::option::Option<crate::types::PointInTimeRecoverySpecification>) -> Self {
          97  +
        /* BuilderGenerator.kt:315 */
   59     98   
        self.point_in_time_recovery_specification = input;
   60     99   
        self
         100  +
        /* BuilderGenerator.kt:314 */
   61    101   
    }
   62         -
    /// <p>Represents the settings used to enable point in time recovery.</p>
         102  +
    /// /* BuilderGenerator.kt:334 */<p>Represents the settings used to enable point in time recovery.</p>
         103  +
    /* BuilderGenerator.kt:336 */
   63    104   
    pub fn get_point_in_time_recovery_specification(&self) -> &::std::option::Option<crate::types::PointInTimeRecoverySpecification> {
         105  +
        /* BuilderGenerator.kt:337 */
   64    106   
        &self.point_in_time_recovery_specification
         107  +
        /* BuilderGenerator.kt:336 */
   65    108   
    }
   66         -
    /// Consumes the builder and constructs a [`UpdateContinuousBackupsInput`](crate::operation::update_continuous_backups::UpdateContinuousBackupsInput).
         109  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`UpdateContinuousBackupsInput`](crate::operation::update_continuous_backups::UpdateContinuousBackupsInput).
         110  +
    /* BuilderGenerator.kt:253 */
   67    111   
    pub fn build(
   68    112   
        self,
   69    113   
    ) -> ::std::result::Result<
   70    114   
        crate::operation::update_continuous_backups::UpdateContinuousBackupsInput,
   71    115   
        ::aws_smithy_types::error::operation::BuildError,
   72    116   
    > {
   73         -
        ::std::result::Result::Ok(crate::operation::update_continuous_backups::UpdateContinuousBackupsInput {
   74         -
            table_name: self.table_name,
         117  +
        /* BuilderGenerator.kt:254 */
         118  +
        ::std::result::Result::Ok(
         119  +
            /* BuilderGenerator.kt:477 */
         120  +
            crate::operation::update_continuous_backups::UpdateContinuousBackupsInput {
         121  +
                /* BuilderGenerator.kt:481 */ table_name: self.table_name,
         122  +
                /* BuilderGenerator.kt:481 */
   75    123   
                point_in_time_recovery_specification: self.point_in_time_recovery_specification,
   76         -
        })
         124  +
                /* BuilderGenerator.kt:477 */
         125  +
            }, /* BuilderGenerator.kt:254 */
         126  +
        )
         127  +
        /* BuilderGenerator.kt:253 */
   77    128   
    }
         129  +
    /* BuilderGenerator.kt:355 */
   78    130   
}