Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943 (ignoring whitespace)

Files changed:

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

@@ -1,1 +59,92 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents a replica to be removed.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents a replica to be removed.</p>
           4  +
/* RustType.kt:516 */
    4      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    5      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct DeleteReplicaAction {
    7         -
    /// <p>The Region of the replica to be removed.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct DeleteReplicaAction {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The Region of the replica to be removed.</p>
    8     10   
    pub region_name: ::std::string::String,
          11  +
    /* StructureGenerator.kt:201 */
    9     12   
}
          13  +
/* StructureGenerator.kt:135 */
   10     14   
impl DeleteReplicaAction {
   11         -
    /// <p>The Region of the replica to be removed.</p>
          15  +
    /// /* StructureGenerator.kt:231 */<p>The Region of the replica to be removed.</p>
          16  +
    /* StructureGenerator.kt:166 */
   12     17   
    pub fn region_name(&self) -> &str {
          18  +
        /* StructureGenerator.kt:171 */
   13     19   
        use std::ops::Deref;
   14     20   
        self.region_name.deref()
          21  +
        /* StructureGenerator.kt:166 */
   15     22   
    }
          23  +
    /* StructureGenerator.kt:135 */
   16     24   
}
          25  +
/* ClientCodegenVisitor.kt:237 */
   17     26   
impl DeleteReplicaAction {
   18         -
    /// Creates a new builder-style object to manufacture [`DeleteReplicaAction`](crate::types::DeleteReplicaAction).
          27  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`DeleteReplicaAction`](crate::types::DeleteReplicaAction).
          28  +
    /* BuilderGenerator.kt:175 */
   19     29   
    pub fn builder() -> crate::types::builders::DeleteReplicaActionBuilder {
          30  +
        /* BuilderGenerator.kt:176 */
   20     31   
        crate::types::builders::DeleteReplicaActionBuilder::default()
          32  +
        /* BuilderGenerator.kt:175 */
   21     33   
    }
          34  +
    /* ClientCodegenVisitor.kt:237 */
   22     35   
}
   23     36   
   24         -
/// A builder for [`DeleteReplicaAction`](crate::types::DeleteReplicaAction).
          37  +
/// /* BuilderGenerator.kt:342 */A builder for [`DeleteReplicaAction`](crate::types::DeleteReplicaAction).
          38  +
/* RustType.kt:516 */
   25     39   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          40  +
/* RustType.kt:516 */
   26     41   
#[non_exhaustive]
          42  +
/* BuilderGenerator.kt:345 */
   27     43   
pub struct DeleteReplicaActionBuilder {
   28         -
    pub(crate) region_name: ::std::option::Option<::std::string::String>,
          44  +
    /* BuilderGenerator.kt:275 */ pub(crate) region_name: ::std::option::Option<::std::string::String>,
          45  +
    /* BuilderGenerator.kt:345 */
   29     46   
}
          47  +
/* BuilderGenerator.kt:355 */
   30     48   
impl DeleteReplicaActionBuilder {
   31         -
    /// <p>The Region of the replica to be removed.</p>
   32         -
    /// This field is required.
          49  +
    /// /* BuilderGenerator.kt:286 */<p>The Region of the replica to be removed.</p>
          50  +
    /// /* BuilderGenerator.kt:288 */This field is required.
          51  +
    /* BuilderGenerator.kt:291 */
   33     52   
    pub fn region_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          53  +
        /* BuilderGenerator.kt:292 */
   34     54   
        self.region_name = ::std::option::Option::Some(input.into());
          55  +
        /* BuilderGenerator.kt:293 */
   35     56   
        self
          57  +
        /* BuilderGenerator.kt:291 */
   36     58   
    }
   37         -
    /// <p>The Region of the replica to be removed.</p>
          59  +
    /// /* BuilderGenerator.kt:312 */<p>The Region of the replica to be removed.</p>
          60  +
    /* BuilderGenerator.kt:314 */
   38     61   
    pub fn set_region_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          62  +
        /* BuilderGenerator.kt:315 */
   39     63   
        self.region_name = input;
   40     64   
        self
          65  +
        /* BuilderGenerator.kt:314 */
   41     66   
    }
   42         -
    /// <p>The Region of the replica to be removed.</p>
          67  +
    /// /* BuilderGenerator.kt:334 */<p>The Region of the replica to be removed.</p>
          68  +
    /* BuilderGenerator.kt:336 */
   43     69   
    pub fn get_region_name(&self) -> &::std::option::Option<::std::string::String> {
          70  +
        /* BuilderGenerator.kt:337 */
   44     71   
        &self.region_name
          72  +
        /* BuilderGenerator.kt:336 */
   45     73   
    }
   46         -
    /// Consumes the builder and constructs a [`DeleteReplicaAction`](crate::types::DeleteReplicaAction).
   47         -
    /// This method will fail if any of the following fields are not set:
   48         -
    /// - [`region_name`](crate::types::builders::DeleteReplicaActionBuilder::region_name)
          74  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`DeleteReplicaAction`](crate::types::DeleteReplicaAction).
          75  +
    /// /* BuilderGenerator.kt:243 */This method will fail if any of the following fields are not set:
          76  +
    /// /* BuilderGenerator.kt:246 */- [`region_name`](crate::types::builders::DeleteReplicaActionBuilder::region_name)
          77  +
    /* BuilderGenerator.kt:253 */
   49     78   
    pub fn build(self) -> ::std::result::Result<crate::types::DeleteReplicaAction, ::aws_smithy_types::error::operation::BuildError> {
   50         -
        ::std::result::Result::Ok(crate::types::DeleteReplicaAction {
   51         -
            region_name: self.region_name.ok_or_else(|| {
   52         -
                ::aws_smithy_types::error::operation::BuildError::missing_field(
   53         -
                    "region_name",
   54         -
                    "region_name was not specified but it is required when building DeleteReplicaAction",
   55         -
                )
   56         -
            })?,
   57         -
        })
          79  +
        /* BuilderGenerator.kt:254 */
          80  +
        ::std::result::Result::Ok(
          81  +
            /* BuilderGenerator.kt:477 */crate::types::DeleteReplicaAction {
          82  +
                /* BuilderGenerator.kt:481 */region_name: self.region_name
          83  +
                    /* BuilderGenerator.kt:494 */.ok_or_else(||
          84  +
                        /* BuilderGenerator.kt:117 */::aws_smithy_types::error::operation::BuildError::missing_field("region_name", "region_name was not specified but it is required when building DeleteReplicaAction")
          85  +
                    /* BuilderGenerator.kt:494 */)?
          86  +
                ,
          87  +
            /* BuilderGenerator.kt:477 */}
          88  +
        /* BuilderGenerator.kt:254 */)
          89  +
        /* BuilderGenerator.kt:253 */
   58     90   
    }
          91  +
    /* BuilderGenerator.kt:355 */
   59     92   
}

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

@@ -1,1 +59,92 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents a replica to be deleted.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents a replica to be deleted.</p>
           4  +
/* RustType.kt:516 */
    4      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    5      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct DeleteReplicationGroupMemberAction {
    7         -
    /// <p>The Region where the replica exists.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct DeleteReplicationGroupMemberAction {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The Region where the replica exists.</p>
    8     10   
    pub region_name: ::std::string::String,
          11  +
    /* StructureGenerator.kt:201 */
    9     12   
}
          13  +
/* StructureGenerator.kt:135 */
   10     14   
impl DeleteReplicationGroupMemberAction {
   11         -
    /// <p>The Region where the replica exists.</p>
          15  +
    /// /* StructureGenerator.kt:231 */<p>The Region where the replica exists.</p>
          16  +
    /* StructureGenerator.kt:166 */
   12     17   
    pub fn region_name(&self) -> &str {
          18  +
        /* StructureGenerator.kt:171 */
   13     19   
        use std::ops::Deref;
   14     20   
        self.region_name.deref()
          21  +
        /* StructureGenerator.kt:166 */
   15     22   
    }
          23  +
    /* StructureGenerator.kt:135 */
   16     24   
}
          25  +
/* ClientCodegenVisitor.kt:237 */
   17     26   
impl DeleteReplicationGroupMemberAction {
   18         -
    /// Creates a new builder-style object to manufacture [`DeleteReplicationGroupMemberAction`](crate::types::DeleteReplicationGroupMemberAction).
          27  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`DeleteReplicationGroupMemberAction`](crate::types::DeleteReplicationGroupMemberAction).
          28  +
    /* BuilderGenerator.kt:175 */
   19     29   
    pub fn builder() -> crate::types::builders::DeleteReplicationGroupMemberActionBuilder {
          30  +
        /* BuilderGenerator.kt:176 */
   20     31   
        crate::types::builders::DeleteReplicationGroupMemberActionBuilder::default()
          32  +
        /* BuilderGenerator.kt:175 */
   21     33   
    }
          34  +
    /* ClientCodegenVisitor.kt:237 */
   22     35   
}
   23     36   
   24         -
/// A builder for [`DeleteReplicationGroupMemberAction`](crate::types::DeleteReplicationGroupMemberAction).
          37  +
/// /* BuilderGenerator.kt:342 */A builder for [`DeleteReplicationGroupMemberAction`](crate::types::DeleteReplicationGroupMemberAction).
          38  +
/* RustType.kt:516 */
   25     39   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          40  +
/* RustType.kt:516 */
   26     41   
#[non_exhaustive]
          42  +
/* BuilderGenerator.kt:345 */
   27     43   
pub struct DeleteReplicationGroupMemberActionBuilder {
   28         -
    pub(crate) region_name: ::std::option::Option<::std::string::String>,
          44  +
    /* BuilderGenerator.kt:275 */ pub(crate) region_name: ::std::option::Option<::std::string::String>,
          45  +
    /* BuilderGenerator.kt:345 */
   29     46   
}
          47  +
/* BuilderGenerator.kt:355 */
   30     48   
impl DeleteReplicationGroupMemberActionBuilder {
   31         -
    /// <p>The Region where the replica exists.</p>
   32         -
    /// This field is required.
          49  +
    /// /* BuilderGenerator.kt:286 */<p>The Region where the replica exists.</p>
          50  +
    /// /* BuilderGenerator.kt:288 */This field is required.
          51  +
    /* BuilderGenerator.kt:291 */
   33     52   
    pub fn region_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          53  +
        /* BuilderGenerator.kt:292 */
   34     54   
        self.region_name = ::std::option::Option::Some(input.into());
          55  +
        /* BuilderGenerator.kt:293 */
   35     56   
        self
          57  +
        /* BuilderGenerator.kt:291 */
   36     58   
    }
   37         -
    /// <p>The Region where the replica exists.</p>
          59  +
    /// /* BuilderGenerator.kt:312 */<p>The Region where the replica exists.</p>
          60  +
    /* BuilderGenerator.kt:314 */
   38     61   
    pub fn set_region_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          62  +
        /* BuilderGenerator.kt:315 */
   39     63   
        self.region_name = input;
   40     64   
        self
          65  +
        /* BuilderGenerator.kt:314 */
   41     66   
    }
   42         -
    /// <p>The Region where the replica exists.</p>
          67  +
    /// /* BuilderGenerator.kt:334 */<p>The Region where the replica exists.</p>
          68  +
    /* BuilderGenerator.kt:336 */
   43     69   
    pub fn get_region_name(&self) -> &::std::option::Option<::std::string::String> {
          70  +
        /* BuilderGenerator.kt:337 */
   44     71   
        &self.region_name
          72  +
        /* BuilderGenerator.kt:336 */
   45     73   
    }
   46         -
    /// Consumes the builder and constructs a [`DeleteReplicationGroupMemberAction`](crate::types::DeleteReplicationGroupMemberAction).
   47         -
    /// This method will fail if any of the following fields are not set:
   48         -
    /// - [`region_name`](crate::types::builders::DeleteReplicationGroupMemberActionBuilder::region_name)
          74  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`DeleteReplicationGroupMemberAction`](crate::types::DeleteReplicationGroupMemberAction).
          75  +
    /// /* BuilderGenerator.kt:243 */This method will fail if any of the following fields are not set:
          76  +
    /// /* BuilderGenerator.kt:246 */- [`region_name`](crate::types::builders::DeleteReplicationGroupMemberActionBuilder::region_name)
          77  +
    /* BuilderGenerator.kt:253 */
   49     78   
    pub fn build(self) -> ::std::result::Result<crate::types::DeleteReplicationGroupMemberAction, ::aws_smithy_types::error::operation::BuildError> {
   50         -
        ::std::result::Result::Ok(crate::types::DeleteReplicationGroupMemberAction {
   51         -
            region_name: self.region_name.ok_or_else(|| {
   52         -
                ::aws_smithy_types::error::operation::BuildError::missing_field(
   53         -
                    "region_name",
   54         -
                    "region_name was not specified but it is required when building DeleteReplicationGroupMemberAction",
   55         -
                )
   56         -
            })?,
   57         -
        })
          79  +
        /* BuilderGenerator.kt:254 */
          80  +
        ::std::result::Result::Ok(
          81  +
            /* BuilderGenerator.kt:477 */crate::types::DeleteReplicationGroupMemberAction {
          82  +
                /* BuilderGenerator.kt:481 */region_name: self.region_name
          83  +
                    /* BuilderGenerator.kt:494 */.ok_or_else(||
          84  +
                        /* BuilderGenerator.kt:117 */::aws_smithy_types::error::operation::BuildError::missing_field("region_name", "region_name was not specified but it is required when building DeleteReplicationGroupMemberAction")
          85  +
                    /* BuilderGenerator.kt:494 */)?
          86  +
                ,
          87  +
            /* BuilderGenerator.kt:477 */}
          88  +
        /* BuilderGenerator.kt:254 */)
          89  +
        /* BuilderGenerator.kt:253 */
   58     90   
    }
          91  +
    /* BuilderGenerator.kt:355 */
   59     92   
}

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

@@ -1,1 +63,98 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents a request to perform a <code>DeleteItem</code> operation on an item.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents a request to perform a <code>DeleteItem</code> operation on an item.</p>
           4  +
/* RustType.kt:516 */
    4      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    5      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct DeleteRequest {
    7         -
    /// <p>A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct DeleteRequest {
           9  +
    /// /* StructureGenerator.kt:231 */<p>A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.</p>
    8     10   
    pub key: ::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>,
          11  +
    /* StructureGenerator.kt:201 */
    9     12   
}
          13  +
/* StructureGenerator.kt:135 */
   10     14   
impl DeleteRequest {
   11         -
    /// <p>A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.</p>
          15  +
    /// /* StructureGenerator.kt:231 */<p>A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.</p>
          16  +
    /* StructureGenerator.kt:166 */
   12     17   
    pub fn key(&self) -> &::std::collections::HashMap<::std::string::String, crate::types::AttributeValue> {
          18  +
        /* StructureGenerator.kt:172 */
   13     19   
        &self.key
          20  +
        /* StructureGenerator.kt:166 */
   14     21   
    }
          22  +
    /* StructureGenerator.kt:135 */
   15     23   
}
          24  +
/* ClientCodegenVisitor.kt:237 */
   16     25   
impl DeleteRequest {
   17         -
    /// Creates a new builder-style object to manufacture [`DeleteRequest`](crate::types::DeleteRequest).
          26  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`DeleteRequest`](crate::types::DeleteRequest).
          27  +
    /* BuilderGenerator.kt:175 */
   18     28   
    pub fn builder() -> crate::types::builders::DeleteRequestBuilder {
          29  +
        /* BuilderGenerator.kt:176 */
   19     30   
        crate::types::builders::DeleteRequestBuilder::default()
          31  +
        /* BuilderGenerator.kt:175 */
   20     32   
    }
          33  +
    /* ClientCodegenVisitor.kt:237 */
   21     34   
}
   22     35   
   23         -
/// A builder for [`DeleteRequest`](crate::types::DeleteRequest).
          36  +
/// /* BuilderGenerator.kt:342 */A builder for [`DeleteRequest`](crate::types::DeleteRequest).
          37  +
/* RustType.kt:516 */
   24     38   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          39  +
/* RustType.kt:516 */
   25     40   
#[non_exhaustive]
          41  +
/* BuilderGenerator.kt:345 */
   26     42   
pub struct DeleteRequestBuilder {
          43  +
    /* BuilderGenerator.kt:275 */
   27     44   
    pub(crate) key: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
          45  +
    /* BuilderGenerator.kt:345 */
   28     46   
}
          47  +
/* BuilderGenerator.kt:355 */
   29     48   
impl DeleteRequestBuilder {
   30         -
    /// Adds a key-value pair to `key`.
          49  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `key`.
          50  +
    /* BuilderGenerator.kt:437 */
   31     51   
    ///
   32         -
    /// To override the contents of this collection use [`set_key`](Self::set_key).
          52  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_key`](Self::set_key).
          53  +
    /* BuilderGenerator.kt:439 */
   33     54   
    ///
   34         -
    /// <p>A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.</p>
          55  +
    /// /* BuilderGenerator.kt:440 */<p>A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.</p>
          56  +
    /* BuilderGenerator.kt:445 */
   35     57   
    pub fn key(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
          58  +
        /* BuilderGenerator.kt:448 */
   36     59   
        let mut hash_map = self.key.unwrap_or_default();
   37     60   
        hash_map.insert(k.into(), v);
   38     61   
        self.key = ::std::option::Option::Some(hash_map);
   39     62   
        self
          63  +
        /* BuilderGenerator.kt:445 */
   40     64   
    }
   41         -
    /// <p>A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.</p>
          65  +
    /// /* BuilderGenerator.kt:312 */<p>A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.</p>
          66  +
    /* BuilderGenerator.kt:314 */
   42     67   
    pub fn set_key(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>) -> Self {
          68  +
        /* BuilderGenerator.kt:315 */
   43     69   
        self.key = input;
   44     70   
        self
          71  +
        /* BuilderGenerator.kt:314 */
   45     72   
    }
   46         -
    /// <p>A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.</p>
          73  +
    /// /* BuilderGenerator.kt:334 */<p>A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.</p>
          74  +
    /* BuilderGenerator.kt:336 */
   47     75   
    pub fn get_key(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
          76  +
        /* BuilderGenerator.kt:337 */
   48     77   
        &self.key
          78  +
        /* BuilderGenerator.kt:336 */
   49     79   
    }
   50         -
    /// Consumes the builder and constructs a [`DeleteRequest`](crate::types::DeleteRequest).
   51         -
    /// This method will fail if any of the following fields are not set:
   52         -
    /// - [`key`](crate::types::builders::DeleteRequestBuilder::key)
          80  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`DeleteRequest`](crate::types::DeleteRequest).
          81  +
    /// /* BuilderGenerator.kt:243 */This method will fail if any of the following fields are not set:
          82  +
    /// /* BuilderGenerator.kt:246 */- [`key`](crate::types::builders::DeleteRequestBuilder::key)
          83  +
    /* BuilderGenerator.kt:253 */
   53     84   
    pub fn build(self) -> ::std::result::Result<crate::types::DeleteRequest, ::aws_smithy_types::error::operation::BuildError> {
   54         -
        ::std::result::Result::Ok(crate::types::DeleteRequest {
   55         -
            key: self.key.ok_or_else(|| {
   56         -
                ::aws_smithy_types::error::operation::BuildError::missing_field(
   57         -
                    "key",
   58         -
                    "key was not specified but it is required when building DeleteRequest",
   59         -
                )
   60         -
            })?,
   61         -
        })
          85  +
        /* BuilderGenerator.kt:254 */
          86  +
        ::std::result::Result::Ok(
          87  +
            /* BuilderGenerator.kt:477 */crate::types::DeleteRequest {
          88  +
                /* BuilderGenerator.kt:481 */key: self.key
          89  +
                    /* BuilderGenerator.kt:494 */.ok_or_else(||
          90  +
                        /* BuilderGenerator.kt:117 */::aws_smithy_types::error::operation::BuildError::missing_field("key", "key was not specified but it is required when building DeleteRequest")
          91  +
                    /* BuilderGenerator.kt:494 */)?
          92  +
                ,
          93  +
            /* BuilderGenerator.kt:477 */}
          94  +
        /* BuilderGenerator.kt:254 */)
          95  +
        /* BuilderGenerator.kt:253 */
   62     96   
    }
          97  +
    /* BuilderGenerator.kt:355 */
   63     98   
}

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

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

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

@@ -1,1 +82,130 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>An endpoint information details.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>An endpoint information details.</p>
           4  +
/* RustType.kt:516 */
    4      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    5      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct Endpoint {
    7         -
    /// <p>IP address of the endpoint.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct Endpoint {
           9  +
    /// /* StructureGenerator.kt:231 */<p>IP address of the endpoint.</p>
    8     10   
    pub address: ::std::string::String,
    9         -
    /// <p>Endpoint cache time to live (TTL) value.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>Endpoint cache time to live (TTL) value.</p>
   10     12   
    pub cache_period_in_minutes: i64,
          13  +
    /* StructureGenerator.kt:201 */
   11     14   
}
          15  +
/* StructureGenerator.kt:135 */
   12     16   
impl Endpoint {
   13         -
    /// <p>IP address of the endpoint.</p>
          17  +
    /// /* StructureGenerator.kt:231 */<p>IP address of the endpoint.</p>
          18  +
    /* StructureGenerator.kt:166 */
   14     19   
    pub fn address(&self) -> &str {
          20  +
        /* StructureGenerator.kt:171 */
   15     21   
        use std::ops::Deref;
   16     22   
        self.address.deref()
          23  +
        /* StructureGenerator.kt:166 */
   17     24   
    }
   18         -
    /// <p>Endpoint cache time to live (TTL) value.</p>
          25  +
    /// /* StructureGenerator.kt:231 */<p>Endpoint cache time to live (TTL) value.</p>
          26  +
    /* StructureGenerator.kt:166 */
   19     27   
    pub fn cache_period_in_minutes(&self) -> i64 {
          28  +
        /* StructureGenerator.kt:168 */
   20     29   
        self.cache_period_in_minutes
          30  +
        /* StructureGenerator.kt:166 */
   21     31   
    }
          32  +
    /* StructureGenerator.kt:135 */
   22     33   
}
          34  +
/* ClientCodegenVisitor.kt:237 */
   23     35   
impl Endpoint {
   24         -
    /// Creates a new builder-style object to manufacture [`Endpoint`](crate::types::Endpoint).
          36  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`Endpoint`](crate::types::Endpoint).
          37  +
    /* BuilderGenerator.kt:175 */
   25     38   
    pub fn builder() -> crate::types::builders::EndpointBuilder {
          39  +
        /* BuilderGenerator.kt:176 */
   26     40   
        crate::types::builders::EndpointBuilder::default()
          41  +
        /* BuilderGenerator.kt:175 */
   27     42   
    }
          43  +
    /* ClientCodegenVisitor.kt:237 */
   28     44   
}
   29     45   
   30         -
/// A builder for [`Endpoint`](crate::types::Endpoint).
          46  +
/// /* BuilderGenerator.kt:342 */A builder for [`Endpoint`](crate::types::Endpoint).
          47  +
/* RustType.kt:516 */
   31     48   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          49  +
/* RustType.kt:516 */
   32     50   
#[non_exhaustive]
          51  +
/* BuilderGenerator.kt:345 */
   33     52   
pub struct EndpointBuilder {
   34         -
    pub(crate) address: ::std::option::Option<::std::string::String>,
   35         -
    pub(crate) cache_period_in_minutes: ::std::option::Option<i64>,
          53  +
    /* BuilderGenerator.kt:275 */ pub(crate) address: ::std::option::Option<::std::string::String>,
          54  +
    /* BuilderGenerator.kt:275 */ pub(crate) cache_period_in_minutes: ::std::option::Option<i64>,
          55  +
    /* BuilderGenerator.kt:345 */
   36     56   
}
          57  +
/* BuilderGenerator.kt:355 */
   37     58   
impl EndpointBuilder {
   38         -
    /// <p>IP address of the endpoint.</p>
   39         -
    /// This field is required.
          59  +
    /// /* BuilderGenerator.kt:286 */<p>IP address of the endpoint.</p>
          60  +
    /// /* BuilderGenerator.kt:288 */This field is required.
          61  +
    /* BuilderGenerator.kt:291 */
   40     62   
    pub fn address(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          63  +
        /* BuilderGenerator.kt:292 */
   41     64   
        self.address = ::std::option::Option::Some(input.into());
          65  +
        /* BuilderGenerator.kt:293 */
   42     66   
        self
          67  +
        /* BuilderGenerator.kt:291 */
   43     68   
    }
   44         -
    /// <p>IP address of the endpoint.</p>
          69  +
    /// /* BuilderGenerator.kt:312 */<p>IP address of the endpoint.</p>
          70  +
    /* BuilderGenerator.kt:314 */
   45     71   
    pub fn set_address(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          72  +
        /* BuilderGenerator.kt:315 */
   46     73   
        self.address = input;
   47     74   
        self
          75  +
        /* BuilderGenerator.kt:314 */
   48     76   
    }
   49         -
    /// <p>IP address of the endpoint.</p>
          77  +
    /// /* BuilderGenerator.kt:334 */<p>IP address of the endpoint.</p>
          78  +
    /* BuilderGenerator.kt:336 */
   50     79   
    pub fn get_address(&self) -> &::std::option::Option<::std::string::String> {
          80  +
        /* BuilderGenerator.kt:337 */
   51     81   
        &self.address
          82  +
        /* BuilderGenerator.kt:336 */
   52     83   
    }
   53         -
    /// <p>Endpoint cache time to live (TTL) value.</p>
   54         -
    /// This field is required.
          84  +
    /// /* BuilderGenerator.kt:286 */<p>Endpoint cache time to live (TTL) value.</p>
          85  +
    /// /* BuilderGenerator.kt:288 */This field is required.
          86  +
    /* BuilderGenerator.kt:291 */
   55     87   
    pub fn cache_period_in_minutes(mut self, input: i64) -> Self {
          88  +
        /* BuilderGenerator.kt:292 */
   56     89   
        self.cache_period_in_minutes = ::std::option::Option::Some(input);
          90  +
        /* BuilderGenerator.kt:293 */
   57     91   
        self
          92  +
        /* BuilderGenerator.kt:291 */
   58     93   
    }
   59         -
    /// <p>Endpoint cache time to live (TTL) value.</p>
          94  +
    /// /* BuilderGenerator.kt:312 */<p>Endpoint cache time to live (TTL) value.</p>
          95  +
    /* BuilderGenerator.kt:314 */
   60     96   
    pub fn set_cache_period_in_minutes(mut self, input: ::std::option::Option<i64>) -> Self {
          97  +
        /* BuilderGenerator.kt:315 */
   61     98   
        self.cache_period_in_minutes = input;
   62     99   
        self
         100  +
        /* BuilderGenerator.kt:314 */
   63    101   
    }
   64         -
    /// <p>Endpoint cache time to live (TTL) value.</p>
         102  +
    /// /* BuilderGenerator.kt:334 */<p>Endpoint cache time to live (TTL) value.</p>
         103  +
    /* BuilderGenerator.kt:336 */
   65    104   
    pub fn get_cache_period_in_minutes(&self) -> &::std::option::Option<i64> {
         105  +
        /* BuilderGenerator.kt:337 */
   66    106   
        &self.cache_period_in_minutes
         107  +
        /* BuilderGenerator.kt:336 */
   67    108   
    }
   68         -
    /// Consumes the builder and constructs a [`Endpoint`](crate::types::Endpoint).
   69         -
    /// This method will fail if any of the following fields are not set:
   70         -
    /// - [`address`](crate::types::builders::EndpointBuilder::address)
         109  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`Endpoint`](crate::types::Endpoint).
         110  +
    /// /* BuilderGenerator.kt:243 */This method will fail if any of the following fields are not set:
         111  +
    /// /* BuilderGenerator.kt:246 */- [`address`](crate::types::builders::EndpointBuilder::address)
         112  +
    /* BuilderGenerator.kt:253 */
   71    113   
    pub fn build(self) -> ::std::result::Result<crate::types::Endpoint, ::aws_smithy_types::error::operation::BuildError> {
   72         -
        ::std::result::Result::Ok(crate::types::Endpoint {
   73         -
            address: self.address.ok_or_else(|| {
   74         -
                ::aws_smithy_types::error::operation::BuildError::missing_field(
   75         -
                    "address",
   76         -
                    "address was not specified but it is required when building Endpoint",
   77         -
                )
   78         -
            })?,
   79         -
            cache_period_in_minutes: self.cache_period_in_minutes.unwrap_or_default(),
   80         -
        })
         114  +
        /* BuilderGenerator.kt:254 */
         115  +
        ::std::result::Result::Ok(
         116  +
            /* BuilderGenerator.kt:477 */crate::types::Endpoint {
         117  +
                /* BuilderGenerator.kt:481 */address: self.address
         118  +
                    /* BuilderGenerator.kt:494 */.ok_or_else(||
         119  +
                        /* BuilderGenerator.kt:117 */::aws_smithy_types::error::operation::BuildError::missing_field("address", "address was not specified but it is required when building Endpoint")
         120  +
                    /* BuilderGenerator.kt:494 */)?
         121  +
                ,
         122  +
                /* BuilderGenerator.kt:481 */cache_period_in_minutes: self.cache_period_in_minutes
         123  +
                    /* BuilderGenerator.kt:487 */.unwrap_or_default()
         124  +
                ,
         125  +
            /* BuilderGenerator.kt:477 */}
         126  +
        /* BuilderGenerator.kt:254 */)
         127  +
        /* BuilderGenerator.kt:253 */
   81    128   
    }
         129  +
    /* BuilderGenerator.kt:355 */
   82    130   
}

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

@@ -1,1 +506,586 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents a condition to be compared with an attribute value. This condition can be used with <code>DeleteItem</code>, <code>PutItem</code>, or <code>UpdateItem</code> operations; if the comparison evaluates to true, the operation succeeds; if not, the operation fails. You can use <code>ExpectedAttributeValue</code> in one of two different ways:</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents a condition to be compared with an attribute value. This condition can be used with <code>DeleteItem</code>, <code>PutItem</code>, or <code>UpdateItem</code> operations; if the comparison evaluates to true, the operation succeeds; if not, the operation fails. You can use <code>ExpectedAttributeValue</code> in one of two different ways:</p>
    4      4   
/// <ul>
    5      5   
/// <li>
    6      6   
/// <p>Use <code>AttributeValueList</code> to specify one or more values to compare against an attribute. Use <code>ComparisonOperator</code> to specify how you want to perform the comparison. If the comparison evaluates to true, then the conditional operation succeeds.</p></li>
    7      7   
/// <li>
    8      8   
/// <p>Use <code>Value</code> to specify a value that DynamoDB will compare against an attribute. If the values match, then <code>ExpectedAttributeValue</code> evaluates to true and the conditional operation succeeds. Optionally, you can also set <code>Exists</code> to false, indicating that you <i>do not</i> expect to find the attribute value in the table. In this case, the conditional operation succeeds only if the comparison evaluates to false.</p></li>
    9      9   
/// </ul>
   10     10   
/// <p><code>Value</code> and <code>Exists</code> are incompatible with <code>AttributeValueList</code> and <code>ComparisonOperator</code>. Note that if you use both sets of parameters at once, DynamoDB will return a <code>ValidationException</code> exception.</p>
          11  +
/* RustType.kt:516 */
   11     12   
#[non_exhaustive]
          13  +
/* RustType.kt:516 */
   12     14   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
   13         -
pub struct ExpectedAttributeValue {
   14         -
    /// <p>Represents the data for the expected attribute.</p>
          15  +
pub /* StructureGenerator.kt:201 */ struct ExpectedAttributeValue {
          16  +
    /// /* StructureGenerator.kt:231 */<p>Represents the data for the expected attribute.</p>
   15     17   
    /// <p>Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.</p>
   16     18   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes">Data Types</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   17     19   
    pub value: ::std::option::Option<crate::types::AttributeValue>,
   18         -
    /// <p>Causes DynamoDB to evaluate the value before attempting a conditional operation:</p>
          20  +
    /// /* StructureGenerator.kt:231 */<p>Causes DynamoDB to evaluate the value before attempting a conditional operation:</p>
   19     21   
    /// <ul>
   20     22   
    /// <li>
   21     23   
    /// <p>If <code>Exists</code> is <code>true</code>, DynamoDB will check to see if that attribute value already exists in the table. If it is found, then the operation succeeds. If it is not found, the operation fails with a <code>ConditionCheckFailedException</code>.</p></li>
   22     24   
    /// <li>
   23     25   
    /// <p>If <code>Exists</code> is <code>false</code>, DynamoDB assumes that the attribute value does not exist in the table. If in fact the value does not exist, then the assumption is valid and the operation succeeds. If the value is found, despite the assumption that it does not exist, the operation fails with a <code>ConditionCheckFailedException</code>.</p></li>
   24     26   
    /// </ul>
   25     27   
    /// <p>The default setting for <code>Exists</code> is <code>true</code>. If you supply a <code>Value</code> all by itself, DynamoDB assumes the attribute exists: You don't have to set <code>Exists</code> to <code>true</code>, because it is implied.</p>
   26     28   
    /// <p>DynamoDB returns a <code>ValidationException</code> if:</p>
   27     29   
    /// <ul>
   28     30   
    /// <li>
   29     31   
    /// <p><code>Exists</code> is <code>true</code> but there is no <code>Value</code> to check. (You expect a value to exist, but don't specify what that value is.)</p></li>
   30     32   
    /// <li>
   31     33   
    /// <p><code>Exists</code> is <code>false</code> but you also provide a <code>Value</code>. (You cannot expect an attribute to have a value, while also expecting it not to exist.)</p></li>
   32     34   
    /// </ul>
   33     35   
    pub exists: ::std::option::Option<bool>,
   34         -
    /// <p>A comparator for evaluating attributes in the <code>AttributeValueList</code>. For example, equals, greater than, less than, etc.</p>
          36  +
    /// /* StructureGenerator.kt:231 */<p>A comparator for evaluating attributes in the <code>AttributeValueList</code>. For example, equals, greater than, less than, etc.</p>
   35     37   
    /// <p>The following comparison operators are available:</p>
   36     38   
    /// <p><code>EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN</code></p>
   37     39   
    /// <p>The following are descriptions of each comparison operator.</p>
   38     40   
    /// <ul>
   39     41   
    /// <li>
   40     42   
    /// <p><code>EQ</code> : Equal. <code>EQ</code> is supported for all data types, including lists and maps.</p>
   41     43   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
   42     44   
    /// <p></p></li>
   43     45   
    /// <li>
   44     46   
    /// <p><code>NE</code> : Not equal. <code>NE</code> is supported for all data types, including lists and maps.</p>
   45     47   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
   46     48   
    /// <p></p></li>
   47     49   
    /// <li>
   48     50   
    /// <p><code>LE</code> : Less than or equal.</p>
   49     51   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
   50     52   
    /// <p></p></li>
   51     53   
    /// <li>
   52     54   
    /// <p><code>LT</code> : Less than.</p>
   53     55   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
   54     56   
    /// <p></p></li>
   55     57   
    /// <li>
   56     58   
    /// <p><code>GE</code> : Greater than or equal.</p>
   57     59   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
   58     60   
    /// <p></p></li>
   59     61   
    /// <li>
   60     62   
    /// <p><code>GT</code> : Greater than.</p>
   61     63   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
   62     64   
    /// <p></p></li>
   63     65   
    /// <li>
   64     66   
    /// <p><code>NOT_NULL</code> : The attribute exists. <code>NOT_NULL</code> is supported for all data types, including lists and maps.</p><note>
   65     67   
    /// <p>This operator tests for the existence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NOT_NULL</code>, the result is a Boolean <code>true</code>. This result is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NOT_NULL</code> comparison operator.</p>
   66     68   
    /// </note></li>
   67     69   
    /// <li>
   68     70   
    /// <p><code>NULL</code> : The attribute does not exist. <code>NULL</code> is supported for all data types, including lists and maps.</p><note>
   69     71   
    /// <p>This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NULL</code>, the result is a Boolean <code>false</code>. This is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NULL</code> comparison operator.</p>
   70     72   
    /// </note></li>
   71     73   
    /// <li>
   72     74   
    /// <p><code>CONTAINS</code> : Checks for a subsequence, or value in a set.</p>
   73     75   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it finds an exact match with any member of the set.</p>
   74     76   
    /// <p>CONTAINS is supported for lists: When evaluating "<code>a CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
   75     77   
    /// <li>
   76     78   
    /// <p><code>NOT_CONTAINS</code> : Checks for absence of a subsequence, or absence of a value in a set.</p>
   77     79   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it <i>does not</i> find an exact match with any member of the set.</p>
   78     80   
    /// <p>NOT_CONTAINS is supported for lists: When evaluating "<code>a NOT CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
   79     81   
    /// <li>
   80     82   
    /// <p><code>BEGINS_WITH</code> : Checks for a prefix.</p>
   81     83   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).</p>
   82     84   
    /// <p></p></li>
   83     85   
    /// <li>
   84     86   
    /// <p><code>IN</code> : Checks for matching elements in a list.</p>
   85     87   
    /// <p><code>AttributeValueList</code> can contain one or more <code>AttributeValue</code> elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.</p></li>
   86     88   
    /// <li>
   87     89   
    /// <p><code>BETWEEN</code> : Greater than or equal to the first value, and less than or equal to the second value.</p>
   88     90   
    /// <p><code>AttributeValueList</code> must contain two <code>AttributeValue</code> elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not compare to <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code></p></li>
   89     91   
    /// </ul>
   90     92   
    pub comparison_operator: ::std::option::Option<crate::types::ComparisonOperator>,
   91         -
    /// <p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
          93  +
    /// /* StructureGenerator.kt:231 */<p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
   92     94   
    /// <p>For type Number, value comparisons are numeric.</p>
   93     95   
    /// <p>String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, <code>a</code> is greater than <code>A</code>, and <code>a</code> is greater than <code>B</code>. For a list of code values, see <a href="http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters">http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters</a>.</p>
   94     96   
    /// <p>For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.</p>
   95     97   
    /// <p>For information on specifying data types in JSON, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html">JSON Data Format</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   96     98   
    pub attribute_value_list: ::std::option::Option<::std::vec::Vec<crate::types::AttributeValue>>,
          99  +
    /* StructureGenerator.kt:201 */
   97    100   
}
         101  +
/* StructureGenerator.kt:135 */
   98    102   
impl ExpectedAttributeValue {
   99         -
    /// <p>Represents the data for the expected attribute.</p>
         103  +
    /// /* StructureGenerator.kt:231 */<p>Represents the data for the expected attribute.</p>
  100    104   
    /// <p>Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.</p>
  101    105   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes">Data Types</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         106  +
    /* StructureGenerator.kt:166 */
  102    107   
    pub fn value(&self) -> ::std::option::Option<&crate::types::AttributeValue> {
         108  +
        /* StructureGenerator.kt:170 */
  103    109   
        self.value.as_ref()
         110  +
        /* StructureGenerator.kt:166 */
  104    111   
    }
  105         -
    /// <p>Causes DynamoDB to evaluate the value before attempting a conditional operation:</p>
         112  +
    /// /* StructureGenerator.kt:231 */<p>Causes DynamoDB to evaluate the value before attempting a conditional operation:</p>
  106    113   
    /// <ul>
  107    114   
    /// <li>
  108    115   
    /// <p>If <code>Exists</code> is <code>true</code>, DynamoDB will check to see if that attribute value already exists in the table. If it is found, then the operation succeeds. If it is not found, the operation fails with a <code>ConditionCheckFailedException</code>.</p></li>
  109    116   
    /// <li>
  110    117   
    /// <p>If <code>Exists</code> is <code>false</code>, DynamoDB assumes that the attribute value does not exist in the table. If in fact the value does not exist, then the assumption is valid and the operation succeeds. If the value is found, despite the assumption that it does not exist, the operation fails with a <code>ConditionCheckFailedException</code>.</p></li>
  111    118   
    /// </ul>
  112    119   
    /// <p>The default setting for <code>Exists</code> is <code>true</code>. If you supply a <code>Value</code> all by itself, DynamoDB assumes the attribute exists: You don't have to set <code>Exists</code> to <code>true</code>, because it is implied.</p>
  113    120   
    /// <p>DynamoDB returns a <code>ValidationException</code> if:</p>
  114    121   
    /// <ul>
  115    122   
    /// <li>
  116    123   
    /// <p><code>Exists</code> is <code>true</code> but there is no <code>Value</code> to check. (You expect a value to exist, but don't specify what that value is.)</p></li>
  117    124   
    /// <li>
  118    125   
    /// <p><code>Exists</code> is <code>false</code> but you also provide a <code>Value</code>. (You cannot expect an attribute to have a value, while also expecting it not to exist.)</p></li>
  119    126   
    /// </ul>
         127  +
    /* StructureGenerator.kt:166 */
  120    128   
    pub fn exists(&self) -> ::std::option::Option<bool> {
         129  +
        /* StructureGenerator.kt:168 */
  121    130   
        self.exists
         131  +
        /* StructureGenerator.kt:166 */
  122    132   
    }
  123         -
    /// <p>A comparator for evaluating attributes in the <code>AttributeValueList</code>. For example, equals, greater than, less than, etc.</p>
         133  +
    /// /* StructureGenerator.kt:231 */<p>A comparator for evaluating attributes in the <code>AttributeValueList</code>. For example, equals, greater than, less than, etc.</p>
  124    134   
    /// <p>The following comparison operators are available:</p>
  125    135   
    /// <p><code>EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN</code></p>
  126    136   
    /// <p>The following are descriptions of each comparison operator.</p>
  127    137   
    /// <ul>
  128    138   
    /// <li>
  129    139   
    /// <p><code>EQ</code> : Equal. <code>EQ</code> is supported for all data types, including lists and maps.</p>
  130    140   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  131    141   
    /// <p></p></li>
  132    142   
    /// <li>
  133    143   
    /// <p><code>NE</code> : Not equal. <code>NE</code> is supported for all data types, including lists and maps.</p>
  134    144   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  135    145   
    /// <p></p></li>
  136    146   
    /// <li>
  137    147   
    /// <p><code>LE</code> : Less than or equal.</p>
  138    148   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  139    149   
    /// <p></p></li>
  140    150   
    /// <li>
  141    151   
    /// <p><code>LT</code> : Less than.</p>
  142    152   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  143    153   
    /// <p></p></li>
  144    154   
    /// <li>
  145    155   
    /// <p><code>GE</code> : Greater than or equal.</p>
  146    156   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  147    157   
    /// <p></p></li>
  148    158   
    /// <li>
  149    159   
    /// <p><code>GT</code> : Greater than.</p>
  150    160   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  151    161   
    /// <p></p></li>
  152    162   
    /// <li>
  153    163   
    /// <p><code>NOT_NULL</code> : The attribute exists. <code>NOT_NULL</code> is supported for all data types, including lists and maps.</p><note>
  154    164   
    /// <p>This operator tests for the existence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NOT_NULL</code>, the result is a Boolean <code>true</code>. This result is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NOT_NULL</code> comparison operator.</p>
  155    165   
    /// </note></li>
  156    166   
    /// <li>
  157    167   
    /// <p><code>NULL</code> : The attribute does not exist. <code>NULL</code> is supported for all data types, including lists and maps.</p><note>
  158    168   
    /// <p>This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NULL</code>, the result is a Boolean <code>false</code>. This is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NULL</code> comparison operator.</p>
  159    169   
    /// </note></li>
  160    170   
    /// <li>
  161    171   
    /// <p><code>CONTAINS</code> : Checks for a subsequence, or value in a set.</p>
  162    172   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it finds an exact match with any member of the set.</p>
  163    173   
    /// <p>CONTAINS is supported for lists: When evaluating "<code>a CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
  164    174   
    /// <li>
  165    175   
    /// <p><code>NOT_CONTAINS</code> : Checks for absence of a subsequence, or absence of a value in a set.</p>
  166    176   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it <i>does not</i> find an exact match with any member of the set.</p>
  167    177   
    /// <p>NOT_CONTAINS is supported for lists: When evaluating "<code>a NOT CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
  168    178   
    /// <li>
  169    179   
    /// <p><code>BEGINS_WITH</code> : Checks for a prefix.</p>
  170    180   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).</p>
  171    181   
    /// <p></p></li>
  172    182   
    /// <li>
  173    183   
    /// <p><code>IN</code> : Checks for matching elements in a list.</p>
  174    184   
    /// <p><code>AttributeValueList</code> can contain one or more <code>AttributeValue</code> elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.</p></li>
  175    185   
    /// <li>
  176    186   
    /// <p><code>BETWEEN</code> : Greater than or equal to the first value, and less than or equal to the second value.</p>
  177    187   
    /// <p><code>AttributeValueList</code> must contain two <code>AttributeValue</code> elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not compare to <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code></p></li>
  178    188   
    /// </ul>
         189  +
    /* StructureGenerator.kt:166 */
  179    190   
    pub fn comparison_operator(&self) -> ::std::option::Option<&crate::types::ComparisonOperator> {
         191  +
        /* StructureGenerator.kt:170 */
  180    192   
        self.comparison_operator.as_ref()
         193  +
        /* StructureGenerator.kt:166 */
  181    194   
    }
  182         -
    /// <p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
         195  +
    /// /* StructureGenerator.kt:231 */<p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
  183    196   
    /// <p>For type Number, value comparisons are numeric.</p>
  184    197   
    /// <p>String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, <code>a</code> is greater than <code>A</code>, and <code>a</code> is greater than <code>B</code>. For a list of code values, see <a href="http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters">http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters</a>.</p>
  185    198   
    /// <p>For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.</p>
  186    199   
    /// <p>For information on specifying data types in JSON, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html">JSON Data Format</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
  187         -
    ///
  188         -
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.attribute_value_list.is_none()`.
         200  +
    /// /* StructureGenerator.kt:162 */
         201  +
    /// /* StructureGenerator.kt:163 */If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.attribute_value_list.is_none()`.
         202  +
    /* StructureGenerator.kt:166 */
  189    203   
    pub fn attribute_value_list(&self) -> &[crate::types::AttributeValue] {
  190         -
        self.attribute_value_list.as_deref().unwrap_or_default()
         204  +
        /* StructureGenerator.kt:169 */
         205  +
        self.attribute_value_list
         206  +
            .as_deref()
         207  +
            /* StructureGenerator.kt:175 */
         208  +
            .unwrap_or_default()
         209  +
        /* StructureGenerator.kt:166 */
  191    210   
    }
         211  +
    /* StructureGenerator.kt:135 */
  192    212   
}
         213  +
/* ClientCodegenVisitor.kt:237 */
  193    214   
impl ExpectedAttributeValue {
  194         -
    /// Creates a new builder-style object to manufacture [`ExpectedAttributeValue`](crate::types::ExpectedAttributeValue).
         215  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`ExpectedAttributeValue`](crate::types::ExpectedAttributeValue).
         216  +
    /* BuilderGenerator.kt:175 */
  195    217   
    pub fn builder() -> crate::types::builders::ExpectedAttributeValueBuilder {
         218  +
        /* BuilderGenerator.kt:176 */
  196    219   
        crate::types::builders::ExpectedAttributeValueBuilder::default()
         220  +
        /* BuilderGenerator.kt:175 */
  197    221   
    }
         222  +
    /* ClientCodegenVisitor.kt:237 */
  198    223   
}
  199    224   
  200         -
/// A builder for [`ExpectedAttributeValue`](crate::types::ExpectedAttributeValue).
         225  +
/// /* BuilderGenerator.kt:342 */A builder for [`ExpectedAttributeValue`](crate::types::ExpectedAttributeValue).
         226  +
/* RustType.kt:516 */
  201    227   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         228  +
/* RustType.kt:516 */
  202    229   
#[non_exhaustive]
         230  +
/* BuilderGenerator.kt:345 */
  203    231   
pub struct ExpectedAttributeValueBuilder {
  204         -
    pub(crate) value: ::std::option::Option<crate::types::AttributeValue>,
  205         -
    pub(crate) exists: ::std::option::Option<bool>,
  206         -
    pub(crate) comparison_operator: ::std::option::Option<crate::types::ComparisonOperator>,
         232  +
    /* BuilderGenerator.kt:275 */ pub(crate) value: ::std::option::Option<crate::types::AttributeValue>,
         233  +
    /* BuilderGenerator.kt:275 */ pub(crate) exists: ::std::option::Option<bool>,
         234  +
    /* BuilderGenerator.kt:275 */ pub(crate) comparison_operator: ::std::option::Option<crate::types::ComparisonOperator>,
         235  +
    /* BuilderGenerator.kt:275 */
  207    236   
    pub(crate) attribute_value_list: ::std::option::Option<::std::vec::Vec<crate::types::AttributeValue>>,
         237  +
    /* BuilderGenerator.kt:345 */
  208    238   
}
         239  +
/* BuilderGenerator.kt:355 */
  209    240   
impl ExpectedAttributeValueBuilder {
  210         -
    /// <p>Represents the data for the expected attribute.</p>
         241  +
    /// /* BuilderGenerator.kt:286 */<p>Represents the data for the expected attribute.</p>
  211    242   
    /// <p>Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.</p>
  212    243   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes">Data Types</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         244  +
    /* BuilderGenerator.kt:291 */
  213    245   
    pub fn value(mut self, input: crate::types::AttributeValue) -> Self {
         246  +
        /* BuilderGenerator.kt:292 */
  214    247   
        self.value = ::std::option::Option::Some(input);
         248  +
        /* BuilderGenerator.kt:293 */
  215    249   
        self
         250  +
        /* BuilderGenerator.kt:291 */
  216    251   
    }
  217         -
    /// <p>Represents the data for the expected attribute.</p>
         252  +
    /// /* BuilderGenerator.kt:312 */<p>Represents the data for the expected attribute.</p>
  218    253   
    /// <p>Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.</p>
  219    254   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes">Data Types</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         255  +
    /* BuilderGenerator.kt:314 */
  220    256   
    pub fn set_value(mut self, input: ::std::option::Option<crate::types::AttributeValue>) -> Self {
         257  +
        /* BuilderGenerator.kt:315 */
  221    258   
        self.value = input;
  222    259   
        self
         260  +
        /* BuilderGenerator.kt:314 */
  223    261   
    }
  224         -
    /// <p>Represents the data for the expected attribute.</p>
         262  +
    /// /* BuilderGenerator.kt:334 */<p>Represents the data for the expected attribute.</p>
  225    263   
    /// <p>Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.</p>
  226    264   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes">Data Types</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         265  +
    /* BuilderGenerator.kt:336 */
  227    266   
    pub fn get_value(&self) -> &::std::option::Option<crate::types::AttributeValue> {
         267  +
        /* BuilderGenerator.kt:337 */
  228    268   
        &self.value
         269  +
        /* BuilderGenerator.kt:336 */
  229    270   
    }
  230         -
    /// <p>Causes DynamoDB to evaluate the value before attempting a conditional operation:</p>
         271  +
    /// /* BuilderGenerator.kt:286 */<p>Causes DynamoDB to evaluate the value before attempting a conditional operation:</p>
  231    272   
    /// <ul>
  232    273   
    /// <li>
  233    274   
    /// <p>If <code>Exists</code> is <code>true</code>, DynamoDB will check to see if that attribute value already exists in the table. If it is found, then the operation succeeds. If it is not found, the operation fails with a <code>ConditionCheckFailedException</code>.</p></li>
  234    275   
    /// <li>
  235    276   
    /// <p>If <code>Exists</code> is <code>false</code>, DynamoDB assumes that the attribute value does not exist in the table. If in fact the value does not exist, then the assumption is valid and the operation succeeds. If the value is found, despite the assumption that it does not exist, the operation fails with a <code>ConditionCheckFailedException</code>.</p></li>
  236    277   
    /// </ul>
  237    278   
    /// <p>The default setting for <code>Exists</code> is <code>true</code>. If you supply a <code>Value</code> all by itself, DynamoDB assumes the attribute exists: You don't have to set <code>Exists</code> to <code>true</code>, because it is implied.</p>
  238    279   
    /// <p>DynamoDB returns a <code>ValidationException</code> if:</p>
  239    280   
    /// <ul>
  240    281   
    /// <li>
  241    282   
    /// <p><code>Exists</code> is <code>true</code> but there is no <code>Value</code> to check. (You expect a value to exist, but don't specify what that value is.)</p></li>
  242    283   
    /// <li>
  243    284   
    /// <p><code>Exists</code> is <code>false</code> but you also provide a <code>Value</code>. (You cannot expect an attribute to have a value, while also expecting it not to exist.)</p></li>
  244    285   
    /// </ul>
         286  +
    /* BuilderGenerator.kt:291 */
  245    287   
    pub fn exists(mut self, input: bool) -> Self {
         288  +
        /* BuilderGenerator.kt:292 */
  246    289   
        self.exists = ::std::option::Option::Some(input);
         290  +
        /* BuilderGenerator.kt:293 */
  247    291   
        self
         292  +
        /* BuilderGenerator.kt:291 */
  248    293   
    }
  249         -
    /// <p>Causes DynamoDB to evaluate the value before attempting a conditional operation:</p>
         294  +
    /// /* BuilderGenerator.kt:312 */<p>Causes DynamoDB to evaluate the value before attempting a conditional operation:</p>
  250    295   
    /// <ul>
  251    296   
    /// <li>
  252    297   
    /// <p>If <code>Exists</code> is <code>true</code>, DynamoDB will check to see if that attribute value already exists in the table. If it is found, then the operation succeeds. If it is not found, the operation fails with a <code>ConditionCheckFailedException</code>.</p></li>
  253    298   
    /// <li>
  254    299   
    /// <p>If <code>Exists</code> is <code>false</code>, DynamoDB assumes that the attribute value does not exist in the table. If in fact the value does not exist, then the assumption is valid and the operation succeeds. If the value is found, despite the assumption that it does not exist, the operation fails with a <code>ConditionCheckFailedException</code>.</p></li>
  255    300   
    /// </ul>
  256    301   
    /// <p>The default setting for <code>Exists</code> is <code>true</code>. If you supply a <code>Value</code> all by itself, DynamoDB assumes the attribute exists: You don't have to set <code>Exists</code> to <code>true</code>, because it is implied.</p>
  257    302   
    /// <p>DynamoDB returns a <code>ValidationException</code> if:</p>
  258    303   
    /// <ul>
  259    304   
    /// <li>
  260    305   
    /// <p><code>Exists</code> is <code>true</code> but there is no <code>Value</code> to check. (You expect a value to exist, but don't specify what that value is.)</p></li>
  261    306   
    /// <li>
  262    307   
    /// <p><code>Exists</code> is <code>false</code> but you also provide a <code>Value</code>. (You cannot expect an attribute to have a value, while also expecting it not to exist.)</p></li>
  263    308   
    /// </ul>
         309  +
    /* BuilderGenerator.kt:314 */
  264    310   
    pub fn set_exists(mut self, input: ::std::option::Option<bool>) -> Self {
         311  +
        /* BuilderGenerator.kt:315 */
  265    312   
        self.exists = input;
  266    313   
        self
         314  +
        /* BuilderGenerator.kt:314 */
  267    315   
    }
  268         -
    /// <p>Causes DynamoDB to evaluate the value before attempting a conditional operation:</p>
         316  +
    /// /* BuilderGenerator.kt:334 */<p>Causes DynamoDB to evaluate the value before attempting a conditional operation:</p>
  269    317   
    /// <ul>
  270    318   
    /// <li>
  271    319   
    /// <p>If <code>Exists</code> is <code>true</code>, DynamoDB will check to see if that attribute value already exists in the table. If it is found, then the operation succeeds. If it is not found, the operation fails with a <code>ConditionCheckFailedException</code>.</p></li>
  272    320   
    /// <li>
  273    321   
    /// <p>If <code>Exists</code> is <code>false</code>, DynamoDB assumes that the attribute value does not exist in the table. If in fact the value does not exist, then the assumption is valid and the operation succeeds. If the value is found, despite the assumption that it does not exist, the operation fails with a <code>ConditionCheckFailedException</code>.</p></li>
  274    322   
    /// </ul>
  275    323   
    /// <p>The default setting for <code>Exists</code> is <code>true</code>. If you supply a <code>Value</code> all by itself, DynamoDB assumes the attribute exists: You don't have to set <code>Exists</code> to <code>true</code>, because it is implied.</p>
  276    324   
    /// <p>DynamoDB returns a <code>ValidationException</code> if:</p>
  277    325   
    /// <ul>
  278    326   
    /// <li>
  279    327   
    /// <p><code>Exists</code> is <code>true</code> but there is no <code>Value</code> to check. (You expect a value to exist, but don't specify what that value is.)</p></li>
  280    328   
    /// <li>
  281    329   
    /// <p><code>Exists</code> is <code>false</code> but you also provide a <code>Value</code>. (You cannot expect an attribute to have a value, while also expecting it not to exist.)</p></li>
  282    330   
    /// </ul>
         331  +
    /* BuilderGenerator.kt:336 */
  283    332   
    pub fn get_exists(&self) -> &::std::option::Option<bool> {
         333  +
        /* BuilderGenerator.kt:337 */
  284    334   
        &self.exists
         335  +
        /* BuilderGenerator.kt:336 */
  285    336   
    }
  286         -
    /// <p>A comparator for evaluating attributes in the <code>AttributeValueList</code>. For example, equals, greater than, less than, etc.</p>
         337  +
    /// /* BuilderGenerator.kt:286 */<p>A comparator for evaluating attributes in the <code>AttributeValueList</code>. For example, equals, greater than, less than, etc.</p>
  287    338   
    /// <p>The following comparison operators are available:</p>
  288    339   
    /// <p><code>EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN</code></p>
  289    340   
    /// <p>The following are descriptions of each comparison operator.</p>
  290    341   
    /// <ul>
  291    342   
    /// <li>
  292    343   
    /// <p><code>EQ</code> : Equal. <code>EQ</code> is supported for all data types, including lists and maps.</p>
  293    344   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  294    345   
    /// <p></p></li>
  295    346   
    /// <li>
  296    347   
    /// <p><code>NE</code> : Not equal. <code>NE</code> is supported for all data types, including lists and maps.</p>
  297    348   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  298    349   
    /// <p></p></li>
  299    350   
    /// <li>
  300    351   
    /// <p><code>LE</code> : Less than or equal.</p>
  301    352   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  302    353   
    /// <p></p></li>
  303    354   
    /// <li>
  304    355   
    /// <p><code>LT</code> : Less than.</p>
  305    356   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  306    357   
    /// <p></p></li>
  307    358   
    /// <li>
  308    359   
    /// <p><code>GE</code> : Greater than or equal.</p>
  309    360   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  310    361   
    /// <p></p></li>
  311    362   
    /// <li>
  312    363   
    /// <p><code>GT</code> : Greater than.</p>
  313    364   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  314    365   
    /// <p></p></li>
  315    366   
    /// <li>
  316    367   
    /// <p><code>NOT_NULL</code> : The attribute exists. <code>NOT_NULL</code> is supported for all data types, including lists and maps.</p><note>
  317    368   
    /// <p>This operator tests for the existence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NOT_NULL</code>, the result is a Boolean <code>true</code>. This result is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NOT_NULL</code> comparison operator.</p>
  318    369   
    /// </note></li>
  319    370   
    /// <li>
  320    371   
    /// <p><code>NULL</code> : The attribute does not exist. <code>NULL</code> is supported for all data types, including lists and maps.</p><note>
  321    372   
    /// <p>This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NULL</code>, the result is a Boolean <code>false</code>. This is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NULL</code> comparison operator.</p>
  322    373   
    /// </note></li>
  323    374   
    /// <li>
  324    375   
    /// <p><code>CONTAINS</code> : Checks for a subsequence, or value in a set.</p>
  325    376   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it finds an exact match with any member of the set.</p>
  326    377   
    /// <p>CONTAINS is supported for lists: When evaluating "<code>a CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
  327    378   
    /// <li>
  328    379   
    /// <p><code>NOT_CONTAINS</code> : Checks for absence of a subsequence, or absence of a value in a set.</p>
  329    380   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it <i>does not</i> find an exact match with any member of the set.</p>
  330    381   
    /// <p>NOT_CONTAINS is supported for lists: When evaluating "<code>a NOT CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
  331    382   
    /// <li>
  332    383   
    /// <p><code>BEGINS_WITH</code> : Checks for a prefix.</p>
  333    384   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).</p>
  334    385   
    /// <p></p></li>
  335    386   
    /// <li>
  336    387   
    /// <p><code>IN</code> : Checks for matching elements in a list.</p>
  337    388   
    /// <p><code>AttributeValueList</code> can contain one or more <code>AttributeValue</code> elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.</p></li>
  338    389   
    /// <li>
  339    390   
    /// <p><code>BETWEEN</code> : Greater than or equal to the first value, and less than or equal to the second value.</p>
  340    391   
    /// <p><code>AttributeValueList</code> must contain two <code>AttributeValue</code> elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not compare to <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code></p></li>
  341    392   
    /// </ul>
         393  +
    /* BuilderGenerator.kt:291 */
  342    394   
    pub fn comparison_operator(mut self, input: crate::types::ComparisonOperator) -> Self {
         395  +
        /* BuilderGenerator.kt:292 */
  343    396   
        self.comparison_operator = ::std::option::Option::Some(input);
         397  +
        /* BuilderGenerator.kt:293 */
  344    398   
        self
         399  +
        /* BuilderGenerator.kt:291 */
  345    400   
    }
  346         -
    /// <p>A comparator for evaluating attributes in the <code>AttributeValueList</code>. For example, equals, greater than, less than, etc.</p>
         401  +
    /// /* BuilderGenerator.kt:312 */<p>A comparator for evaluating attributes in the <code>AttributeValueList</code>. For example, equals, greater than, less than, etc.</p>
  347    402   
    /// <p>The following comparison operators are available:</p>
  348    403   
    /// <p><code>EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN</code></p>
  349    404   
    /// <p>The following are descriptions of each comparison operator.</p>
  350    405   
    /// <ul>
  351    406   
    /// <li>
  352    407   
    /// <p><code>EQ</code> : Equal. <code>EQ</code> is supported for all data types, including lists and maps.</p>
  353    408   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  354    409   
    /// <p></p></li>
  355    410   
    /// <li>
  356    411   
    /// <p><code>NE</code> : Not equal. <code>NE</code> is supported for all data types, including lists and maps.</p>
  357    412   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  358    413   
    /// <p></p></li>
  359    414   
    /// <li>
  360    415   
    /// <p><code>LE</code> : Less than or equal.</p>
  361    416   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  362    417   
    /// <p></p></li>
  363    418   
    /// <li>
  364    419   
    /// <p><code>LT</code> : Less than.</p>
  365    420   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  366    421   
    /// <p></p></li>
  367    422   
    /// <li>
  368    423   
    /// <p><code>GE</code> : Greater than or equal.</p>
  369    424   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  370    425   
    /// <p></p></li>
  371    426   
    /// <li>
  372    427   
    /// <p><code>GT</code> : Greater than.</p>
  373    428   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  374    429   
    /// <p></p></li>
  375    430   
    /// <li>
  376    431   
    /// <p><code>NOT_NULL</code> : The attribute exists. <code>NOT_NULL</code> is supported for all data types, including lists and maps.</p><note>
  377    432   
    /// <p>This operator tests for the existence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NOT_NULL</code>, the result is a Boolean <code>true</code>. This result is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NOT_NULL</code> comparison operator.</p>
  378    433   
    /// </note></li>
  379    434   
    /// <li>
  380    435   
    /// <p><code>NULL</code> : The attribute does not exist. <code>NULL</code> is supported for all data types, including lists and maps.</p><note>
  381    436   
    /// <p>This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NULL</code>, the result is a Boolean <code>false</code>. This is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NULL</code> comparison operator.</p>
  382    437   
    /// </note></li>
  383    438   
    /// <li>
  384    439   
    /// <p><code>CONTAINS</code> : Checks for a subsequence, or value in a set.</p>
  385    440   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it finds an exact match with any member of the set.</p>
  386    441   
    /// <p>CONTAINS is supported for lists: When evaluating "<code>a CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
  387    442   
    /// <li>
  388    443   
    /// <p><code>NOT_CONTAINS</code> : Checks for absence of a subsequence, or absence of a value in a set.</p>
  389    444   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it <i>does not</i> find an exact match with any member of the set.</p>
  390    445   
    /// <p>NOT_CONTAINS is supported for lists: When evaluating "<code>a NOT CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
  391    446   
    /// <li>
  392    447   
    /// <p><code>BEGINS_WITH</code> : Checks for a prefix.</p>
  393    448   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).</p>
  394    449   
    /// <p></p></li>
  395    450   
    /// <li>
  396    451   
    /// <p><code>IN</code> : Checks for matching elements in a list.</p>
  397    452   
    /// <p><code>AttributeValueList</code> can contain one or more <code>AttributeValue</code> elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.</p></li>
  398    453   
    /// <li>
  399    454   
    /// <p><code>BETWEEN</code> : Greater than or equal to the first value, and less than or equal to the second value.</p>
  400    455   
    /// <p><code>AttributeValueList</code> must contain two <code>AttributeValue</code> elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not compare to <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code></p></li>
  401    456   
    /// </ul>
         457  +
    /* BuilderGenerator.kt:314 */
  402    458   
    pub fn set_comparison_operator(mut self, input: ::std::option::Option<crate::types::ComparisonOperator>) -> Self {
         459  +
        /* BuilderGenerator.kt:315 */
  403    460   
        self.comparison_operator = input;
  404    461   
        self
         462  +
        /* BuilderGenerator.kt:314 */
  405    463   
    }
  406         -
    /// <p>A comparator for evaluating attributes in the <code>AttributeValueList</code>. For example, equals, greater than, less than, etc.</p>
         464  +
    /// /* BuilderGenerator.kt:334 */<p>A comparator for evaluating attributes in the <code>AttributeValueList</code>. For example, equals, greater than, less than, etc.</p>
  407    465   
    /// <p>The following comparison operators are available:</p>
  408    466   
    /// <p><code>EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN</code></p>
  409    467   
    /// <p>The following are descriptions of each comparison operator.</p>
  410    468   
    /// <ul>
  411    469   
    /// <li>
  412    470   
    /// <p><code>EQ</code> : Equal. <code>EQ</code> is supported for all data types, including lists and maps.</p>
  413    471   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  414    472   
    /// <p></p></li>
  415    473   
    /// <li>
  416    474   
    /// <p><code>NE</code> : Not equal. <code>NE</code> is supported for all data types, including lists and maps.</p>
  417    475   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an <code>AttributeValue</code> of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not equal <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  418    476   
    /// <p></p></li>
  419    477   
    /// <li>
  420    478   
    /// <p><code>LE</code> : Less than or equal.</p>
  421    479   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  422    480   
    /// <p></p></li>
  423    481   
    /// <li>
  424    482   
    /// <p><code>LT</code> : Less than.</p>
  425    483   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  426    484   
    /// <p></p></li>
  427    485   
    /// <li>
  428    486   
    /// <p><code>GE</code> : Greater than or equal.</p>
  429    487   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  430    488   
    /// <p></p></li>
  431    489   
    /// <li>
  432    490   
    /// <p><code>GT</code> : Greater than.</p>
  433    491   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not equal <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code>.</p>
  434    492   
    /// <p></p></li>
  435    493   
    /// <li>
  436    494   
    /// <p><code>NOT_NULL</code> : The attribute exists. <code>NOT_NULL</code> is supported for all data types, including lists and maps.</p><note>
  437    495   
    /// <p>This operator tests for the existence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NOT_NULL</code>, the result is a Boolean <code>true</code>. This result is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NOT_NULL</code> comparison operator.</p>
  438    496   
    /// </note></li>
  439    497   
    /// <li>
  440    498   
    /// <p><code>NULL</code> : The attribute does not exist. <code>NULL</code> is supported for all data types, including lists and maps.</p><note>
  441    499   
    /// <p>This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute "<code>a</code>" is null, and you evaluate it using <code>NULL</code>, the result is a Boolean <code>false</code>. This is because the attribute "<code>a</code>" exists; its data type is not relevant to the <code>NULL</code> comparison operator.</p>
  442    500   
    /// </note></li>
  443    501   
    /// <li>
  444    502   
    /// <p><code>CONTAINS</code> : Checks for a subsequence, or value in a set.</p>
  445    503   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it finds an exact match with any member of the set.</p>
  446    504   
    /// <p>CONTAINS is supported for lists: When evaluating "<code>a CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
  447    505   
    /// <li>
  448    506   
    /// <p><code>NOT_CONTAINS</code> : Checks for absence of a subsequence, or absence of a value in a set.</p>
  449    507   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("<code>SS</code>", "<code>NS</code>", or "<code>BS</code>"), then the operator evaluates to true if it <i>does not</i> find an exact match with any member of the set.</p>
  450    508   
    /// <p>NOT_CONTAINS is supported for lists: When evaluating "<code>a NOT CONTAINS b</code>", "<code>a</code>" can be a list; however, "<code>b</code>" cannot be a set, a map, or a list.</p></li>
  451    509   
    /// <li>
  452    510   
    /// <p><code>BEGINS_WITH</code> : Checks for a prefix.</p>
  453    511   
    /// <p><code>AttributeValueList</code> can contain only one <code>AttributeValue</code> of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).</p>
  454    512   
    /// <p></p></li>
  455    513   
    /// <li>
  456    514   
    /// <p><code>IN</code> : Checks for matching elements in a list.</p>
  457    515   
    /// <p><code>AttributeValueList</code> can contain one or more <code>AttributeValue</code> elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.</p></li>
  458    516   
    /// <li>
  459    517   
    /// <p><code>BETWEEN</code> : Greater than or equal to the first value, and less than or equal to the second value.</p>
  460    518   
    /// <p><code>AttributeValueList</code> must contain two <code>AttributeValue</code> elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an <code>AttributeValue</code> element of a different type than the one provided in the request, the value does not match. For example, <code>{"S":"6"}</code> does not compare to <code>{"N":"6"}</code>. Also, <code>{"N":"6"}</code> does not compare to <code>{"NS":\["6", "2", "1"\]}</code></p></li>
  461    519   
    /// </ul>
         520  +
    /* BuilderGenerator.kt:336 */
  462    521   
    pub fn get_comparison_operator(&self) -> &::std::option::Option<crate::types::ComparisonOperator> {
         522  +
        /* BuilderGenerator.kt:337 */
  463    523   
        &self.comparison_operator
         524  +
        /* BuilderGenerator.kt:336 */
  464    525   
    }
  465         -
    /// Appends an item to `attribute_value_list`.
         526  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `attribute_value_list`.
         527  +
    /* BuilderGenerator.kt:411 */
  466    528   
    ///
  467         -
    /// To override the contents of this collection use [`set_attribute_value_list`](Self::set_attribute_value_list).
         529  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_attribute_value_list`](Self::set_attribute_value_list).
         530  +
    /* BuilderGenerator.kt:413 */
  468    531   
    ///
  469         -
    /// <p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
         532  +
    /// /* BuilderGenerator.kt:414 */<p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
  470    533   
    /// <p>For type Number, value comparisons are numeric.</p>
  471    534   
    /// <p>String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, <code>a</code> is greater than <code>A</code>, and <code>a</code> is greater than <code>B</code>. For a list of code values, see <a href="http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters">http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters</a>.</p>
  472    535   
    /// <p>For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.</p>
  473    536   
    /// <p>For information on specifying data types in JSON, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html">JSON Data Format</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         537  +
    /* BuilderGenerator.kt:418 */
  474    538   
    pub fn attribute_value_list(mut self, input: crate::types::AttributeValue) -> Self {
         539  +
        /* BuilderGenerator.kt:419 */
  475    540   
        let mut v = self.attribute_value_list.unwrap_or_default();
  476    541   
        v.push(input);
  477    542   
        self.attribute_value_list = ::std::option::Option::Some(v);
  478    543   
        self
         544  +
        /* BuilderGenerator.kt:418 */
  479    545   
    }
  480         -
    /// <p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
         546  +
    /// /* BuilderGenerator.kt:312 */<p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
  481    547   
    /// <p>For type Number, value comparisons are numeric.</p>
  482    548   
    /// <p>String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, <code>a</code> is greater than <code>A</code>, and <code>a</code> is greater than <code>B</code>. For a list of code values, see <a href="http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters">http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters</a>.</p>
  483    549   
    /// <p>For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.</p>
  484    550   
    /// <p>For information on specifying data types in JSON, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html">JSON Data Format</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         551  +
    /* BuilderGenerator.kt:314 */
  485    552   
    pub fn set_attribute_value_list(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AttributeValue>>) -> Self {
         553  +
        /* BuilderGenerator.kt:315 */
  486    554   
        self.attribute_value_list = input;
  487    555   
        self
         556  +
        /* BuilderGenerator.kt:314 */
  488    557   
    }
  489         -
    /// <p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
         558  +
    /// /* BuilderGenerator.kt:334 */<p>One or more values to evaluate against the supplied attribute. The number of values in the list depends on the <code>ComparisonOperator</code> being used.</p>
  490    559   
    /// <p>For type Number, value comparisons are numeric.</p>
  491    560   
    /// <p>String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, <code>a</code> is greater than <code>A</code>, and <code>a</code> is greater than <code>B</code>. For a list of code values, see <a href="http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters">http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters</a>.</p>
  492    561   
    /// <p>For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.</p>
  493    562   
    /// <p>For information on specifying data types in JSON, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html">JSON Data Format</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         563  +
    /* BuilderGenerator.kt:336 */
  494    564   
    pub fn get_attribute_value_list(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AttributeValue>> {
         565  +
        /* BuilderGenerator.kt:337 */
  495    566   
        &self.attribute_value_list
         567  +
        /* BuilderGenerator.kt:336 */
  496    568   
    }
  497         -
    /// Consumes the builder and constructs a [`ExpectedAttributeValue`](crate::types::ExpectedAttributeValue).
         569  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`ExpectedAttributeValue`](crate::types::ExpectedAttributeValue).
         570  +
    /* BuilderGenerator.kt:253 */
  498    571   
    pub fn build(self) -> crate::types::ExpectedAttributeValue {
         572  +
        /* BuilderGenerator.kt:477 */
  499    573   
        crate::types::ExpectedAttributeValue {
  500         -
            value: self.value,
         574  +
            /* BuilderGenerator.kt:481 */ value: self.value,
         575  +
            /* BuilderGenerator.kt:481 */
  501    576   
            exists: self.exists,
         577  +
            /* BuilderGenerator.kt:481 */
  502    578   
            comparison_operator: self.comparison_operator,
         579  +
            /* BuilderGenerator.kt:481 */
  503    580   
            attribute_value_list: self.attribute_value_list,
         581  +
            /* BuilderGenerator.kt:477 */
  504    582   
        }
         583  +
        /* BuilderGenerator.kt:253 */
  505    584   
    }
         585  +
    /* BuilderGenerator.kt:355 */
  506    586   
}

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

@@ -1,1 +476,761 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents the properties of the exported table.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents the properties of the exported table.</p>
           4  +
/* RustType.kt:516 */
    4      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    5      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct ExportDescription {
    7         -
    /// <p>The Amazon Resource Name (ARN) of the table export.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct ExportDescription {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The Amazon Resource Name (ARN) of the table export.</p>
    8     10   
    pub export_arn: ::std::option::Option<::std::string::String>,
    9         -
    /// <p>Export can be in one of the following states: IN_PROGRESS, COMPLETED, or FAILED.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>Export can be in one of the following states: IN_PROGRESS, COMPLETED, or FAILED.</p>
   10     12   
    pub export_status: ::std::option::Option<crate::types::ExportStatus>,
   11         -
    /// <p>The time at which the export task began.</p>
          13  +
    /// /* StructureGenerator.kt:231 */<p>The time at which the export task began.</p>
   12     14   
    pub start_time: ::std::option::Option<::aws_smithy_types::DateTime>,
   13         -
    /// <p>The time at which the export task completed.</p>
          15  +
    /// /* StructureGenerator.kt:231 */<p>The time at which the export task completed.</p>
   14     16   
    pub end_time: ::std::option::Option<::aws_smithy_types::DateTime>,
   15         -
    /// <p>The name of the manifest file for the export task.</p>
          17  +
    /// /* StructureGenerator.kt:231 */<p>The name of the manifest file for the export task.</p>
   16     18   
    pub export_manifest: ::std::option::Option<::std::string::String>,
   17         -
    /// <p>The Amazon Resource Name (ARN) of the table that was exported.</p>
          19  +
    /// /* StructureGenerator.kt:231 */<p>The Amazon Resource Name (ARN) of the table that was exported.</p>
   18     20   
    pub table_arn: ::std::option::Option<::std::string::String>,
   19         -
    /// <p>Unique ID of the table that was exported.</p>
          21  +
    /// /* StructureGenerator.kt:231 */<p>Unique ID of the table that was exported.</p>
   20     22   
    pub table_id: ::std::option::Option<::std::string::String>,
   21         -
    /// <p>Point in time from which table data was exported.</p>
          23  +
    /// /* StructureGenerator.kt:231 */<p>Point in time from which table data was exported.</p>
   22     24   
    pub export_time: ::std::option::Option<::aws_smithy_types::DateTime>,
   23         -
    /// <p>The client token that was provided for the export task. A client token makes calls to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
          25  +
    /// /* StructureGenerator.kt:231 */<p>The client token that was provided for the export task. A client token makes calls to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
   24     26   
    pub client_token: ::std::option::Option<::std::string::String>,
   25         -
    /// <p>The name of the Amazon S3 bucket containing the export.</p>
          27  +
    /// /* StructureGenerator.kt:231 */<p>The name of the Amazon S3 bucket containing the export.</p>
   26     28   
    pub s3_bucket: ::std::option::Option<::std::string::String>,
   27         -
    /// <p>The ID of the AWS account that owns the bucket containing the export.</p>
          29  +
    /// /* StructureGenerator.kt:231 */<p>The ID of the AWS account that owns the bucket containing the export.</p>
   28     30   
    pub s3_bucket_owner: ::std::option::Option<::std::string::String>,
   29         -
    /// <p>The Amazon S3 bucket prefix used as the file name and path of the exported snapshot.</p>
          31  +
    /// /* StructureGenerator.kt:231 */<p>The Amazon S3 bucket prefix used as the file name and path of the exported snapshot.</p>
   30     32   
    pub s3_prefix: ::std::option::Option<::std::string::String>,
   31         -
    /// <p>Type of encryption used on the bucket where export data is stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
          33  +
    /// /* StructureGenerator.kt:231 */<p>Type of encryption used on the bucket where export data is stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
   32     34   
    /// <ul>
   33     35   
    /// <li>
   34     36   
    /// <p><code>AES256</code> - server-side encryption with Amazon S3 managed keys</p></li>
   35     37   
    /// <li>
   36     38   
    /// <p><code>KMS</code> - server-side encryption with AWS KMS managed keys</p></li>
   37     39   
    /// </ul>
   38     40   
    pub s3_sse_algorithm: ::std::option::Option<crate::types::S3SseAlgorithm>,
   39         -
    /// <p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data is stored (if applicable).</p>
          41  +
    /// /* StructureGenerator.kt:231 */<p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data is stored (if applicable).</p>
   40     42   
    pub s3_sse_kms_key_id: ::std::option::Option<::std::string::String>,
   41         -
    /// <p>Status code for the result of the failed export.</p>
          43  +
    /// /* StructureGenerator.kt:231 */<p>Status code for the result of the failed export.</p>
   42     44   
    pub failure_code: ::std::option::Option<::std::string::String>,
   43         -
    /// <p>Export failure reason description.</p>
          45  +
    /// /* StructureGenerator.kt:231 */<p>Export failure reason description.</p>
   44     46   
    pub failure_message: ::std::option::Option<::std::string::String>,
   45         -
    /// <p>The format of the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
          47  +
    /// /* StructureGenerator.kt:231 */<p>The format of the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
   46     48   
    pub export_format: ::std::option::Option<crate::types::ExportFormat>,
   47         -
    /// <p>The billable size of the table export.</p>
          49  +
    /// /* StructureGenerator.kt:231 */<p>The billable size of the table export.</p>
   48     50   
    pub billed_size_bytes: ::std::option::Option<i64>,
   49         -
    /// <p>The number of items exported.</p>
          51  +
    /// /* StructureGenerator.kt:231 */<p>The number of items exported.</p>
   50     52   
    pub item_count: ::std::option::Option<i64>,
          53  +
    /* StructureGenerator.kt:201 */
   51     54   
}
          55  +
/* StructureGenerator.kt:135 */
   52     56   
impl ExportDescription {
   53         -
    /// <p>The Amazon Resource Name (ARN) of the table export.</p>
          57  +
    /// /* StructureGenerator.kt:231 */<p>The Amazon Resource Name (ARN) of the table export.</p>
          58  +
    /* StructureGenerator.kt:166 */
   54     59   
    pub fn export_arn(&self) -> ::std::option::Option<&str> {
          60  +
        /* StructureGenerator.kt:169 */
   55     61   
        self.export_arn.as_deref()
          62  +
        /* StructureGenerator.kt:166 */
   56     63   
    }
   57         -
    /// <p>Export can be in one of the following states: IN_PROGRESS, COMPLETED, or FAILED.</p>
          64  +
    /// /* StructureGenerator.kt:231 */<p>Export can be in one of the following states: IN_PROGRESS, COMPLETED, or FAILED.</p>
          65  +
    /* StructureGenerator.kt:166 */
   58     66   
    pub fn export_status(&self) -> ::std::option::Option<&crate::types::ExportStatus> {
          67  +
        /* StructureGenerator.kt:170 */
   59     68   
        self.export_status.as_ref()
          69  +
        /* StructureGenerator.kt:166 */
   60     70   
    }
   61         -
    /// <p>The time at which the export task began.</p>
          71  +
    /// /* StructureGenerator.kt:231 */<p>The time at which the export task began.</p>
          72  +
    /* StructureGenerator.kt:166 */
   62     73   
    pub fn start_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          74  +
        /* StructureGenerator.kt:170 */
   63     75   
        self.start_time.as_ref()
          76  +
        /* StructureGenerator.kt:166 */
   64     77   
    }
   65         -
    /// <p>The time at which the export task completed.</p>
          78  +
    /// /* StructureGenerator.kt:231 */<p>The time at which the export task completed.</p>
          79  +
    /* StructureGenerator.kt:166 */
   66     80   
    pub fn end_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          81  +
        /* StructureGenerator.kt:170 */
   67     82   
        self.end_time.as_ref()
          83  +
        /* StructureGenerator.kt:166 */
   68     84   
    }
   69         -
    /// <p>The name of the manifest file for the export task.</p>
          85  +
    /// /* StructureGenerator.kt:231 */<p>The name of the manifest file for the export task.</p>
          86  +
    /* StructureGenerator.kt:166 */
   70     87   
    pub fn export_manifest(&self) -> ::std::option::Option<&str> {
          88  +
        /* StructureGenerator.kt:169 */
   71     89   
        self.export_manifest.as_deref()
          90  +
        /* StructureGenerator.kt:166 */
   72     91   
    }
   73         -
    /// <p>The Amazon Resource Name (ARN) of the table that was exported.</p>
          92  +
    /// /* StructureGenerator.kt:231 */<p>The Amazon Resource Name (ARN) of the table that was exported.</p>
          93  +
    /* StructureGenerator.kt:166 */
   74     94   
    pub fn table_arn(&self) -> ::std::option::Option<&str> {
          95  +
        /* StructureGenerator.kt:169 */
   75     96   
        self.table_arn.as_deref()
          97  +
        /* StructureGenerator.kt:166 */
   76     98   
    }
   77         -
    /// <p>Unique ID of the table that was exported.</p>
          99  +
    /// /* StructureGenerator.kt:231 */<p>Unique ID of the table that was exported.</p>
         100  +
    /* StructureGenerator.kt:166 */
   78    101   
    pub fn table_id(&self) -> ::std::option::Option<&str> {
         102  +
        /* StructureGenerator.kt:169 */
   79    103   
        self.table_id.as_deref()
         104  +
        /* StructureGenerator.kt:166 */
   80    105   
    }
   81         -
    /// <p>Point in time from which table data was exported.</p>
         106  +
    /// /* StructureGenerator.kt:231 */<p>Point in time from which table data was exported.</p>
         107  +
    /* StructureGenerator.kt:166 */
   82    108   
    pub fn export_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         109  +
        /* StructureGenerator.kt:170 */
   83    110   
        self.export_time.as_ref()
         111  +
        /* StructureGenerator.kt:166 */
   84    112   
    }
   85         -
    /// <p>The client token that was provided for the export task. A client token makes calls to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         113  +
    /// /* StructureGenerator.kt:231 */<p>The client token that was provided for the export task. A client token makes calls to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         114  +
    /* StructureGenerator.kt:166 */
   86    115   
    pub fn client_token(&self) -> ::std::option::Option<&str> {
         116  +
        /* StructureGenerator.kt:169 */
   87    117   
        self.client_token.as_deref()
         118  +
        /* StructureGenerator.kt:166 */
   88    119   
    }
   89         -
    /// <p>The name of the Amazon S3 bucket containing the export.</p>
         120  +
    /// /* StructureGenerator.kt:231 */<p>The name of the Amazon S3 bucket containing the export.</p>
         121  +
    /* StructureGenerator.kt:166 */
   90    122   
    pub fn s3_bucket(&self) -> ::std::option::Option<&str> {
         123  +
        /* StructureGenerator.kt:169 */
   91    124   
        self.s3_bucket.as_deref()
         125  +
        /* StructureGenerator.kt:166 */
   92    126   
    }
   93         -
    /// <p>The ID of the AWS account that owns the bucket containing the export.</p>
         127  +
    /// /* StructureGenerator.kt:231 */<p>The ID of the AWS account that owns the bucket containing the export.</p>
         128  +
    /* StructureGenerator.kt:166 */
   94    129   
    pub fn s3_bucket_owner(&self) -> ::std::option::Option<&str> {
         130  +
        /* StructureGenerator.kt:169 */
   95    131   
        self.s3_bucket_owner.as_deref()
         132  +
        /* StructureGenerator.kt:166 */
   96    133   
    }
   97         -
    /// <p>The Amazon S3 bucket prefix used as the file name and path of the exported snapshot.</p>
         134  +
    /// /* StructureGenerator.kt:231 */<p>The Amazon S3 bucket prefix used as the file name and path of the exported snapshot.</p>
         135  +
    /* StructureGenerator.kt:166 */
   98    136   
    pub fn s3_prefix(&self) -> ::std::option::Option<&str> {
         137  +
        /* StructureGenerator.kt:169 */
   99    138   
        self.s3_prefix.as_deref()
         139  +
        /* StructureGenerator.kt:166 */
  100    140   
    }
  101         -
    /// <p>Type of encryption used on the bucket where export data is stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
         141  +
    /// /* StructureGenerator.kt:231 */<p>Type of encryption used on the bucket where export data is stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
  102    142   
    /// <ul>
  103    143   
    /// <li>
  104    144   
    /// <p><code>AES256</code> - server-side encryption with Amazon S3 managed keys</p></li>
  105    145   
    /// <li>
  106    146   
    /// <p><code>KMS</code> - server-side encryption with AWS KMS managed keys</p></li>
  107    147   
    /// </ul>
         148  +
    /* StructureGenerator.kt:166 */
  108    149   
    pub fn s3_sse_algorithm(&self) -> ::std::option::Option<&crate::types::S3SseAlgorithm> {
         150  +
        /* StructureGenerator.kt:170 */
  109    151   
        self.s3_sse_algorithm.as_ref()
         152  +
        /* StructureGenerator.kt:166 */
  110    153   
    }
  111         -
    /// <p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data is stored (if applicable).</p>
         154  +
    /// /* StructureGenerator.kt:231 */<p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data is stored (if applicable).</p>
         155  +
    /* StructureGenerator.kt:166 */
  112    156   
    pub fn s3_sse_kms_key_id(&self) -> ::std::option::Option<&str> {
         157  +
        /* StructureGenerator.kt:169 */
  113    158   
        self.s3_sse_kms_key_id.as_deref()
         159  +
        /* StructureGenerator.kt:166 */
  114    160   
    }
  115         -
    /// <p>Status code for the result of the failed export.</p>
         161  +
    /// /* StructureGenerator.kt:231 */<p>Status code for the result of the failed export.</p>
         162  +
    /* StructureGenerator.kt:166 */
  116    163   
    pub fn failure_code(&self) -> ::std::option::Option<&str> {
         164  +
        /* StructureGenerator.kt:169 */
  117    165   
        self.failure_code.as_deref()
         166  +
        /* StructureGenerator.kt:166 */
  118    167   
    }
  119         -
    /// <p>Export failure reason description.</p>
         168  +
    /// /* StructureGenerator.kt:231 */<p>Export failure reason description.</p>
         169  +
    /* StructureGenerator.kt:166 */
  120    170   
    pub fn failure_message(&self) -> ::std::option::Option<&str> {
         171  +
        /* StructureGenerator.kt:169 */
  121    172   
        self.failure_message.as_deref()
         173  +
        /* StructureGenerator.kt:166 */
  122    174   
    }
  123         -
    /// <p>The format of the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         175  +
    /// /* StructureGenerator.kt:231 */<p>The format of the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         176  +
    /* StructureGenerator.kt:166 */
  124    177   
    pub fn export_format(&self) -> ::std::option::Option<&crate::types::ExportFormat> {
         178  +
        /* StructureGenerator.kt:170 */
  125    179   
        self.export_format.as_ref()
         180  +
        /* StructureGenerator.kt:166 */
  126    181   
    }
  127         -
    /// <p>The billable size of the table export.</p>
         182  +
    /// /* StructureGenerator.kt:231 */<p>The billable size of the table export.</p>
         183  +
    /* StructureGenerator.kt:166 */
  128    184   
    pub fn billed_size_bytes(&self) -> ::std::option::Option<i64> {
         185  +
        /* StructureGenerator.kt:168 */
  129    186   
        self.billed_size_bytes
         187  +
        /* StructureGenerator.kt:166 */
  130    188   
    }
  131         -
    /// <p>The number of items exported.</p>
         189  +
    /// /* StructureGenerator.kt:231 */<p>The number of items exported.</p>
         190  +
    /* StructureGenerator.kt:166 */
  132    191   
    pub fn item_count(&self) -> ::std::option::Option<i64> {
         192  +
        /* StructureGenerator.kt:168 */
  133    193   
        self.item_count
         194  +
        /* StructureGenerator.kt:166 */
  134    195   
    }
         196  +
    /* StructureGenerator.kt:135 */
  135    197   
}
         198  +
/* ClientCodegenVisitor.kt:237 */
  136    199   
impl ExportDescription {
  137         -
    /// Creates a new builder-style object to manufacture [`ExportDescription`](crate::types::ExportDescription).
         200  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`ExportDescription`](crate::types::ExportDescription).
         201  +
    /* BuilderGenerator.kt:175 */
  138    202   
    pub fn builder() -> crate::types::builders::ExportDescriptionBuilder {
         203  +
        /* BuilderGenerator.kt:176 */
  139    204   
        crate::types::builders::ExportDescriptionBuilder::default()
         205  +
        /* BuilderGenerator.kt:175 */
  140    206   
    }
         207  +
    /* ClientCodegenVisitor.kt:237 */
  141    208   
}
  142    209   
  143         -
/// A builder for [`ExportDescription`](crate::types::ExportDescription).
         210  +
/// /* BuilderGenerator.kt:342 */A builder for [`ExportDescription`](crate::types::ExportDescription).
         211  +
/* RustType.kt:516 */
  144    212   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         213  +
/* RustType.kt:516 */
  145    214   
#[non_exhaustive]
         215  +
/* BuilderGenerator.kt:345 */
  146    216   
pub struct ExportDescriptionBuilder {
  147         -
    pub(crate) export_arn: ::std::option::Option<::std::string::String>,
  148         -
    pub(crate) export_status: ::std::option::Option<crate::types::ExportStatus>,
  149         -
    pub(crate) start_time: ::std::option::Option<::aws_smithy_types::DateTime>,
  150         -
    pub(crate) end_time: ::std::option::Option<::aws_smithy_types::DateTime>,
  151         -
    pub(crate) export_manifest: ::std::option::Option<::std::string::String>,
  152         -
    pub(crate) table_arn: ::std::option::Option<::std::string::String>,
  153         -
    pub(crate) table_id: ::std::option::Option<::std::string::String>,
  154         -
    pub(crate) export_time: ::std::option::Option<::aws_smithy_types::DateTime>,
  155         -
    pub(crate) client_token: ::std::option::Option<::std::string::String>,
  156         -
    pub(crate) s3_bucket: ::std::option::Option<::std::string::String>,
  157         -
    pub(crate) s3_bucket_owner: ::std::option::Option<::std::string::String>,
  158         -
    pub(crate) s3_prefix: ::std::option::Option<::std::string::String>,
  159         -
    pub(crate) s3_sse_algorithm: ::std::option::Option<crate::types::S3SseAlgorithm>,
  160         -
    pub(crate) s3_sse_kms_key_id: ::std::option::Option<::std::string::String>,
  161         -
    pub(crate) failure_code: ::std::option::Option<::std::string::String>,
  162         -
    pub(crate) failure_message: ::std::option::Option<::std::string::String>,
  163         -
    pub(crate) export_format: ::std::option::Option<crate::types::ExportFormat>,
  164         -
    pub(crate) billed_size_bytes: ::std::option::Option<i64>,
  165         -
    pub(crate) item_count: ::std::option::Option<i64>,
         217  +
    /* BuilderGenerator.kt:275 */ pub(crate) export_arn: ::std::option::Option<::std::string::String>,
         218  +
    /* BuilderGenerator.kt:275 */ pub(crate) export_status: ::std::option::Option<crate::types::ExportStatus>,
         219  +
    /* BuilderGenerator.kt:275 */ pub(crate) start_time: ::std::option::Option<::aws_smithy_types::DateTime>,
         220  +
    /* BuilderGenerator.kt:275 */ pub(crate) end_time: ::std::option::Option<::aws_smithy_types::DateTime>,
         221  +
    /* BuilderGenerator.kt:275 */ pub(crate) export_manifest: ::std::option::Option<::std::string::String>,
         222  +
    /* BuilderGenerator.kt:275 */ pub(crate) table_arn: ::std::option::Option<::std::string::String>,
         223  +
    /* BuilderGenerator.kt:275 */ pub(crate) table_id: ::std::option::Option<::std::string::String>,
         224  +
    /* BuilderGenerator.kt:275 */ pub(crate) export_time: ::std::option::Option<::aws_smithy_types::DateTime>,
         225  +
    /* BuilderGenerator.kt:275 */ pub(crate) client_token: ::std::option::Option<::std::string::String>,
         226  +
    /* BuilderGenerator.kt:275 */ pub(crate) s3_bucket: ::std::option::Option<::std::string::String>,
         227  +
    /* BuilderGenerator.kt:275 */ pub(crate) s3_bucket_owner: ::std::option::Option<::std::string::String>,
         228  +
    /* BuilderGenerator.kt:275 */ pub(crate) s3_prefix: ::std::option::Option<::std::string::String>,
         229  +
    /* BuilderGenerator.kt:275 */ pub(crate) s3_sse_algorithm: ::std::option::Option<crate::types::S3SseAlgorithm>,
         230  +
    /* BuilderGenerator.kt:275 */ pub(crate) s3_sse_kms_key_id: ::std::option::Option<::std::string::String>,
         231  +
    /* BuilderGenerator.kt:275 */ pub(crate) failure_code: ::std::option::Option<::std::string::String>,
         232  +
    /* BuilderGenerator.kt:275 */ pub(crate) failure_message: ::std::option::Option<::std::string::String>,
         233  +
    /* BuilderGenerator.kt:275 */ pub(crate) export_format: ::std::option::Option<crate::types::ExportFormat>,
         234  +
    /* BuilderGenerator.kt:275 */ pub(crate) billed_size_bytes: ::std::option::Option<i64>,
         235  +
    /* BuilderGenerator.kt:275 */ pub(crate) item_count: ::std::option::Option<i64>,
         236  +
    /* BuilderGenerator.kt:345 */
  166    237   
}
         238  +
/* BuilderGenerator.kt:355 */
  167    239   
impl ExportDescriptionBuilder {
  168         -
    /// <p>The Amazon Resource Name (ARN) of the table export.</p>
         240  +
    /// /* BuilderGenerator.kt:286 */<p>The Amazon Resource Name (ARN) of the table export.</p>
         241  +
    /* BuilderGenerator.kt:291 */
  169    242   
    pub fn export_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         243  +
        /* BuilderGenerator.kt:292 */
  170    244   
        self.export_arn = ::std::option::Option::Some(input.into());
         245  +
        /* BuilderGenerator.kt:293 */
  171    246   
        self
         247  +
        /* BuilderGenerator.kt:291 */
  172    248   
    }
  173         -
    /// <p>The Amazon Resource Name (ARN) of the table export.</p>
         249  +
    /// /* BuilderGenerator.kt:312 */<p>The Amazon Resource Name (ARN) of the table export.</p>
         250  +
    /* BuilderGenerator.kt:314 */
  174    251   
    pub fn set_export_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         252  +
        /* BuilderGenerator.kt:315 */
  175    253   
        self.export_arn = input;
  176    254   
        self
         255  +
        /* BuilderGenerator.kt:314 */
  177    256   
    }
  178         -
    /// <p>The Amazon Resource Name (ARN) of the table export.</p>
         257  +
    /// /* BuilderGenerator.kt:334 */<p>The Amazon Resource Name (ARN) of the table export.</p>
         258  +
    /* BuilderGenerator.kt:336 */
  179    259   
    pub fn get_export_arn(&self) -> &::std::option::Option<::std::string::String> {
         260  +
        /* BuilderGenerator.kt:337 */
  180    261   
        &self.export_arn
         262  +
        /* BuilderGenerator.kt:336 */
  181    263   
    }
  182         -
    /// <p>Export can be in one of the following states: IN_PROGRESS, COMPLETED, or FAILED.</p>
         264  +
    /// /* BuilderGenerator.kt:286 */<p>Export can be in one of the following states: IN_PROGRESS, COMPLETED, or FAILED.</p>
         265  +
    /* BuilderGenerator.kt:291 */
  183    266   
    pub fn export_status(mut self, input: crate::types::ExportStatus) -> Self {
         267  +
        /* BuilderGenerator.kt:292 */
  184    268   
        self.export_status = ::std::option::Option::Some(input);
         269  +
        /* BuilderGenerator.kt:293 */
  185    270   
        self
         271  +
        /* BuilderGenerator.kt:291 */
  186    272   
    }
  187         -
    /// <p>Export can be in one of the following states: IN_PROGRESS, COMPLETED, or FAILED.</p>
         273  +
    /// /* BuilderGenerator.kt:312 */<p>Export can be in one of the following states: IN_PROGRESS, COMPLETED, or FAILED.</p>
         274  +
    /* BuilderGenerator.kt:314 */
  188    275   
    pub fn set_export_status(mut self, input: ::std::option::Option<crate::types::ExportStatus>) -> Self {
         276  +
        /* BuilderGenerator.kt:315 */
  189    277   
        self.export_status = input;
  190    278   
        self
         279  +
        /* BuilderGenerator.kt:314 */
  191    280   
    }
  192         -
    /// <p>Export can be in one of the following states: IN_PROGRESS, COMPLETED, or FAILED.</p>
         281  +
    /// /* BuilderGenerator.kt:334 */<p>Export can be in one of the following states: IN_PROGRESS, COMPLETED, or FAILED.</p>
         282  +
    /* BuilderGenerator.kt:336 */
  193    283   
    pub fn get_export_status(&self) -> &::std::option::Option<crate::types::ExportStatus> {
         284  +
        /* BuilderGenerator.kt:337 */
  194    285   
        &self.export_status
         286  +
        /* BuilderGenerator.kt:336 */
  195    287   
    }
  196         -
    /// <p>The time at which the export task began.</p>
         288  +
    /// /* BuilderGenerator.kt:286 */<p>The time at which the export task began.</p>
         289  +
    /* BuilderGenerator.kt:291 */
  197    290   
    pub fn start_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         291  +
        /* BuilderGenerator.kt:292 */
  198    292   
        self.start_time = ::std::option::Option::Some(input);
         293  +
        /* BuilderGenerator.kt:293 */
  199    294   
        self
         295  +
        /* BuilderGenerator.kt:291 */
  200    296   
    }
  201         -
    /// <p>The time at which the export task began.</p>
         297  +
    /// /* BuilderGenerator.kt:312 */<p>The time at which the export task began.</p>
         298  +
    /* BuilderGenerator.kt:314 */
  202    299   
    pub fn set_start_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         300  +
        /* BuilderGenerator.kt:315 */
  203    301   
        self.start_time = input;
  204    302   
        self
         303  +
        /* BuilderGenerator.kt:314 */
  205    304   
    }
  206         -
    /// <p>The time at which the export task began.</p>
         305  +
    /// /* BuilderGenerator.kt:334 */<p>The time at which the export task began.</p>
         306  +
    /* BuilderGenerator.kt:336 */
  207    307   
    pub fn get_start_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         308  +
        /* BuilderGenerator.kt:337 */
  208    309   
        &self.start_time
         310  +
        /* BuilderGenerator.kt:336 */
  209    311   
    }
  210         -
    /// <p>The time at which the export task completed.</p>
         312  +
    /// /* BuilderGenerator.kt:286 */<p>The time at which the export task completed.</p>
         313  +
    /* BuilderGenerator.kt:291 */
  211    314   
    pub fn end_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         315  +
        /* BuilderGenerator.kt:292 */
  212    316   
        self.end_time = ::std::option::Option::Some(input);
         317  +
        /* BuilderGenerator.kt:293 */
  213    318   
        self
         319  +
        /* BuilderGenerator.kt:291 */
  214    320   
    }
  215         -
    /// <p>The time at which the export task completed.</p>
         321  +
    /// /* BuilderGenerator.kt:312 */<p>The time at which the export task completed.</p>
         322  +
    /* BuilderGenerator.kt:314 */
  216    323   
    pub fn set_end_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         324  +
        /* BuilderGenerator.kt:315 */
  217    325   
        self.end_time = input;
  218    326   
        self
         327  +
        /* BuilderGenerator.kt:314 */
  219    328   
    }
  220         -
    /// <p>The time at which the export task completed.</p>
         329  +
    /// /* BuilderGenerator.kt:334 */<p>The time at which the export task completed.</p>
         330  +
    /* BuilderGenerator.kt:336 */
  221    331   
    pub fn get_end_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         332  +
        /* BuilderGenerator.kt:337 */
  222    333   
        &self.end_time
         334  +
        /* BuilderGenerator.kt:336 */
  223    335   
    }
  224         -
    /// <p>The name of the manifest file for the export task.</p>
         336  +
    /// /* BuilderGenerator.kt:286 */<p>The name of the manifest file for the export task.</p>
         337  +
    /* BuilderGenerator.kt:291 */
  225    338   
    pub fn export_manifest(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         339  +
        /* BuilderGenerator.kt:292 */
  226    340   
        self.export_manifest = ::std::option::Option::Some(input.into());
         341  +
        /* BuilderGenerator.kt:293 */
  227    342   
        self
         343  +
        /* BuilderGenerator.kt:291 */
  228    344   
    }
  229         -
    /// <p>The name of the manifest file for the export task.</p>
         345  +
    /// /* BuilderGenerator.kt:312 */<p>The name of the manifest file for the export task.</p>
         346  +
    /* BuilderGenerator.kt:314 */
  230    347   
    pub fn set_export_manifest(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         348  +
        /* BuilderGenerator.kt:315 */
  231    349   
        self.export_manifest = input;
  232    350   
        self
         351  +
        /* BuilderGenerator.kt:314 */
  233    352   
    }
  234         -
    /// <p>The name of the manifest file for the export task.</p>
         353  +
    /// /* BuilderGenerator.kt:334 */<p>The name of the manifest file for the export task.</p>
         354  +
    /* BuilderGenerator.kt:336 */
  235    355   
    pub fn get_export_manifest(&self) -> &::std::option::Option<::std::string::String> {
         356  +
        /* BuilderGenerator.kt:337 */
  236    357   
        &self.export_manifest
         358  +
        /* BuilderGenerator.kt:336 */
  237    359   
    }
  238         -
    /// <p>The Amazon Resource Name (ARN) of the table that was exported.</p>
         360  +
    /// /* BuilderGenerator.kt:286 */<p>The Amazon Resource Name (ARN) of the table that was exported.</p>
         361  +
    /* BuilderGenerator.kt:291 */
  239    362   
    pub fn table_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         363  +
        /* BuilderGenerator.kt:292 */
  240    364   
        self.table_arn = ::std::option::Option::Some(input.into());
         365  +
        /* BuilderGenerator.kt:293 */
  241    366   
        self
         367  +
        /* BuilderGenerator.kt:291 */
  242    368   
    }
  243         -
    /// <p>The Amazon Resource Name (ARN) of the table that was exported.</p>
         369  +
    /// /* BuilderGenerator.kt:312 */<p>The Amazon Resource Name (ARN) of the table that was exported.</p>
         370  +
    /* BuilderGenerator.kt:314 */
  244    371   
    pub fn set_table_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         372  +
        /* BuilderGenerator.kt:315 */
  245    373   
        self.table_arn = input;
  246    374   
        self
         375  +
        /* BuilderGenerator.kt:314 */
  247    376   
    }
  248         -
    /// <p>The Amazon Resource Name (ARN) of the table that was exported.</p>
         377  +
    /// /* BuilderGenerator.kt:334 */<p>The Amazon Resource Name (ARN) of the table that was exported.</p>
         378  +
    /* BuilderGenerator.kt:336 */
  249    379   
    pub fn get_table_arn(&self) -> &::std::option::Option<::std::string::String> {
         380  +
        /* BuilderGenerator.kt:337 */
  250    381   
        &self.table_arn
         382  +
        /* BuilderGenerator.kt:336 */
  251    383   
    }
  252         -
    /// <p>Unique ID of the table that was exported.</p>
         384  +
    /// /* BuilderGenerator.kt:286 */<p>Unique ID of the table that was exported.</p>
         385  +
    /* BuilderGenerator.kt:291 */
  253    386   
    pub fn table_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         387  +
        /* BuilderGenerator.kt:292 */
  254    388   
        self.table_id = ::std::option::Option::Some(input.into());
         389  +
        /* BuilderGenerator.kt:293 */
  255    390   
        self
         391  +
        /* BuilderGenerator.kt:291 */
  256    392   
    }
  257         -
    /// <p>Unique ID of the table that was exported.</p>
         393  +
    /// /* BuilderGenerator.kt:312 */<p>Unique ID of the table that was exported.</p>
         394  +
    /* BuilderGenerator.kt:314 */
  258    395   
    pub fn set_table_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         396  +
        /* BuilderGenerator.kt:315 */
  259    397   
        self.table_id = input;
  260    398   
        self
         399  +
        /* BuilderGenerator.kt:314 */
  261    400   
    }
  262         -
    /// <p>Unique ID of the table that was exported.</p>
         401  +
    /// /* BuilderGenerator.kt:334 */<p>Unique ID of the table that was exported.</p>
         402  +
    /* BuilderGenerator.kt:336 */
  263    403   
    pub fn get_table_id(&self) -> &::std::option::Option<::std::string::String> {
         404  +
        /* BuilderGenerator.kt:337 */
  264    405   
        &self.table_id
         406  +
        /* BuilderGenerator.kt:336 */
  265    407   
    }
  266         -
    /// <p>Point in time from which table data was exported.</p>
         408  +
    /// /* BuilderGenerator.kt:286 */<p>Point in time from which table data was exported.</p>
         409  +
    /* BuilderGenerator.kt:291 */
  267    410   
    pub fn export_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         411  +
        /* BuilderGenerator.kt:292 */
  268    412   
        self.export_time = ::std::option::Option::Some(input);
         413  +
        /* BuilderGenerator.kt:293 */
  269    414   
        self
         415  +
        /* BuilderGenerator.kt:291 */
  270    416   
    }
  271         -
    /// <p>Point in time from which table data was exported.</p>
         417  +
    /// /* BuilderGenerator.kt:312 */<p>Point in time from which table data was exported.</p>
         418  +
    /* BuilderGenerator.kt:314 */
  272    419   
    pub fn set_export_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         420  +
        /* BuilderGenerator.kt:315 */
  273    421   
        self.export_time = input;
  274    422   
        self
         423  +
        /* BuilderGenerator.kt:314 */
  275    424   
    }
  276         -
    /// <p>Point in time from which table data was exported.</p>
         425  +
    /// /* BuilderGenerator.kt:334 */<p>Point in time from which table data was exported.</p>
         426  +
    /* BuilderGenerator.kt:336 */
  277    427   
    pub fn get_export_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         428  +
        /* BuilderGenerator.kt:337 */
  278    429   
        &self.export_time
         430  +
        /* BuilderGenerator.kt:336 */
  279    431   
    }
  280         -
    /// <p>The client token that was provided for the export task. A client token makes calls to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         432  +
    /// /* BuilderGenerator.kt:286 */<p>The client token that was provided for the export task. A client token makes calls to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         433  +
    /* BuilderGenerator.kt:291 */
  281    434   
    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         435  +
        /* BuilderGenerator.kt:292 */
  282    436   
        self.client_token = ::std::option::Option::Some(input.into());
         437  +
        /* BuilderGenerator.kt:293 */
  283    438   
        self
         439  +
        /* BuilderGenerator.kt:291 */
  284    440   
    }
  285         -
    /// <p>The client token that was provided for the export task. A client token makes calls to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         441  +
    /// /* BuilderGenerator.kt:312 */<p>The client token that was provided for the export task. A client token makes calls to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         442  +
    /* BuilderGenerator.kt:314 */
  286    443   
    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         444  +
        /* BuilderGenerator.kt:315 */
  287    445   
        self.client_token = input;
  288    446   
        self
         447  +
        /* BuilderGenerator.kt:314 */
  289    448   
    }
  290         -
    /// <p>The client token that was provided for the export task. A client token makes calls to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         449  +
    /// /* BuilderGenerator.kt:334 */<p>The client token that was provided for the export task. A client token makes calls to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p>
         450  +
    /* BuilderGenerator.kt:336 */
  291    451   
    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
         452  +
        /* BuilderGenerator.kt:337 */
  292    453   
        &self.client_token
         454  +
        /* BuilderGenerator.kt:336 */
  293    455   
    }
  294         -
    /// <p>The name of the Amazon S3 bucket containing the export.</p>
         456  +
    /// /* BuilderGenerator.kt:286 */<p>The name of the Amazon S3 bucket containing the export.</p>
         457  +
    /* BuilderGenerator.kt:291 */
  295    458   
    pub fn s3_bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         459  +
        /* BuilderGenerator.kt:292 */
  296    460   
        self.s3_bucket = ::std::option::Option::Some(input.into());
         461  +
        /* BuilderGenerator.kt:293 */
  297    462   
        self
         463  +
        /* BuilderGenerator.kt:291 */
  298    464   
    }
  299         -
    /// <p>The name of the Amazon S3 bucket containing the export.</p>
         465  +
    /// /* BuilderGenerator.kt:312 */<p>The name of the Amazon S3 bucket containing the export.</p>
         466  +
    /* BuilderGenerator.kt:314 */
  300    467   
    pub fn set_s3_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         468  +
        /* BuilderGenerator.kt:315 */
  301    469   
        self.s3_bucket = input;
  302    470   
        self
         471  +
        /* BuilderGenerator.kt:314 */
  303    472   
    }
  304         -
    /// <p>The name of the Amazon S3 bucket containing the export.</p>
         473  +
    /// /* BuilderGenerator.kt:334 */<p>The name of the Amazon S3 bucket containing the export.</p>
         474  +
    /* BuilderGenerator.kt:336 */
  305    475   
    pub fn get_s3_bucket(&self) -> &::std::option::Option<::std::string::String> {
         476  +
        /* BuilderGenerator.kt:337 */
  306    477   
        &self.s3_bucket
         478  +
        /* BuilderGenerator.kt:336 */
  307    479   
    }
  308         -
    /// <p>The ID of the AWS account that owns the bucket containing the export.</p>
         480  +
    /// /* BuilderGenerator.kt:286 */<p>The ID of the AWS account that owns the bucket containing the export.</p>
         481  +
    /* BuilderGenerator.kt:291 */
  309    482   
    pub fn s3_bucket_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         483  +
        /* BuilderGenerator.kt:292 */
  310    484   
        self.s3_bucket_owner = ::std::option::Option::Some(input.into());
         485  +
        /* BuilderGenerator.kt:293 */
  311    486   
        self
         487  +
        /* BuilderGenerator.kt:291 */
  312    488   
    }
  313         -
    /// <p>The ID of the AWS account that owns the bucket containing the export.</p>
         489  +
    /// /* BuilderGenerator.kt:312 */<p>The ID of the AWS account that owns the bucket containing the export.</p>
         490  +
    /* BuilderGenerator.kt:314 */
  314    491   
    pub fn set_s3_bucket_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         492  +
        /* BuilderGenerator.kt:315 */
  315    493   
        self.s3_bucket_owner = input;
  316    494   
        self
         495  +
        /* BuilderGenerator.kt:314 */
  317    496   
    }
  318         -
    /// <p>The ID of the AWS account that owns the bucket containing the export.</p>
         497  +
    /// /* BuilderGenerator.kt:334 */<p>The ID of the AWS account that owns the bucket containing the export.</p>
         498  +
    /* BuilderGenerator.kt:336 */
  319    499   
    pub fn get_s3_bucket_owner(&self) -> &::std::option::Option<::std::string::String> {
         500  +
        /* BuilderGenerator.kt:337 */
  320    501   
        &self.s3_bucket_owner
         502  +
        /* BuilderGenerator.kt:336 */
  321    503   
    }
  322         -
    /// <p>The Amazon S3 bucket prefix used as the file name and path of the exported snapshot.</p>
         504  +
    /// /* BuilderGenerator.kt:286 */<p>The Amazon S3 bucket prefix used as the file name and path of the exported snapshot.</p>
         505  +
    /* BuilderGenerator.kt:291 */
  323    506   
    pub fn s3_prefix(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         507  +
        /* BuilderGenerator.kt:292 */
  324    508   
        self.s3_prefix = ::std::option::Option::Some(input.into());
         509  +
        /* BuilderGenerator.kt:293 */
  325    510   
        self
         511  +
        /* BuilderGenerator.kt:291 */
  326    512   
    }
  327         -
    /// <p>The Amazon S3 bucket prefix used as the file name and path of the exported snapshot.</p>
         513  +
    /// /* BuilderGenerator.kt:312 */<p>The Amazon S3 bucket prefix used as the file name and path of the exported snapshot.</p>
         514  +
    /* BuilderGenerator.kt:314 */
  328    515   
    pub fn set_s3_prefix(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         516  +
        /* BuilderGenerator.kt:315 */
  329    517   
        self.s3_prefix = input;
  330    518   
        self
         519  +
        /* BuilderGenerator.kt:314 */
  331    520   
    }
  332         -
    /// <p>The Amazon S3 bucket prefix used as the file name and path of the exported snapshot.</p>
         521  +
    /// /* BuilderGenerator.kt:334 */<p>The Amazon S3 bucket prefix used as the file name and path of the exported snapshot.</p>
         522  +
    /* BuilderGenerator.kt:336 */
  333    523   
    pub fn get_s3_prefix(&self) -> &::std::option::Option<::std::string::String> {
         524  +
        /* BuilderGenerator.kt:337 */
  334    525   
        &self.s3_prefix
         526  +
        /* BuilderGenerator.kt:336 */
  335    527   
    }
  336         -
    /// <p>Type of encryption used on the bucket where export data is stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
         528  +
    /// /* BuilderGenerator.kt:286 */<p>Type of encryption used on the bucket where export data is stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
  337    529   
    /// <ul>
  338    530   
    /// <li>
  339    531   
    /// <p><code>AES256</code> - server-side encryption with Amazon S3 managed keys</p></li>
  340    532   
    /// <li>
  341    533   
    /// <p><code>KMS</code> - server-side encryption with AWS KMS managed keys</p></li>
  342    534   
    /// </ul>
         535  +
    /* BuilderGenerator.kt:291 */
  343    536   
    pub fn s3_sse_algorithm(mut self, input: crate::types::S3SseAlgorithm) -> Self {
         537  +
        /* BuilderGenerator.kt:292 */
  344    538   
        self.s3_sse_algorithm = ::std::option::Option::Some(input);
         539  +
        /* BuilderGenerator.kt:293 */
  345    540   
        self
         541  +
        /* BuilderGenerator.kt:291 */
  346    542   
    }
  347         -
    /// <p>Type of encryption used on the bucket where export data is stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
         543  +
    /// /* BuilderGenerator.kt:312 */<p>Type of encryption used on the bucket where export data is stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
  348    544   
    /// <ul>
  349    545   
    /// <li>
  350    546   
    /// <p><code>AES256</code> - server-side encryption with Amazon S3 managed keys</p></li>
  351    547   
    /// <li>
  352    548   
    /// <p><code>KMS</code> - server-side encryption with AWS KMS managed keys</p></li>
  353    549   
    /// </ul>
         550  +
    /* BuilderGenerator.kt:314 */
  354    551   
    pub fn set_s3_sse_algorithm(mut self, input: ::std::option::Option<crate::types::S3SseAlgorithm>) -> Self {
         552  +
        /* BuilderGenerator.kt:315 */
  355    553   
        self.s3_sse_algorithm = input;
  356    554   
        self
         555  +
        /* BuilderGenerator.kt:314 */
  357    556   
    }
  358         -
    /// <p>Type of encryption used on the bucket where export data is stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
         557  +
    /// /* BuilderGenerator.kt:334 */<p>Type of encryption used on the bucket where export data is stored. Valid values for <code>S3SseAlgorithm</code> are:</p>
  359    558   
    /// <ul>
  360    559   
    /// <li>
  361    560   
    /// <p><code>AES256</code> - server-side encryption with Amazon S3 managed keys</p></li>
  362    561   
    /// <li>
  363    562   
    /// <p><code>KMS</code> - server-side encryption with AWS KMS managed keys</p></li>
  364    563   
    /// </ul>
         564  +
    /* BuilderGenerator.kt:336 */
  365    565   
    pub fn get_s3_sse_algorithm(&self) -> &::std::option::Option<crate::types::S3SseAlgorithm> {
         566  +
        /* BuilderGenerator.kt:337 */
  366    567   
        &self.s3_sse_algorithm
         568  +
        /* BuilderGenerator.kt:336 */
  367    569   
    }
  368         -
    /// <p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data is stored (if applicable).</p>
         570  +
    /// /* BuilderGenerator.kt:286 */<p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data is stored (if applicable).</p>
         571  +
    /* BuilderGenerator.kt:291 */
  369    572   
    pub fn s3_sse_kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         573  +
        /* BuilderGenerator.kt:292 */
  370    574   
        self.s3_sse_kms_key_id = ::std::option::Option::Some(input.into());
         575  +
        /* BuilderGenerator.kt:293 */
  371    576   
        self
         577  +
        /* BuilderGenerator.kt:291 */
  372    578   
    }
  373         -
    /// <p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data is stored (if applicable).</p>
         579  +
    /// /* BuilderGenerator.kt:312 */<p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data is stored (if applicable).</p>
         580  +
    /* BuilderGenerator.kt:314 */
  374    581   
    pub fn set_s3_sse_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         582  +
        /* BuilderGenerator.kt:315 */
  375    583   
        self.s3_sse_kms_key_id = input;
  376    584   
        self
         585  +
        /* BuilderGenerator.kt:314 */
  377    586   
    }
  378         -
    /// <p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data is stored (if applicable).</p>
         587  +
    /// /* BuilderGenerator.kt:334 */<p>The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data is stored (if applicable).</p>
         588  +
    /* BuilderGenerator.kt:336 */
  379    589   
    pub fn get_s3_sse_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
         590  +
        /* BuilderGenerator.kt:337 */
  380    591   
        &self.s3_sse_kms_key_id
         592  +
        /* BuilderGenerator.kt:336 */
  381    593   
    }
  382         -
    /// <p>Status code for the result of the failed export.</p>
         594  +
    /// /* BuilderGenerator.kt:286 */<p>Status code for the result of the failed export.</p>
         595  +
    /* BuilderGenerator.kt:291 */
  383    596   
    pub fn failure_code(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         597  +
        /* BuilderGenerator.kt:292 */
  384    598   
        self.failure_code = ::std::option::Option::Some(input.into());
         599  +
        /* BuilderGenerator.kt:293 */
  385    600   
        self
         601  +
        /* BuilderGenerator.kt:291 */
  386    602   
    }
  387         -
    /// <p>Status code for the result of the failed export.</p>
         603  +
    /// /* BuilderGenerator.kt:312 */<p>Status code for the result of the failed export.</p>
         604  +
    /* BuilderGenerator.kt:314 */
  388    605   
    pub fn set_failure_code(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         606  +
        /* BuilderGenerator.kt:315 */
  389    607   
        self.failure_code = input;
  390    608   
        self
         609  +
        /* BuilderGenerator.kt:314 */
  391    610   
    }
  392         -
    /// <p>Status code for the result of the failed export.</p>
         611  +
    /// /* BuilderGenerator.kt:334 */<p>Status code for the result of the failed export.</p>
         612  +
    /* BuilderGenerator.kt:336 */
  393    613   
    pub fn get_failure_code(&self) -> &::std::option::Option<::std::string::String> {
         614  +
        /* BuilderGenerator.kt:337 */
  394    615   
        &self.failure_code
         616  +
        /* BuilderGenerator.kt:336 */
  395    617   
    }
  396         -
    /// <p>Export failure reason description.</p>
         618  +
    /// /* BuilderGenerator.kt:286 */<p>Export failure reason description.</p>
         619  +
    /* BuilderGenerator.kt:291 */
  397    620   
    pub fn failure_message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         621  +
        /* BuilderGenerator.kt:292 */
  398    622   
        self.failure_message = ::std::option::Option::Some(input.into());
         623  +
        /* BuilderGenerator.kt:293 */
  399    624   
        self
         625  +
        /* BuilderGenerator.kt:291 */
  400    626   
    }
  401         -
    /// <p>Export failure reason description.</p>
         627  +
    /// /* BuilderGenerator.kt:312 */<p>Export failure reason description.</p>
         628  +
    /* BuilderGenerator.kt:314 */
  402    629   
    pub fn set_failure_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         630  +
        /* BuilderGenerator.kt:315 */
  403    631   
        self.failure_message = input;
  404    632   
        self
         633  +
        /* BuilderGenerator.kt:314 */
  405    634   
    }
  406         -
    /// <p>Export failure reason description.</p>
         635  +
    /// /* BuilderGenerator.kt:334 */<p>Export failure reason description.</p>
         636  +
    /* BuilderGenerator.kt:336 */
  407    637   
    pub fn get_failure_message(&self) -> &::std::option::Option<::std::string::String> {
         638  +
        /* BuilderGenerator.kt:337 */
  408    639   
        &self.failure_message
         640  +
        /* BuilderGenerator.kt:336 */
  409    641   
    }
  410         -
    /// <p>The format of the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         642  +
    /// /* BuilderGenerator.kt:286 */<p>The format of the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         643  +
    /* BuilderGenerator.kt:291 */
  411    644   
    pub fn export_format(mut self, input: crate::types::ExportFormat) -> Self {
         645  +
        /* BuilderGenerator.kt:292 */
  412    646   
        self.export_format = ::std::option::Option::Some(input);
         647  +
        /* BuilderGenerator.kt:293 */
  413    648   
        self
         649  +
        /* BuilderGenerator.kt:291 */
  414    650   
    }
  415         -
    /// <p>The format of the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         651  +
    /// /* BuilderGenerator.kt:312 */<p>The format of the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         652  +
    /* BuilderGenerator.kt:314 */
  416    653   
    pub fn set_export_format(mut self, input: ::std::option::Option<crate::types::ExportFormat>) -> Self {
         654  +
        /* BuilderGenerator.kt:315 */
  417    655   
        self.export_format = input;
  418    656   
        self
         657  +
        /* BuilderGenerator.kt:314 */
  419    658   
    }
  420         -
    /// <p>The format of the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         659  +
    /// /* BuilderGenerator.kt:334 */<p>The format of the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p>
         660  +
    /* BuilderGenerator.kt:336 */
  421    661   
    pub fn get_export_format(&self) -> &::std::option::Option<crate::types::ExportFormat> {
         662  +
        /* BuilderGenerator.kt:337 */
  422    663   
        &self.export_format
         664  +
        /* BuilderGenerator.kt:336 */
  423    665   
    }
  424         -
    /// <p>The billable size of the table export.</p>
         666  +
    /// /* BuilderGenerator.kt:286 */<p>The billable size of the table export.</p>
         667  +
    /* BuilderGenerator.kt:291 */
  425    668   
    pub fn billed_size_bytes(mut self, input: i64) -> Self {
         669  +
        /* BuilderGenerator.kt:292 */
  426    670   
        self.billed_size_bytes = ::std::option::Option::Some(input);
         671  +
        /* BuilderGenerator.kt:293 */
  427    672   
        self
         673  +
        /* BuilderGenerator.kt:291 */
  428    674   
    }
  429         -
    /// <p>The billable size of the table export.</p>
         675  +
    /// /* BuilderGenerator.kt:312 */<p>The billable size of the table export.</p>
         676  +
    /* BuilderGenerator.kt:314 */
  430    677   
    pub fn set_billed_size_bytes(mut self, input: ::std::option::Option<i64>) -> Self {
         678  +
        /* BuilderGenerator.kt:315 */
  431    679   
        self.billed_size_bytes = input;
  432    680   
        self
         681  +
        /* BuilderGenerator.kt:314 */
  433    682   
    }
  434         -
    /// <p>The billable size of the table export.</p>
         683  +
    /// /* BuilderGenerator.kt:334 */<p>The billable size of the table export.</p>
         684  +
    /* BuilderGenerator.kt:336 */
  435    685   
    pub fn get_billed_size_bytes(&self) -> &::std::option::Option<i64> {
         686  +
        /* BuilderGenerator.kt:337 */
  436    687   
        &self.billed_size_bytes
         688  +
        /* BuilderGenerator.kt:336 */
  437    689   
    }
  438         -
    /// <p>The number of items exported.</p>
         690  +
    /// /* BuilderGenerator.kt:286 */<p>The number of items exported.</p>
         691  +
    /* BuilderGenerator.kt:291 */
  439    692   
    pub fn item_count(mut self, input: i64) -> Self {
         693  +
        /* BuilderGenerator.kt:292 */
  440    694   
        self.item_count = ::std::option::Option::Some(input);
         695  +
        /* BuilderGenerator.kt:293 */
  441    696   
        self
         697  +
        /* BuilderGenerator.kt:291 */
  442    698   
    }
  443         -
    /// <p>The number of items exported.</p>
         699  +
    /// /* BuilderGenerator.kt:312 */<p>The number of items exported.</p>
         700  +
    /* BuilderGenerator.kt:314 */
  444    701   
    pub fn set_item_count(mut self, input: ::std::option::Option<i64>) -> Self {
         702  +
        /* BuilderGenerator.kt:315 */
  445    703   
        self.item_count = input;
  446    704   
        self
         705  +
        /* BuilderGenerator.kt:314 */
  447    706   
    }
  448         -
    /// <p>The number of items exported.</p>
         707  +
    /// /* BuilderGenerator.kt:334 */<p>The number of items exported.</p>
         708  +
    /* BuilderGenerator.kt:336 */
  449    709   
    pub fn get_item_count(&self) -> &::std::option::Option<i64> {
         710  +
        /* BuilderGenerator.kt:337 */
  450    711   
        &self.item_count
         712  +
        /* BuilderGenerator.kt:336 */
  451    713   
    }
  452         -
    /// Consumes the builder and constructs a [`ExportDescription`](crate::types::ExportDescription).
         714  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`ExportDescription`](crate::types::ExportDescription).
         715  +
    /* BuilderGenerator.kt:253 */
  453    716   
    pub fn build(self) -> crate::types::ExportDescription {
         717  +
        /* BuilderGenerator.kt:477 */
  454    718   
        crate::types::ExportDescription {
  455         -
            export_arn: self.export_arn,
         719  +
            /* BuilderGenerator.kt:481 */ export_arn: self.export_arn,
         720  +
            /* BuilderGenerator.kt:481 */
  456    721   
            export_status: self.export_status,
         722  +
            /* BuilderGenerator.kt:481 */
  457    723   
            start_time: self.start_time,
         724  +
            /* BuilderGenerator.kt:481 */
  458    725   
            end_time: self.end_time,
         726  +
            /* BuilderGenerator.kt:481 */
  459    727   
            export_manifest: self.export_manifest,
         728  +
            /* BuilderGenerator.kt:481 */
  460    729   
            table_arn: self.table_arn,
         730  +
            /* BuilderGenerator.kt:481 */
  461    731   
            table_id: self.table_id,
         732  +
            /* BuilderGenerator.kt:481 */
  462    733   
            export_time: self.export_time,
         734  +
            /* BuilderGenerator.kt:481 */
  463    735   
            client_token: self.client_token,
         736  +
            /* BuilderGenerator.kt:481 */
  464    737   
            s3_bucket: self.s3_bucket,
         738  +
            /* BuilderGenerator.kt:481 */
  465    739   
            s3_bucket_owner: self.s3_bucket_owner,
         740  +
            /* BuilderGenerator.kt:481 */
  466    741   
            s3_prefix: self.s3_prefix,
         742  +
            /* BuilderGenerator.kt:481 */
  467    743   
            s3_sse_algorithm: self.s3_sse_algorithm,
         744  +
            /* BuilderGenerator.kt:481 */
  468    745   
            s3_sse_kms_key_id: self.s3_sse_kms_key_id,
         746  +
            /* BuilderGenerator.kt:481 */
  469    747   
            failure_code: self.failure_code,
         748  +
            /* BuilderGenerator.kt:481 */
  470    749   
            failure_message: self.failure_message,
         750  +
            /* BuilderGenerator.kt:481 */
  471    751   
            export_format: self.export_format,
         752  +
            /* BuilderGenerator.kt:481 */
  472    753   
            billed_size_bytes: self.billed_size_bytes,
         754  +
            /* BuilderGenerator.kt:481 */
  473    755   
            item_count: self.item_count,
         756  +
            /* BuilderGenerator.kt:477 */
  474    757   
        }
         758  +
        /* BuilderGenerator.kt:253 */
  475    759   
    }
         760  +
    /* BuilderGenerator.kt:355 */
  476    761   
}