AWS SDK

AWS SDK

rev. 54a52cba1f1ff5fc52d06b3721da33bf6bc3bfda

Files changed:

tmp-codegen-diff/aws-sdk/sdk/s3/src/types/_csv_output.rs

@@ -1,0 +168,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Describes how uncompressed comma-separated values (CSV)-formatted results are formatted.</p>
    4         -
#[non_exhaustive]
    5         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct CsvOutput {
    7         -
    /// <p>Indicates whether to use quotation marks around output fields.</p>
    8         -
    /// <ul>
    9         -
    /// <li>
   10         -
    /// <p><code>ALWAYS</code>: Always use quotation marks for output fields.</p></li>
   11         -
    /// <li>
   12         -
    /// <p><code>ASNEEDED</code>: Use quotation marks for output fields when needed.</p></li>
   13         -
    /// </ul>
   14         -
    pub quote_fields: ::std::option::Option<crate::types::QuoteFields>,
   15         -
    /// <p>The single character used for escaping the quote character inside an already escaped value.</p>
   16         -
    pub quote_escape_character: ::std::option::Option<::std::string::String>,
   17         -
    /// <p>A single character used to separate individual records in the output. Instead of the default value, you can specify an arbitrary delimiter.</p>
   18         -
    pub record_delimiter: ::std::option::Option<::std::string::String>,
   19         -
    /// <p>The value used to separate individual fields in a record. You can specify an arbitrary delimiter.</p>
   20         -
    pub field_delimiter: ::std::option::Option<::std::string::String>,
   21         -
    /// <p>A single character used for escaping when the field delimiter is part of the value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this field value in quotation marks, as follows: <code>" a , b "</code>.</p>
   22         -
    pub quote_character: ::std::option::Option<::std::string::String>,
   23         -
}
   24         -
impl CsvOutput {
   25         -
    /// <p>Indicates whether to use quotation marks around output fields.</p>
   26         -
    /// <ul>
   27         -
    /// <li>
   28         -
    /// <p><code>ALWAYS</code>: Always use quotation marks for output fields.</p></li>
   29         -
    /// <li>
   30         -
    /// <p><code>ASNEEDED</code>: Use quotation marks for output fields when needed.</p></li>
   31         -
    /// </ul>
   32         -
    pub fn quote_fields(&self) -> ::std::option::Option<&crate::types::QuoteFields> {
   33         -
        self.quote_fields.as_ref()
   34         -
    }
   35         -
    /// <p>The single character used for escaping the quote character inside an already escaped value.</p>
   36         -
    pub fn quote_escape_character(&self) -> ::std::option::Option<&str> {
   37         -
        self.quote_escape_character.as_deref()
   38         -
    }
   39         -
    /// <p>A single character used to separate individual records in the output. Instead of the default value, you can specify an arbitrary delimiter.</p>
   40         -
    pub fn record_delimiter(&self) -> ::std::option::Option<&str> {
   41         -
        self.record_delimiter.as_deref()
   42         -
    }
   43         -
    /// <p>The value used to separate individual fields in a record. You can specify an arbitrary delimiter.</p>
   44         -
    pub fn field_delimiter(&self) -> ::std::option::Option<&str> {
   45         -
        self.field_delimiter.as_deref()
   46         -
    }
   47         -
    /// <p>A single character used for escaping when the field delimiter is part of the value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this field value in quotation marks, as follows: <code>" a , b "</code>.</p>
   48         -
    pub fn quote_character(&self) -> ::std::option::Option<&str> {
   49         -
        self.quote_character.as_deref()
   50         -
    }
   51         -
}
   52         -
impl CsvOutput {
   53         -
    /// Creates a new builder-style object to manufacture [`CsvOutput`](crate::types::CsvOutput).
   54         -
    pub fn builder() -> crate::types::builders::CsvOutputBuilder {
   55         -
        crate::types::builders::CsvOutputBuilder::default()
   56         -
    }
   57         -
}
   58         -
   59         -
/// A builder for [`CsvOutput`](crate::types::CsvOutput).
   60         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   61         -
#[non_exhaustive]
   62         -
pub struct CsvOutputBuilder {
   63         -
    pub(crate) quote_fields: ::std::option::Option<crate::types::QuoteFields>,
   64         -
    pub(crate) quote_escape_character: ::std::option::Option<::std::string::String>,
   65         -
    pub(crate) record_delimiter: ::std::option::Option<::std::string::String>,
   66         -
    pub(crate) field_delimiter: ::std::option::Option<::std::string::String>,
   67         -
    pub(crate) quote_character: ::std::option::Option<::std::string::String>,
   68         -
}
   69         -
impl CsvOutputBuilder {
   70         -
    /// <p>Indicates whether to use quotation marks around output fields.</p>
   71         -
    /// <ul>
   72         -
    /// <li>
   73         -
    /// <p><code>ALWAYS</code>: Always use quotation marks for output fields.</p></li>
   74         -
    /// <li>
   75         -
    /// <p><code>ASNEEDED</code>: Use quotation marks for output fields when needed.</p></li>
   76         -
    /// </ul>
   77         -
    pub fn quote_fields(mut self, input: crate::types::QuoteFields) -> Self {
   78         -
        self.quote_fields = ::std::option::Option::Some(input);
   79         -
        self
   80         -
    }
   81         -
    /// <p>Indicates whether to use quotation marks around output fields.</p>
   82         -
    /// <ul>
   83         -
    /// <li>
   84         -
    /// <p><code>ALWAYS</code>: Always use quotation marks for output fields.</p></li>
   85         -
    /// <li>
   86         -
    /// <p><code>ASNEEDED</code>: Use quotation marks for output fields when needed.</p></li>
   87         -
    /// </ul>
   88         -
    pub fn set_quote_fields(mut self, input: ::std::option::Option<crate::types::QuoteFields>) -> Self {
   89         -
        self.quote_fields = input;
   90         -
        self
   91         -
    }
   92         -
    /// <p>Indicates whether to use quotation marks around output fields.</p>
   93         -
    /// <ul>
   94         -
    /// <li>
   95         -
    /// <p><code>ALWAYS</code>: Always use quotation marks for output fields.</p></li>
   96         -
    /// <li>
   97         -
    /// <p><code>ASNEEDED</code>: Use quotation marks for output fields when needed.</p></li>
   98         -
    /// </ul>
   99         -
    pub fn get_quote_fields(&self) -> &::std::option::Option<crate::types::QuoteFields> {
  100         -
        &self.quote_fields
  101         -
    }
  102         -
    /// <p>The single character used for escaping the quote character inside an already escaped value.</p>
  103         -
    pub fn quote_escape_character(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  104         -
        self.quote_escape_character = ::std::option::Option::Some(input.into());
  105         -
        self
  106         -
    }
  107         -
    /// <p>The single character used for escaping the quote character inside an already escaped value.</p>
  108         -
    pub fn set_quote_escape_character(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  109         -
        self.quote_escape_character = input;
  110         -
        self
  111         -
    }
  112         -
    /// <p>The single character used for escaping the quote character inside an already escaped value.</p>
  113         -
    pub fn get_quote_escape_character(&self) -> &::std::option::Option<::std::string::String> {
  114         -
        &self.quote_escape_character
  115         -
    }
  116         -
    /// <p>A single character used to separate individual records in the output. Instead of the default value, you can specify an arbitrary delimiter.</p>
  117         -
    pub fn record_delimiter(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  118         -
        self.record_delimiter = ::std::option::Option::Some(input.into());
  119         -
        self
  120         -
    }
  121         -
    /// <p>A single character used to separate individual records in the output. Instead of the default value, you can specify an arbitrary delimiter.</p>
  122         -
    pub fn set_record_delimiter(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  123         -
        self.record_delimiter = input;
  124         -
        self
  125         -
    }
  126         -
    /// <p>A single character used to separate individual records in the output. Instead of the default value, you can specify an arbitrary delimiter.</p>
  127         -
    pub fn get_record_delimiter(&self) -> &::std::option::Option<::std::string::String> {
  128         -
        &self.record_delimiter
  129         -
    }
  130         -
    /// <p>The value used to separate individual fields in a record. You can specify an arbitrary delimiter.</p>
  131         -
    pub fn field_delimiter(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  132         -
        self.field_delimiter = ::std::option::Option::Some(input.into());
  133         -
        self
  134         -
    }
  135         -
    /// <p>The value used to separate individual fields in a record. You can specify an arbitrary delimiter.</p>
  136         -
    pub fn set_field_delimiter(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  137         -
        self.field_delimiter = input;
  138         -
        self
  139         -
    }
  140         -
    /// <p>The value used to separate individual fields in a record. You can specify an arbitrary delimiter.</p>
  141         -
    pub fn get_field_delimiter(&self) -> &::std::option::Option<::std::string::String> {
  142         -
        &self.field_delimiter
  143         -
    }
  144         -
    /// <p>A single character used for escaping when the field delimiter is part of the value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this field value in quotation marks, as follows: <code>" a , b "</code>.</p>
  145         -
    pub fn quote_character(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  146         -
        self.quote_character = ::std::option::Option::Some(input.into());
  147         -
        self
  148         -
    }
  149         -
    /// <p>A single character used for escaping when the field delimiter is part of the value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this field value in quotation marks, as follows: <code>" a , b "</code>.</p>
  150         -
    pub fn set_quote_character(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  151         -
        self.quote_character = input;
  152         -
        self
  153         -
    }
  154         -
    /// <p>A single character used for escaping when the field delimiter is part of the value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this field value in quotation marks, as follows: <code>" a , b "</code>.</p>
  155         -
    pub fn get_quote_character(&self) -> &::std::option::Option<::std::string::String> {
  156         -
        &self.quote_character
  157         -
    }
  158         -
    /// Consumes the builder and constructs a [`CsvOutput`](crate::types::CsvOutput).
  159         -
    pub fn build(self) -> crate::types::CsvOutput {
  160         -
        crate::types::CsvOutput {
  161         -
            quote_fields: self.quote_fields,
  162         -
            quote_escape_character: self.quote_escape_character,
  163         -
            record_delimiter: self.record_delimiter,
  164         -
            field_delimiter: self.field_delimiter,
  165         -
            quote_character: self.quote_character,
  166         -
        }
  167         -
    }
  168         -
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/types/_destination.rs

@@ -1,1 +66,64 @@
    3      3   
/// <p>Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket and S3 Replication Time Control (S3 RTC).</p>
    4      4   
#[non_exhaustive]
    5      5   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6      6   
pub struct Destination {
    7      7   
    /// <p>The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.</p>
    8      8   
    pub bucket: ::std::string::String,
    9      9   
    /// <p>Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the Amazon Web Services account that owns the destination bucket by specifying the <code>AccessControlTranslation</code> property, this is the account ID of the destination bucket owner. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon S3 User Guide</i>.</p>
   10     10   
    pub account: ::std::option::Option<::std::string::String>,
   11     11   
    /// <p>The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica.</p>
   12     12   
    /// <p>For valid values, see the <code>StorageClass</code> element of the <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT Bucket replication</a> action in the <i>Amazon S3 API Reference</i>.</p>
   13         -
    /// <p><code>FSX_OPENZFS</code> is not an accepted value when replicating objects.</p>
   14     13   
    pub storage_class: ::std::option::Option<crate::types::StorageClass>,
   15     14   
    /// <p>Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the Amazon Web Services account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same Amazon Web Services account that owns the source object.</p>
   16     15   
    pub access_control_translation: ::std::option::Option<crate::types::AccessControlTranslation>,
   17     16   
    /// <p>A container that provides information about encryption. If <code>SourceSelectionCriteria</code> is specified, you must specify this element.</p>
   18     17   
    pub encryption_configuration: ::std::option::Option<crate::types::EncryptionConfiguration>,
   19     18   
    /// <p>A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a <code>Metrics</code> block.</p>
   20     19   
    pub replication_time: ::std::option::Option<crate::types::ReplicationTime>,
   21     20   
    /// <p>A container specifying replication metrics-related settings enabling replication metrics and events.</p>
   22     21   
    pub metrics: ::std::option::Option<crate::types::Metrics>,
   23     22   
}
   24     23   
impl Destination {
   25     24   
    /// <p>The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.</p>
   26     25   
    pub fn bucket(&self) -> &str {
   27     26   
        use std::ops::Deref;
   28     27   
        self.bucket.deref()
   29     28   
    }
   30     29   
    /// <p>Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the Amazon Web Services account that owns the destination bucket by specifying the <code>AccessControlTranslation</code> property, this is the account ID of the destination bucket owner. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon S3 User Guide</i>.</p>
   31     30   
    pub fn account(&self) -> ::std::option::Option<&str> {
   32     31   
        self.account.as_deref()
   33     32   
    }
   34     33   
    /// <p>The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica.</p>
   35     34   
    /// <p>For valid values, see the <code>StorageClass</code> element of the <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT Bucket replication</a> action in the <i>Amazon S3 API Reference</i>.</p>
   36         -
    /// <p><code>FSX_OPENZFS</code> is not an accepted value when replicating objects.</p>
   37     35   
    pub fn storage_class(&self) -> ::std::option::Option<&crate::types::StorageClass> {
   38     36   
        self.storage_class.as_ref()
   39     37   
    }
   40     38   
    /// <p>Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the Amazon Web Services account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same Amazon Web Services account that owns the source object.</p>
   41     39   
    pub fn access_control_translation(&self) -> ::std::option::Option<&crate::types::AccessControlTranslation> {
   42     40   
        self.access_control_translation.as_ref()
   43     41   
    }
   44     42   
    /// <p>A container that provides information about encryption. If <code>SourceSelectionCriteria</code> is specified, you must specify this element.</p>
   45     43   
    pub fn encryption_configuration(&self) -> ::std::option::Option<&crate::types::EncryptionConfiguration> {
   46     44   
        self.encryption_configuration.as_ref()
@@ -78,76 +152,147 @@
   98     96   
    pub fn set_account(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
   99     97   
        self.account = input;
  100     98   
        self
  101     99   
    }
  102    100   
    /// <p>Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the Amazon Web Services account that owns the destination bucket by specifying the <code>AccessControlTranslation</code> property, this is the account ID of the destination bucket owner. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon S3 User Guide</i>.</p>
  103    101   
    pub fn get_account(&self) -> &::std::option::Option<::std::string::String> {
  104    102   
        &self.account
  105    103   
    }
  106    104   
    /// <p>The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica.</p>
  107    105   
    /// <p>For valid values, see the <code>StorageClass</code> element of the <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT Bucket replication</a> action in the <i>Amazon S3 API Reference</i>.</p>
  108         -
    /// <p><code>FSX_OPENZFS</code> is not an accepted value when replicating objects.</p>
  109    106   
    pub fn storage_class(mut self, input: crate::types::StorageClass) -> Self {
  110    107   
        self.storage_class = ::std::option::Option::Some(input);
  111    108   
        self
  112    109   
    }
  113    110   
    /// <p>The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica.</p>
  114    111   
    /// <p>For valid values, see the <code>StorageClass</code> element of the <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT Bucket replication</a> action in the <i>Amazon S3 API Reference</i>.</p>
  115         -
    /// <p><code>FSX_OPENZFS</code> is not an accepted value when replicating objects.</p>
  116    112   
    pub fn set_storage_class(mut self, input: ::std::option::Option<crate::types::StorageClass>) -> Self {
  117    113   
        self.storage_class = input;
  118    114   
        self
  119    115   
    }
  120    116   
    /// <p>The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica.</p>
  121    117   
    /// <p>For valid values, see the <code>StorageClass</code> element of the <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT Bucket replication</a> action in the <i>Amazon S3 API Reference</i>.</p>
  122         -
    /// <p><code>FSX_OPENZFS</code> is not an accepted value when replicating objects.</p>
  123    118   
    pub fn get_storage_class(&self) -> &::std::option::Option<crate::types::StorageClass> {
  124    119   
        &self.storage_class
  125    120   
    }
  126    121   
    /// <p>Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the Amazon Web Services account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same Amazon Web Services account that owns the source object.</p>
  127    122   
    pub fn access_control_translation(mut self, input: crate::types::AccessControlTranslation) -> Self {
  128    123   
        self.access_control_translation = ::std::option::Option::Some(input);
  129    124   
        self
  130    125   
    }
  131    126   
    /// <p>Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the Amazon Web Services account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same Amazon Web Services account that owns the source object.</p>
  132    127   
    pub fn set_access_control_translation(mut self, input: ::std::option::Option<crate::types::AccessControlTranslation>) -> Self {

tmp-codegen-diff/aws-sdk/sdk/s3/src/types/_destination_result.rs

@@ -1,0 +94,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>The destination information for the S3 Metadata configuration.</p>
    4         -
#[non_exhaustive]
    5         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct DestinationResult {
    7         -
    /// <p>The type of the table bucket where the metadata configuration is stored. The <code>aws</code> value indicates an Amazon Web Services managed table bucket, and the <code>customer</code> value indicates a customer-managed table bucket. V2 metadata configurations are stored in Amazon Web Services managed table buckets, and V1 metadata configurations are stored in customer-managed table buckets.</p>
    8         -
    pub table_bucket_type: ::std::option::Option<crate::types::S3TablesBucketType>,
    9         -
    /// <p>The Amazon Resource Name (ARN) of the table bucket where the metadata configuration is stored.</p>
   10         -
    pub table_bucket_arn: ::std::option::Option<::std::string::String>,
   11         -
    /// <p>The namespace in the table bucket where the metadata tables for a metadata configuration are stored.</p>
   12         -
    pub table_namespace: ::std::option::Option<::std::string::String>,
   13         -
}
   14         -
impl DestinationResult {
   15         -
    /// <p>The type of the table bucket where the metadata configuration is stored. The <code>aws</code> value indicates an Amazon Web Services managed table bucket, and the <code>customer</code> value indicates a customer-managed table bucket. V2 metadata configurations are stored in Amazon Web Services managed table buckets, and V1 metadata configurations are stored in customer-managed table buckets.</p>
   16         -
    pub fn table_bucket_type(&self) -> ::std::option::Option<&crate::types::S3TablesBucketType> {
   17         -
        self.table_bucket_type.as_ref()
   18         -
    }
   19         -
    /// <p>The Amazon Resource Name (ARN) of the table bucket where the metadata configuration is stored.</p>
   20         -
    pub fn table_bucket_arn(&self) -> ::std::option::Option<&str> {
   21         -
        self.table_bucket_arn.as_deref()
   22         -
    }
   23         -
    /// <p>The namespace in the table bucket where the metadata tables for a metadata configuration are stored.</p>
   24         -
    pub fn table_namespace(&self) -> ::std::option::Option<&str> {
   25         -
        self.table_namespace.as_deref()
   26         -
    }
   27         -
}
   28         -
impl DestinationResult {
   29         -
    /// Creates a new builder-style object to manufacture [`DestinationResult`](crate::types::DestinationResult).
   30         -
    pub fn builder() -> crate::types::builders::DestinationResultBuilder {
   31         -
        crate::types::builders::DestinationResultBuilder::default()
   32         -
    }
   33         -
}
   34         -
   35         -
/// A builder for [`DestinationResult`](crate::types::DestinationResult).
   36         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   37         -
#[non_exhaustive]
   38         -
pub struct DestinationResultBuilder {
   39         -
    pub(crate) table_bucket_type: ::std::option::Option<crate::types::S3TablesBucketType>,
   40         -
    pub(crate) table_bucket_arn: ::std::option::Option<::std::string::String>,
   41         -
    pub(crate) table_namespace: ::std::option::Option<::std::string::String>,
   42         -
}
   43         -
impl DestinationResultBuilder {
   44         -
    /// <p>The type of the table bucket where the metadata configuration is stored. The <code>aws</code> value indicates an Amazon Web Services managed table bucket, and the <code>customer</code> value indicates a customer-managed table bucket. V2 metadata configurations are stored in Amazon Web Services managed table buckets, and V1 metadata configurations are stored in customer-managed table buckets.</p>
   45         -
    pub fn table_bucket_type(mut self, input: crate::types::S3TablesBucketType) -> Self {
   46         -
        self.table_bucket_type = ::std::option::Option::Some(input);
   47         -
        self
   48         -
    }
   49         -
    /// <p>The type of the table bucket where the metadata configuration is stored. The <code>aws</code> value indicates an Amazon Web Services managed table bucket, and the <code>customer</code> value indicates a customer-managed table bucket. V2 metadata configurations are stored in Amazon Web Services managed table buckets, and V1 metadata configurations are stored in customer-managed table buckets.</p>
   50         -
    pub fn set_table_bucket_type(mut self, input: ::std::option::Option<crate::types::S3TablesBucketType>) -> Self {
   51         -
        self.table_bucket_type = input;
   52         -
        self
   53         -
    }
   54         -
    /// <p>The type of the table bucket where the metadata configuration is stored. The <code>aws</code> value indicates an Amazon Web Services managed table bucket, and the <code>customer</code> value indicates a customer-managed table bucket. V2 metadata configurations are stored in Amazon Web Services managed table buckets, and V1 metadata configurations are stored in customer-managed table buckets.</p>
   55         -
    pub fn get_table_bucket_type(&self) -> &::std::option::Option<crate::types::S3TablesBucketType> {
   56         -
        &self.table_bucket_type
   57         -
    }
   58         -
    /// <p>The Amazon Resource Name (ARN) of the table bucket where the metadata configuration is stored.</p>
   59         -
    pub fn table_bucket_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   60         -
        self.table_bucket_arn = ::std::option::Option::Some(input.into());
   61         -
        self
   62         -
    }
   63         -
    /// <p>The Amazon Resource Name (ARN) of the table bucket where the metadata configuration is stored.</p>
   64         -
    pub fn set_table_bucket_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
   65         -
        self.table_bucket_arn = input;
   66         -
        self
   67         -
    }
   68         -
    /// <p>The Amazon Resource Name (ARN) of the table bucket where the metadata configuration is stored.</p>
   69         -
    pub fn get_table_bucket_arn(&self) -> &::std::option::Option<::std::string::String> {
   70         -
        &self.table_bucket_arn
   71         -
    }
   72         -
    /// <p>The namespace in the table bucket where the metadata tables for a metadata configuration are stored.</p>
   73         -
    pub fn table_namespace(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   74         -
        self.table_namespace = ::std::option::Option::Some(input.into());
   75         -
        self
   76         -
    }
   77         -
    /// <p>The namespace in the table bucket where the metadata tables for a metadata configuration are stored.</p>
   78         -
    pub fn set_table_namespace(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
   79         -
        self.table_namespace = input;
   80         -
        self
   81         -
    }
   82         -
    /// <p>The namespace in the table bucket where the metadata tables for a metadata configuration are stored.</p>
   83         -
    pub fn get_table_namespace(&self) -> &::std::option::Option<::std::string::String> {
   84         -
        &self.table_namespace
   85         -
    }
   86         -
    /// Consumes the builder and constructs a [`DestinationResult`](crate::types::DestinationResult).
   87         -
    pub fn build(self) -> crate::types::DestinationResult {
   88         -
        crate::types::DestinationResult {
   89         -
            table_bucket_type: self.table_bucket_type,
   90         -
            table_bucket_arn: self.table_bucket_arn,
   91         -
            table_namespace: self.table_namespace,
   92         -
        }
   93         -
    }
   94         -
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/types/_encoding_type.rs

@@ -8,8 +77,79 @@
   28     28   
/// version of SDK where the variant `EncodingType::NewFeature` is defined.
   29     29   
/// Specifically, when `encodingtype` represents `NewFeature`,
   30     30   
/// the execution path will hit the second last match arm as before by virtue of
   31     31   
/// calling `as_str` on `EncodingType::NewFeature` also yielding `"NewFeature"`.
   32     32   
///
   33     33   
/// Explicitly matching on the `Unknown` variant should
   34     34   
/// be avoided for two reasons:
   35     35   
/// - The inner data `UnknownVariantValue` is opaque, and no further information can be extracted.
   36     36   
/// - It might inadvertently shadow other intended match arms.
   37     37   
///
   38         -
/// <p>Encoding type used by Amazon S3 to encode the <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html">object keys</a> in the response. Responses are
   39         -
/// encoded only in UTF-8. An object key can contain any Unicode character. However, the XML 1.0 parser
   40         -
/// can't parse certain characters, such as characters with an ASCII value from 0 to 10. For characters that
   41         -
/// aren't supported in XML 1.0, you can add this parameter to request that Amazon S3 encode the keys in the
   42         -
/// response. For more information about characters to avoid in object key names, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines">Object key
   43         -
/// naming guidelines</a>.</p>
          38  +
/// <p>Encoding type used by Amazon S3 to encode the <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html">object keys</a> in the response.
          39  +
/// Responses are encoded only in UTF-8. An object key can contain any Unicode character.
          40  +
/// However, the XML 1.0 parser can't parse certain characters, such as characters with an
          41  +
/// ASCII value from 0 to 10. For characters that aren't supported in XML 1.0, you can add this
          42  +
/// parameter to request that Amazon S3 encode the keys in the response. For more information about
          43  +
/// characters to avoid in object key names, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines">Object key naming
          44  +
/// guidelines</a>.</p>
   44     45   
/// <note>
   45         -
/// <p>When using the URL encoding type, non-ASCII characters that are used in an object's key name will
   46         -
/// be percent-encoded according to UTF-8 code values. For example, the object
   47         -
/// <code>test_file(3).png</code> will appear as <code>test_file%283%29.png</code>.</p>
          46  +
/// <p>When using the URL encoding type, non-ASCII characters that are used in an object's
          47  +
/// key name will be percent-encoded according to UTF-8 code values. For example, the object
          48  +
/// <code>test_file(3).png</code> will appear as
          49  +
/// <code>test_file%283%29.png</code>.</p>
   48     50   
/// </note>
   49     51   
#[non_exhaustive]
   50     52   
#[derive(
   51     53   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash,
   52     54   
)]
   53     55   
pub enum EncodingType {
   54     56   
    #[allow(missing_docs)] // documentation missing in model
   55     57   
    Url,
   56     58   
    /// `Unknown` contains new variants that have been added since this code was generated.
   57     59   
    #[deprecated(note = "Don't directly match on `Unknown`. See the docs on this enum for the correct way to handle unknown variants.")]

tmp-codegen-diff/aws-sdk/sdk/s3/src/types/_end_event.rs

@@ -1,0 +23,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>A message that indicates the request is complete and no more messages will be sent. You should not assume that the request is complete until the client receives an <code>EndEvent</code>.</p>
    4         -
#[non_exhaustive]
    5         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct EndEvent {}
    7         -
impl EndEvent {
    8         -
    /// Creates a new builder-style object to manufacture [`EndEvent`](crate::types::EndEvent).
    9         -
    pub fn builder() -> crate::types::builders::EndEventBuilder {
   10         -
        crate::types::builders::EndEventBuilder::default()
   11         -
    }
   12         -
}
   13         -
   14         -
/// A builder for [`EndEvent`](crate::types::EndEvent).
   15         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   16         -
#[non_exhaustive]
   17         -
pub struct EndEventBuilder {}
   18         -
impl EndEventBuilder {
   19         -
    /// Consumes the builder and constructs a [`EndEvent`](crate::types::EndEvent).
   20         -
    pub fn build(self) -> crate::types::EndEvent {
   21         -
        crate::types::EndEvent {}
   22         -
    }
   23         -
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/types/_error_details.rs

@@ -1,1 +404,212 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
    3         -
/// <p>If an S3 Metadata V1 <code>CreateBucketMetadataTableConfiguration</code> or V2 <code>CreateBucketMetadataConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code and error message.</p><note>
    4         -
/// <p>If you created your S3 Metadata configuration before July 15, 2025, we recommend that you delete and re-create your configuration by using <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html">CreateBucketMetadataConfiguration</a> so that you can expire journal table records and create a live inventory table.</p>
    5         -
/// </note>
           3  +
/// <p>If the <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code and error message.</p>
    6      4   
#[non_exhaustive]
    7      5   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    8      6   
pub struct ErrorDetails {
    9         -
    /// <p>If the V1 <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
           7  +
    /// <p>If the <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
   10      8   
    /// <ul>
   11      9   
    /// <li>
   12     10   
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code> and <code>s3tables:PutTablePolicy</code> permissions, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   13     11   
    /// <li>
   14     12   
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   15     13   
    /// <li>
   16     14   
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   17     15   
    /// <li>
   18     16   
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   19     17   
    /// <li>
   20     18   
    /// <p><code>TableAlreadyExists</code> - The table that you specified already exists in the table bucket's namespace. Specify a different table name. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   21     19   
    /// <li>
   22     20   
    /// <p><code>TableBucketNotFound</code> - The table bucket that you specified doesn't exist in this Amazon Web Services Region and account. Create or choose a different table bucket. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   23     21   
    /// </ul>
   24         -
    /// <p>If the V2 <code>CreateBucketMetadataConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
   25         -
    /// <ul>
   26         -
    /// <li>
   27         -
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateTableBucket</code>, <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code>, <code>s3tables:PutTablePolicy</code>, <code>kms:DescribeKey</code>, and <code>s3tables:PutTableEncryption</code> permissions. Additionally, ensure that the KMS key used to encrypt the table still exists, is active and has a resource policy granting access to the S3 service principals '<code>maintenance.s3tables.amazonaws.com</code>' and '<code>metadata.s3.amazonaws.com</code>'. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   28         -
    /// <li>
   29         -
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   30         -
    /// <li>
   31         -
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   32         -
    /// <li>
   33         -
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   34         -
    /// <li>
   35         -
    /// <p><code>JournalTableAlreadyExists</code> - A journal table already exists in the Amazon Web Services managed table bucket's namespace. Delete the journal table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   36         -
    /// <li>
   37         -
    /// <p><code>InventoryTableAlreadyExists</code> - An inventory table already exists in the Amazon Web Services managed table bucket's namespace. Delete the inventory table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   38         -
    /// <li>
   39         -
    /// <p><code>JournalTableNotAvailable</code> - The journal table that the inventory table relies on has a <code>FAILED</code> status. An inventory table requires a journal table with an <code>ACTIVE</code> status. To create a new journal or inventory table, you must delete the metadata configuration for this bucket, along with any journal or inventory tables, and then create a new metadata configuration.</p></li>
   40         -
    /// <li>
   41         -
    /// <p><code>NoSuchBucket</code> - The specified general purpose bucket does not exist.</p></li>
   42         -
    /// </ul>
   43     22   
    pub error_code: ::std::option::Option<::std::string::String>,
   44         -
    /// <p>If the V1 <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error message. The possible error codes and error messages are as follows:</p>
          23  +
    /// <p>If the <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error message. The possible error codes and error messages are as follows:</p>
   45     24   
    /// <ul>
   46     25   
    /// <li>
   47     26   
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code> and <code>s3tables:PutTablePolicy</code> permissions, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   48     27   
    /// <li>
   49     28   
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   50     29   
    /// <li>
   51     30   
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   52     31   
    /// <li>
   53     32   
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   54     33   
    /// <li>
   55     34   
    /// <p><code>TableAlreadyExists</code> - The table that you specified already exists in the table bucket's namespace. Specify a different table name. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   56     35   
    /// <li>
   57     36   
    /// <p><code>TableBucketNotFound</code> - The table bucket that you specified doesn't exist in this Amazon Web Services Region and account. Create or choose a different table bucket. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   58     37   
    /// </ul>
   59         -
    /// <p>If the V2 <code>CreateBucketMetadataConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
   60         -
    /// <ul>
   61         -
    /// <li>
   62         -
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateTableBucket</code>, <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code>, <code>s3tables:PutTablePolicy</code>, <code>kms:DescribeKey</code>, and <code>s3tables:PutTableEncryption</code> permissions. Additionally, ensure that the KMS key used to encrypt the table still exists, is active and has a resource policy granting access to the S3 service principals '<code>maintenance.s3tables.amazonaws.com</code>' and '<code>metadata.s3.amazonaws.com</code>'. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   63         -
    /// <li>
   64         -
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   65         -
    /// <li>
   66         -
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   67         -
    /// <li>
   68         -
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   69         -
    /// <li>
   70         -
    /// <p><code>JournalTableAlreadyExists</code> - A journal table already exists in the Amazon Web Services managed table bucket's namespace. Delete the journal table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   71         -
    /// <li>
   72         -
    /// <p><code>InventoryTableAlreadyExists</code> - An inventory table already exists in the Amazon Web Services managed table bucket's namespace. Delete the inventory table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   73         -
    /// <li>
   74         -
    /// <p><code>JournalTableNotAvailable</code> - The journal table that the inventory table relies on has a <code>FAILED</code> status. An inventory table requires a journal table with an <code>ACTIVE</code> status. To create a new journal or inventory table, you must delete the metadata configuration for this bucket, along with any journal or inventory tables, and then create a new metadata configuration.</p></li>
   75         -
    /// <li>
   76         -
    /// <p><code>NoSuchBucket</code> - The specified general purpose bucket does not exist.</p></li>
   77         -
    /// </ul>
   78     38   
    pub error_message: ::std::option::Option<::std::string::String>,
   79     39   
}
   80     40   
impl ErrorDetails {
   81         -
    /// <p>If the V1 <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
          41  +
    /// <p>If the <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
   82     42   
    /// <ul>
   83     43   
    /// <li>
   84     44   
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code> and <code>s3tables:PutTablePolicy</code> permissions, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   85     45   
    /// <li>
   86     46   
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   87     47   
    /// <li>
   88     48   
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   89     49   
    /// <li>
   90     50   
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   91     51   
    /// <li>
   92     52   
    /// <p><code>TableAlreadyExists</code> - The table that you specified already exists in the table bucket's namespace. Specify a different table name. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   93     53   
    /// <li>
   94     54   
    /// <p><code>TableBucketNotFound</code> - The table bucket that you specified doesn't exist in this Amazon Web Services Region and account. Create or choose a different table bucket. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
   95     55   
    /// </ul>
   96         -
    /// <p>If the V2 <code>CreateBucketMetadataConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
   97         -
    /// <ul>
   98         -
    /// <li>
   99         -
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateTableBucket</code>, <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code>, <code>s3tables:PutTablePolicy</code>, <code>kms:DescribeKey</code>, and <code>s3tables:PutTableEncryption</code> permissions. Additionally, ensure that the KMS key used to encrypt the table still exists, is active and has a resource policy granting access to the S3 service principals '<code>maintenance.s3tables.amazonaws.com</code>' and '<code>metadata.s3.amazonaws.com</code>'. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  100         -
    /// <li>
  101         -
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  102         -
    /// <li>
  103         -
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  104         -
    /// <li>
  105         -
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  106         -
    /// <li>
  107         -
    /// <p><code>JournalTableAlreadyExists</code> - A journal table already exists in the Amazon Web Services managed table bucket's namespace. Delete the journal table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  108         -
    /// <li>
  109         -
    /// <p><code>InventoryTableAlreadyExists</code> - An inventory table already exists in the Amazon Web Services managed table bucket's namespace. Delete the inventory table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  110         -
    /// <li>
  111         -
    /// <p><code>JournalTableNotAvailable</code> - The journal table that the inventory table relies on has a <code>FAILED</code> status. An inventory table requires a journal table with an <code>ACTIVE</code> status. To create a new journal or inventory table, you must delete the metadata configuration for this bucket, along with any journal or inventory tables, and then create a new metadata configuration.</p></li>
  112         -
    /// <li>
  113         -
    /// <p><code>NoSuchBucket</code> - The specified general purpose bucket does not exist.</p></li>
  114         -
    /// </ul>
  115     56   
    pub fn error_code(&self) -> ::std::option::Option<&str> {
  116     57   
        self.error_code.as_deref()
  117     58   
    }
  118         -
    /// <p>If the V1 <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error message. The possible error codes and error messages are as follows:</p>
          59  +
    /// <p>If the <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error message. The possible error codes and error messages are as follows:</p>
  119     60   
    /// <ul>
  120     61   
    /// <li>
  121     62   
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code> and <code>s3tables:PutTablePolicy</code> permissions, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  122     63   
    /// <li>
  123     64   
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  124     65   
    /// <li>
  125     66   
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  126     67   
    /// <li>
  127     68   
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  128     69   
    /// <li>
  129     70   
    /// <p><code>TableAlreadyExists</code> - The table that you specified already exists in the table bucket's namespace. Specify a different table name. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  130     71   
    /// <li>
  131     72   
    /// <p><code>TableBucketNotFound</code> - The table bucket that you specified doesn't exist in this Amazon Web Services Region and account. Create or choose a different table bucket. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  132     73   
    /// </ul>
  133         -
    /// <p>If the V2 <code>CreateBucketMetadataConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
  134         -
    /// <ul>
  135         -
    /// <li>
  136         -
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateTableBucket</code>, <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code>, <code>s3tables:PutTablePolicy</code>, <code>kms:DescribeKey</code>, and <code>s3tables:PutTableEncryption</code> permissions. Additionally, ensure that the KMS key used to encrypt the table still exists, is active and has a resource policy granting access to the S3 service principals '<code>maintenance.s3tables.amazonaws.com</code>' and '<code>metadata.s3.amazonaws.com</code>'. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  137         -
    /// <li>
  138         -
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  139         -
    /// <li>
  140         -
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  141         -
    /// <li>
  142         -
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  143         -
    /// <li>
  144         -
    /// <p><code>JournalTableAlreadyExists</code> - A journal table already exists in the Amazon Web Services managed table bucket's namespace. Delete the journal table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  145         -
    /// <li>
  146         -
    /// <p><code>InventoryTableAlreadyExists</code> - An inventory table already exists in the Amazon Web Services managed table bucket's namespace. Delete the inventory table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  147         -
    /// <li>
  148         -
    /// <p><code>JournalTableNotAvailable</code> - The journal table that the inventory table relies on has a <code>FAILED</code> status. An inventory table requires a journal table with an <code>ACTIVE</code> status. To create a new journal or inventory table, you must delete the metadata configuration for this bucket, along with any journal or inventory tables, and then create a new metadata configuration.</p></li>
  149         -
    /// <li>
  150         -
    /// <p><code>NoSuchBucket</code> - The specified general purpose bucket does not exist.</p></li>
  151         -
    /// </ul>
  152     74   
    pub fn error_message(&self) -> ::std::option::Option<&str> {
  153     75   
        self.error_message.as_deref()
  154     76   
    }
  155     77   
}
  156     78   
impl ErrorDetails {
  157     79   
    /// Creates a new builder-style object to manufacture [`ErrorDetails`](crate::types::ErrorDetails).
  158     80   
    pub fn builder() -> crate::types::builders::ErrorDetailsBuilder {
  159     81   
        crate::types::builders::ErrorDetailsBuilder::default()
  160     82   
    }
  161     83   
}
  162     84   
  163     85   
/// A builder for [`ErrorDetails`](crate::types::ErrorDetails).
  164     86   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  165     87   
#[non_exhaustive]
  166     88   
pub struct ErrorDetailsBuilder {
  167     89   
    pub(crate) error_code: ::std::option::Option<::std::string::String>,
  168     90   
    pub(crate) error_message: ::std::option::Option<::std::string::String>,
  169     91   
}
  170     92   
impl ErrorDetailsBuilder {
  171         -
    /// <p>If the V1 <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
          93  +
    /// <p>If the <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
  172     94   
    /// <ul>
  173     95   
    /// <li>
  174     96   
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code> and <code>s3tables:PutTablePolicy</code> permissions, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  175     97   
    /// <li>
  176     98   
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  177     99   
    /// <li>
  178    100   
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  179    101   
    /// <li>
  180    102   
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  181    103   
    /// <li>
  182    104   
    /// <p><code>TableAlreadyExists</code> - The table that you specified already exists in the table bucket's namespace. Specify a different table name. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  183    105   
    /// <li>
  184    106   
    /// <p><code>TableBucketNotFound</code> - The table bucket that you specified doesn't exist in this Amazon Web Services Region and account. Create or choose a different table bucket. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  185    107   
    /// </ul>
  186         -
    /// <p>If the V2 <code>CreateBucketMetadataConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
  187         -
    /// <ul>
  188         -
    /// <li>
  189         -
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateTableBucket</code>, <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code>, <code>s3tables:PutTablePolicy</code>, <code>kms:DescribeKey</code>, and <code>s3tables:PutTableEncryption</code> permissions. Additionally, ensure that the KMS key used to encrypt the table still exists, is active and has a resource policy granting access to the S3 service principals '<code>maintenance.s3tables.amazonaws.com</code>' and '<code>metadata.s3.amazonaws.com</code>'. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  190         -
    /// <li>
  191         -
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  192         -
    /// <li>
  193         -
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  194         -
    /// <li>
  195         -
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  196         -
    /// <li>
  197         -
    /// <p><code>JournalTableAlreadyExists</code> - A journal table already exists in the Amazon Web Services managed table bucket's namespace. Delete the journal table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  198         -
    /// <li>
  199         -
    /// <p><code>InventoryTableAlreadyExists</code> - An inventory table already exists in the Amazon Web Services managed table bucket's namespace. Delete the inventory table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  200         -
    /// <li>
  201         -
    /// <p><code>JournalTableNotAvailable</code> - The journal table that the inventory table relies on has a <code>FAILED</code> status. An inventory table requires a journal table with an <code>ACTIVE</code> status. To create a new journal or inventory table, you must delete the metadata configuration for this bucket, along with any journal or inventory tables, and then create a new metadata configuration.</p></li>
  202         -
    /// <li>
  203         -
    /// <p><code>NoSuchBucket</code> - The specified general purpose bucket does not exist.</p></li>
  204         -
    /// </ul>
  205    108   
    pub fn error_code(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  206    109   
        self.error_code = ::std::option::Option::Some(input.into());
  207    110   
        self
  208    111   
    }
  209         -
    /// <p>If the V1 <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
         112  +
    /// <p>If the <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
  210    113   
    /// <ul>
  211    114   
    /// <li>
  212    115   
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code> and <code>s3tables:PutTablePolicy</code> permissions, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  213    116   
    /// <li>
  214    117   
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  215    118   
    /// <li>
  216    119   
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  217    120   
    /// <li>
  218    121   
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  219    122   
    /// <li>
  220    123   
    /// <p><code>TableAlreadyExists</code> - The table that you specified already exists in the table bucket's namespace. Specify a different table name. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  221    124   
    /// <li>
  222    125   
    /// <p><code>TableBucketNotFound</code> - The table bucket that you specified doesn't exist in this Amazon Web Services Region and account. Create or choose a different table bucket. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  223    126   
    /// </ul>
  224         -
    /// <p>If the V2 <code>CreateBucketMetadataConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
  225         -
    /// <ul>
  226         -
    /// <li>
  227         -
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateTableBucket</code>, <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code>, <code>s3tables:PutTablePolicy</code>, <code>kms:DescribeKey</code>, and <code>s3tables:PutTableEncryption</code> permissions. Additionally, ensure that the KMS key used to encrypt the table still exists, is active and has a resource policy granting access to the S3 service principals '<code>maintenance.s3tables.amazonaws.com</code>' and '<code>metadata.s3.amazonaws.com</code>'. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  228         -
    /// <li>
  229         -
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  230         -
    /// <li>
  231         -
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  232         -
    /// <li>
  233         -
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  234         -
    /// <li>
  235         -
    /// <p><code>JournalTableAlreadyExists</code> - A journal table already exists in the Amazon Web Services managed table bucket's namespace. Delete the journal table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  236         -
    /// <li>
  237         -
    /// <p><code>InventoryTableAlreadyExists</code> - An inventory table already exists in the Amazon Web Services managed table bucket's namespace. Delete the inventory table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  238         -
    /// <li>
  239         -
    /// <p><code>JournalTableNotAvailable</code> - The journal table that the inventory table relies on has a <code>FAILED</code> status. An inventory table requires a journal table with an <code>ACTIVE</code> status. To create a new journal or inventory table, you must delete the metadata configuration for this bucket, along with any journal or inventory tables, and then create a new metadata configuration.</p></li>
  240         -
    /// <li>
  241         -
    /// <p><code>NoSuchBucket</code> - The specified general purpose bucket does not exist.</p></li>
  242         -
    /// </ul>
  243    127   
    pub fn set_error_code(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  244    128   
        self.error_code = input;
  245    129   
        self
  246    130   
    }
  247         -
    /// <p>If the V1 <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
         131  +
    /// <p>If the <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
  248    132   
    /// <ul>
  249    133   
    /// <li>
  250    134   
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code> and <code>s3tables:PutTablePolicy</code> permissions, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  251    135   
    /// <li>
  252    136   
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  253    137   
    /// <li>
  254    138   
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  255    139   
    /// <li>
  256    140   
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  257    141   
    /// <li>
  258    142   
    /// <p><code>TableAlreadyExists</code> - The table that you specified already exists in the table bucket's namespace. Specify a different table name. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  259    143   
    /// <li>
  260    144   
    /// <p><code>TableBucketNotFound</code> - The table bucket that you specified doesn't exist in this Amazon Web Services Region and account. Create or choose a different table bucket. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  261    145   
    /// </ul>
  262         -
    /// <p>If the V2 <code>CreateBucketMetadataConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
  263         -
    /// <ul>
  264         -
    /// <li>
  265         -
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateTableBucket</code>, <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code>, <code>s3tables:PutTablePolicy</code>, <code>kms:DescribeKey</code>, and <code>s3tables:PutTableEncryption</code> permissions. Additionally, ensure that the KMS key used to encrypt the table still exists, is active and has a resource policy granting access to the S3 service principals '<code>maintenance.s3tables.amazonaws.com</code>' and '<code>metadata.s3.amazonaws.com</code>'. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  266         -
    /// <li>
  267         -
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  268         -
    /// <li>
  269         -
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  270         -
    /// <li>
  271         -
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  272         -
    /// <li>
  273         -
    /// <p><code>JournalTableAlreadyExists</code> - A journal table already exists in the Amazon Web Services managed table bucket's namespace. Delete the journal table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  274         -
    /// <li>
  275         -
    /// <p><code>InventoryTableAlreadyExists</code> - An inventory table already exists in the Amazon Web Services managed table bucket's namespace. Delete the inventory table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  276         -
    /// <li>
  277         -
    /// <p><code>JournalTableNotAvailable</code> - The journal table that the inventory table relies on has a <code>FAILED</code> status. An inventory table requires a journal table with an <code>ACTIVE</code> status. To create a new journal or inventory table, you must delete the metadata configuration for this bucket, along with any journal or inventory tables, and then create a new metadata configuration.</p></li>
  278         -
    /// <li>
  279         -
    /// <p><code>NoSuchBucket</code> - The specified general purpose bucket does not exist.</p></li>
  280         -
    /// </ul>
  281    146   
    pub fn get_error_code(&self) -> &::std::option::Option<::std::string::String> {
  282    147   
        &self.error_code
  283    148   
    }
  284         -
    /// <p>If the V1 <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error message. The possible error codes and error messages are as follows:</p>
         149  +
    /// <p>If the <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error message. The possible error codes and error messages are as follows:</p>
  285    150   
    /// <ul>
  286    151   
    /// <li>
  287    152   
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code> and <code>s3tables:PutTablePolicy</code> permissions, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  288    153   
    /// <li>
  289    154   
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  290    155   
    /// <li>
  291    156   
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  292    157   
    /// <li>
  293    158   
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  294    159   
    /// <li>
  295    160   
    /// <p><code>TableAlreadyExists</code> - The table that you specified already exists in the table bucket's namespace. Specify a different table name. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  296    161   
    /// <li>
  297    162   
    /// <p><code>TableBucketNotFound</code> - The table bucket that you specified doesn't exist in this Amazon Web Services Region and account. Create or choose a different table bucket. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  298    163   
    /// </ul>
  299         -
    /// <p>If the V2 <code>CreateBucketMetadataConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
  300         -
    /// <ul>
  301         -
    /// <li>
  302         -
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateTableBucket</code>, <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code>, <code>s3tables:PutTablePolicy</code>, <code>kms:DescribeKey</code>, and <code>s3tables:PutTableEncryption</code> permissions. Additionally, ensure that the KMS key used to encrypt the table still exists, is active and has a resource policy granting access to the S3 service principals '<code>maintenance.s3tables.amazonaws.com</code>' and '<code>metadata.s3.amazonaws.com</code>'. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  303         -
    /// <li>
  304         -
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  305         -
    /// <li>
  306         -
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  307         -
    /// <li>
  308         -
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  309         -
    /// <li>
  310         -
    /// <p><code>JournalTableAlreadyExists</code> - A journal table already exists in the Amazon Web Services managed table bucket's namespace. Delete the journal table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  311         -
    /// <li>
  312         -
    /// <p><code>InventoryTableAlreadyExists</code> - An inventory table already exists in the Amazon Web Services managed table bucket's namespace. Delete the inventory table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  313         -
    /// <li>
  314         -
    /// <p><code>JournalTableNotAvailable</code> - The journal table that the inventory table relies on has a <code>FAILED</code> status. An inventory table requires a journal table with an <code>ACTIVE</code> status. To create a new journal or inventory table, you must delete the metadata configuration for this bucket, along with any journal or inventory tables, and then create a new metadata configuration.</p></li>
  315         -
    /// <li>
  316         -
    /// <p><code>NoSuchBucket</code> - The specified general purpose bucket does not exist.</p></li>
  317         -
    /// </ul>
  318    164   
    pub fn error_message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  319    165   
        self.error_message = ::std::option::Option::Some(input.into());
  320    166   
        self
  321    167   
    }
  322         -
    /// <p>If the V1 <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error message. The possible error codes and error messages are as follows:</p>
         168  +
    /// <p>If the <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error message. The possible error codes and error messages are as follows:</p>
  323    169   
    /// <ul>
  324    170   
    /// <li>
  325    171   
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code> and <code>s3tables:PutTablePolicy</code> permissions, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  326    172   
    /// <li>
  327    173   
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  328    174   
    /// <li>
  329    175   
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  330    176   
    /// <li>
  331    177   
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  332    178   
    /// <li>
  333    179   
    /// <p><code>TableAlreadyExists</code> - The table that you specified already exists in the table bucket's namespace. Specify a different table name. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  334    180   
    /// <li>
  335    181   
    /// <p><code>TableBucketNotFound</code> - The table bucket that you specified doesn't exist in this Amazon Web Services Region and account. Create or choose a different table bucket. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  336    182   
    /// </ul>
  337         -
    /// <p>If the V2 <code>CreateBucketMetadataConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
  338         -
    /// <ul>
  339         -
    /// <li>
  340         -
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateTableBucket</code>, <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code>, <code>s3tables:PutTablePolicy</code>, <code>kms:DescribeKey</code>, and <code>s3tables:PutTableEncryption</code> permissions. Additionally, ensure that the KMS key used to encrypt the table still exists, is active and has a resource policy granting access to the S3 service principals '<code>maintenance.s3tables.amazonaws.com</code>' and '<code>metadata.s3.amazonaws.com</code>'. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  341         -
    /// <li>
  342         -
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  343         -
    /// <li>
  344         -
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  345         -
    /// <li>
  346         -
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  347         -
    /// <li>
  348         -
    /// <p><code>JournalTableAlreadyExists</code> - A journal table already exists in the Amazon Web Services managed table bucket's namespace. Delete the journal table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  349         -
    /// <li>
  350         -
    /// <p><code>InventoryTableAlreadyExists</code> - An inventory table already exists in the Amazon Web Services managed table bucket's namespace. Delete the inventory table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  351         -
    /// <li>
  352         -
    /// <p><code>JournalTableNotAvailable</code> - The journal table that the inventory table relies on has a <code>FAILED</code> status. An inventory table requires a journal table with an <code>ACTIVE</code> status. To create a new journal or inventory table, you must delete the metadata configuration for this bucket, along with any journal or inventory tables, and then create a new metadata configuration.</p></li>
  353         -
    /// <li>
  354         -
    /// <p><code>NoSuchBucket</code> - The specified general purpose bucket does not exist.</p></li>
  355         -
    /// </ul>
  356    183   
    pub fn set_error_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  357    184   
        self.error_message = input;
  358    185   
        self
  359    186   
    }
  360         -
    /// <p>If the V1 <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error message. The possible error codes and error messages are as follows:</p>
         187  +
    /// <p>If the <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error message. The possible error codes and error messages are as follows:</p>
  361    188   
    /// <ul>
  362    189   
    /// <li>
  363    190   
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code> and <code>s3tables:PutTablePolicy</code> permissions, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  364    191   
    /// <li>
  365    192   
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  366    193   
    /// <li>
  367    194   
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  368    195   
    /// <li>
  369    196   
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  370    197   
    /// <li>
  371    198   
    /// <p><code>TableAlreadyExists</code> - The table that you specified already exists in the table bucket's namespace. Specify a different table name. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  372    199   
    /// <li>
  373    200   
    /// <p><code>TableBucketNotFound</code> - The table bucket that you specified doesn't exist in this Amazon Web Services Region and account. Create or choose a different table bucket. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  374    201   
    /// </ul>
  375         -
    /// <p>If the V2 <code>CreateBucketMetadataConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:</p>
  376         -
    /// <ul>
  377         -
    /// <li>
  378         -
    /// <p><code>AccessDeniedCreatingResources</code> - You don't have sufficient permissions to create the required resources. Make sure that you have <code>s3tables:CreateTableBucket</code>, <code>s3tables:CreateNamespace</code>, <code>s3tables:CreateTable</code>, <code>s3tables:GetTable</code>, <code>s3tables:PutTablePolicy</code>, <code>kms:DescribeKey</code>, and <code>s3tables:PutTableEncryption</code> permissions. Additionally, ensure that the KMS key used to encrypt the table still exists, is active and has a resource policy granting access to the S3 service principals '<code>maintenance.s3tables.amazonaws.com</code>' and '<code>metadata.s3.amazonaws.com</code>'. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  379         -
    /// <li>
  380         -
    /// <p><code>AccessDeniedWritingToTable</code> - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  381         -
    /// <li>
  382         -
    /// <p><code>DestinationTableNotFound</code> - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  383         -
    /// <li>
  384         -
    /// <p><code>ServerInternalError</code> - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  385         -
    /// <li>
  386         -
    /// <p><code>JournalTableAlreadyExists</code> - A journal table already exists in the Amazon Web Services managed table bucket's namespace. Delete the journal table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  387         -
    /// <li>
  388         -
    /// <p><code>InventoryTableAlreadyExists</code> - An inventory table already exists in the Amazon Web Services managed table bucket's namespace. Delete the inventory table, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.</p></li>
  389         -
    /// <li>
  390         -
    /// <p><code>JournalTableNotAvailable</code> - The journal table that the inventory table relies on has a <code>FAILED</code> status. An inventory table requires a journal table with an <code>ACTIVE</code> status. To create a new journal or inventory table, you must delete the metadata configuration for this bucket, along with any journal or inventory tables, and then create a new metadata configuration.</p></li>
  391         -
    /// <li>
  392         -
    /// <p><code>NoSuchBucket</code> - The specified general purpose bucket does not exist.</p></li>
  393         -
    /// </ul>
  394    202   
    pub fn get_error_message(&self) -> &::std::option::Option<::std::string::String> {
  395    203   
        &self.error_message
  396    204   
    }
  397    205   
    /// Consumes the builder and constructs a [`ErrorDetails`](crate::types::ErrorDetails).
  398    206   
    pub fn build(self) -> crate::types::ErrorDetails {
  399    207   
        crate::types::ErrorDetails {
  400    208   
            error_code: self.error_code,
  401    209   
            error_message: self.error_message,
  402    210   
        }
  403    211   
    }

tmp-codegen-diff/aws-sdk/sdk/s3/src/types/_expiration_state.rs

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

tmp-codegen-diff/aws-sdk/sdk/s3/src/types/_expression_type.rs

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

tmp-codegen-diff/aws-sdk/sdk/s3/src/types/_file_header_info.rs

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

tmp-codegen-diff/aws-sdk/sdk/s3/src/types/_get_bucket_metadata_configuration_result.rs

@@ -1,0 +51,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>The S3 Metadata configuration for a general purpose bucket.</p>
    4         -
#[non_exhaustive]
    5         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct GetBucketMetadataConfigurationResult {
    7         -
    /// <p>The metadata configuration for a general purpose bucket.</p>
    8         -
    pub metadata_configuration_result: ::std::option::Option<crate::types::MetadataConfigurationResult>,
    9         -
}
   10         -
impl GetBucketMetadataConfigurationResult {
   11         -
    /// <p>The metadata configuration for a general purpose bucket.</p>
   12         -
    pub fn metadata_configuration_result(&self) -> ::std::option::Option<&crate::types::MetadataConfigurationResult> {
   13         -
        self.metadata_configuration_result.as_ref()
   14         -
    }
   15         -
}
   16         -
impl GetBucketMetadataConfigurationResult {
   17         -
    /// Creates a new builder-style object to manufacture [`GetBucketMetadataConfigurationResult`](crate::types::GetBucketMetadataConfigurationResult).
   18         -
    pub fn builder() -> crate::types::builders::GetBucketMetadataConfigurationResultBuilder {
   19         -
        crate::types::builders::GetBucketMetadataConfigurationResultBuilder::default()
   20         -
    }
   21         -
}
   22         -
   23         -
/// A builder for [`GetBucketMetadataConfigurationResult`](crate::types::GetBucketMetadataConfigurationResult).
   24         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   25         -
#[non_exhaustive]
   26         -
pub struct GetBucketMetadataConfigurationResultBuilder {
   27         -
    pub(crate) metadata_configuration_result: ::std::option::Option<crate::types::MetadataConfigurationResult>,
   28         -
}
   29         -
impl GetBucketMetadataConfigurationResultBuilder {
   30         -
    /// <p>The metadata configuration for a general purpose bucket.</p>
   31         -
    /// This field is required.
   32         -
    pub fn metadata_configuration_result(mut self, input: crate::types::MetadataConfigurationResult) -> Self {
   33         -
        self.metadata_configuration_result = ::std::option::Option::Some(input);
   34         -
        self
   35         -
    }
   36         -
    /// <p>The metadata configuration for a general purpose bucket.</p>
   37         -
    pub fn set_metadata_configuration_result(mut self, input: ::std::option::Option<crate::types::MetadataConfigurationResult>) -> Self {
   38         -
        self.metadata_configuration_result = input;
   39         -
        self
   40         -
    }
   41         -
    /// <p>The metadata configuration for a general purpose bucket.</p>
   42         -
    pub fn get_metadata_configuration_result(&self) -> &::std::option::Option<crate::types::MetadataConfigurationResult> {
   43         -
        &self.metadata_configuration_result
   44         -
    }
   45         -
    /// Consumes the builder and constructs a [`GetBucketMetadataConfigurationResult`](crate::types::GetBucketMetadataConfigurationResult).
   46         -
    pub fn build(self) -> crate::types::GetBucketMetadataConfigurationResult {
   47         -
        crate::types::GetBucketMetadataConfigurationResult {
   48         -
            metadata_configuration_result: self.metadata_configuration_result,
   49         -
        }
   50         -
    }
   51         -
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/types/_get_bucket_metadata_table_configuration_result.rs

@@ -1,1 +140,138 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
    3         -
/// <p>The V1 S3 Metadata configuration for a general purpose bucket.</p><note>
    4         -
/// <p>If you created your S3 Metadata configuration before July 15, 2025, we recommend that you delete and re-create your configuration by using <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html">CreateBucketMetadataConfiguration</a> so that you can expire journal table records and create a live inventory table.</p>
    5         -
/// </note>
           3  +
/// <p>The metadata table configuration for a general purpose bucket.</p>
    6      4   
#[non_exhaustive]
    7      5   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    8      6   
pub struct GetBucketMetadataTableConfigurationResult {
    9         -
    /// <p>The V1 S3 Metadata configuration for a general purpose bucket.</p>
           7  +
    /// <p>The metadata table configuration for a general purpose bucket.</p>
   10      8   
    pub metadata_table_configuration_result: ::std::option::Option<crate::types::MetadataTableConfigurationResult>,
   11      9   
    /// <p>The status of the metadata table. The status values are:</p>
   12     10   
    /// <ul>
   13     11   
    /// <li>
   14     12   
    /// <p><code>CREATING</code> - The metadata table is in the process of being created in the specified table bucket.</p></li>
   15     13   
    /// <li>
   16         -
    /// <p><code>ACTIVE</code> - The metadata table has been created successfully, and records are being delivered to the table.</p></li>
          14  +
    /// <p><code>ACTIVE</code> - The metadata table has been created successfully and records are being delivered to the table.</p></li>
   17     15   
    /// <li>
   18     16   
    /// <p><code>FAILED</code> - Amazon S3 is unable to create the metadata table, or Amazon S3 is unable to deliver records. See <code>ErrorDetails</code> for details.</p></li>
   19     17   
    /// </ul>
   20     18   
    pub status: ::std::string::String,
   21     19   
    /// <p>If the <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code and error message.</p>
   22     20   
    pub error: ::std::option::Option<crate::types::ErrorDetails>,
   23     21   
}
   24     22   
impl GetBucketMetadataTableConfigurationResult {
   25         -
    /// <p>The V1 S3 Metadata configuration for a general purpose bucket.</p>
          23  +
    /// <p>The metadata table configuration for a general purpose bucket.</p>
   26     24   
    pub fn metadata_table_configuration_result(&self) -> ::std::option::Option<&crate::types::MetadataTableConfigurationResult> {
   27     25   
        self.metadata_table_configuration_result.as_ref()
   28     26   
    }
   29     27   
    /// <p>The status of the metadata table. The status values are:</p>
   30     28   
    /// <ul>
   31     29   
    /// <li>
   32     30   
    /// <p><code>CREATING</code> - The metadata table is in the process of being created in the specified table bucket.</p></li>
   33     31   
    /// <li>
   34         -
    /// <p><code>ACTIVE</code> - The metadata table has been created successfully, and records are being delivered to the table.</p></li>
          32  +
    /// <p><code>ACTIVE</code> - The metadata table has been created successfully and records are being delivered to the table.</p></li>
   35     33   
    /// <li>
   36     34   
    /// <p><code>FAILED</code> - Amazon S3 is unable to create the metadata table, or Amazon S3 is unable to deliver records. See <code>ErrorDetails</code> for details.</p></li>
   37     35   
    /// </ul>
   38     36   
    pub fn status(&self) -> &str {
   39     37   
        use std::ops::Deref;
   40     38   
        self.status.deref()
   41     39   
    }
   42     40   
    /// <p>If the <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code and error message.</p>
   43     41   
    pub fn error(&self) -> ::std::option::Option<&crate::types::ErrorDetails> {
   44     42   
        self.error.as_ref()
   45     43   
    }
   46     44   
}
   47     45   
impl GetBucketMetadataTableConfigurationResult {
   48     46   
    /// Creates a new builder-style object to manufacture [`GetBucketMetadataTableConfigurationResult`](crate::types::GetBucketMetadataTableConfigurationResult).
   49     47   
    pub fn builder() -> crate::types::builders::GetBucketMetadataTableConfigurationResultBuilder {
   50     48   
        crate::types::builders::GetBucketMetadataTableConfigurationResultBuilder::default()
   51     49   
    }
   52     50   
}
   53     51   
   54     52   
/// A builder for [`GetBucketMetadataTableConfigurationResult`](crate::types::GetBucketMetadataTableConfigurationResult).
   55     53   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   56     54   
#[non_exhaustive]
   57     55   
pub struct GetBucketMetadataTableConfigurationResultBuilder {
   58     56   
    pub(crate) metadata_table_configuration_result: ::std::option::Option<crate::types::MetadataTableConfigurationResult>,
   59     57   
    pub(crate) status: ::std::option::Option<::std::string::String>,
   60     58   
    pub(crate) error: ::std::option::Option<crate::types::ErrorDetails>,
   61     59   
}
   62     60   
impl GetBucketMetadataTableConfigurationResultBuilder {
   63         -
    /// <p>The V1 S3 Metadata configuration for a general purpose bucket.</p>
          61  +
    /// <p>The metadata table configuration for a general purpose bucket.</p>
   64     62   
    /// This field is required.
   65     63   
    pub fn metadata_table_configuration_result(mut self, input: crate::types::MetadataTableConfigurationResult) -> Self {
   66     64   
        self.metadata_table_configuration_result = ::std::option::Option::Some(input);
   67     65   
        self
   68     66   
    }
   69         -
    /// <p>The V1 S3 Metadata configuration for a general purpose bucket.</p>
          67  +
    /// <p>The metadata table configuration for a general purpose bucket.</p>
   70     68   
    pub fn set_metadata_table_configuration_result(mut self, input: ::std::option::Option<crate::types::MetadataTableConfigurationResult>) -> Self {
   71     69   
        self.metadata_table_configuration_result = input;
   72     70   
        self
   73     71   
    }
   74         -
    /// <p>The V1 S3 Metadata configuration for a general purpose bucket.</p>
          72  +
    /// <p>The metadata table configuration for a general purpose bucket.</p>
   75     73   
    pub fn get_metadata_table_configuration_result(&self) -> &::std::option::Option<crate::types::MetadataTableConfigurationResult> {
   76     74   
        &self.metadata_table_configuration_result
   77     75   
    }
   78     76   
    /// <p>The status of the metadata table. The status values are:</p>
   79     77   
    /// <ul>
   80     78   
    /// <li>
   81     79   
    /// <p><code>CREATING</code> - The metadata table is in the process of being created in the specified table bucket.</p></li>
   82     80   
    /// <li>
   83         -
    /// <p><code>ACTIVE</code> - The metadata table has been created successfully, and records are being delivered to the table.</p></li>
          81  +
    /// <p><code>ACTIVE</code> - The metadata table has been created successfully and records are being delivered to the table.</p></li>
   84     82   
    /// <li>
   85     83   
    /// <p><code>FAILED</code> - Amazon S3 is unable to create the metadata table, or Amazon S3 is unable to deliver records. See <code>ErrorDetails</code> for details.</p></li>
   86     84   
    /// </ul>
   87     85   
    /// This field is required.
   88     86   
    pub fn status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   89     87   
        self.status = ::std::option::Option::Some(input.into());
   90     88   
        self
   91     89   
    }
   92     90   
    /// <p>The status of the metadata table. The status values are:</p>
   93     91   
    /// <ul>
   94     92   
    /// <li>
   95     93   
    /// <p><code>CREATING</code> - The metadata table is in the process of being created in the specified table bucket.</p></li>
   96     94   
    /// <li>
   97         -
    /// <p><code>ACTIVE</code> - The metadata table has been created successfully, and records are being delivered to the table.</p></li>
          95  +
    /// <p><code>ACTIVE</code> - The metadata table has been created successfully and records are being delivered to the table.</p></li>
   98     96   
    /// <li>
   99     97   
    /// <p><code>FAILED</code> - Amazon S3 is unable to create the metadata table, or Amazon S3 is unable to deliver records. See <code>ErrorDetails</code> for details.</p></li>
  100     98   
    /// </ul>
  101     99   
    pub fn set_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  102    100   
        self.status = input;
  103    101   
        self
  104    102   
    }
  105    103   
    /// <p>The status of the metadata table. The status values are:</p>
  106    104   
    /// <ul>
  107    105   
    /// <li>
  108    106   
    /// <p><code>CREATING</code> - The metadata table is in the process of being created in the specified table bucket.</p></li>
  109    107   
    /// <li>
  110         -
    /// <p><code>ACTIVE</code> - The metadata table has been created successfully, and records are being delivered to the table.</p></li>
         108  +
    /// <p><code>ACTIVE</code> - The metadata table has been created successfully and records are being delivered to the table.</p></li>
  111    109   
    /// <li>
  112    110   
    /// <p><code>FAILED</code> - Amazon S3 is unable to create the metadata table, or Amazon S3 is unable to deliver records. See <code>ErrorDetails</code> for details.</p></li>
  113    111   
    /// </ul>
  114    112   
    pub fn get_status(&self) -> &::std::option::Option<::std::string::String> {
  115    113   
        &self.status
  116    114   
    }
  117    115   
    /// <p>If the <code>CreateBucketMetadataTableConfiguration</code> request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code and error message.</p>
  118    116   
    pub fn error(mut self, input: crate::types::ErrorDetails) -> Self {
  119    117   
        self.error = ::std::option::Option::Some(input);
  120    118   
        self

tmp-codegen-diff/aws-sdk/sdk/s3/src/types/_get_object_attributes_parts.rs

@@ -1,1 +83,83 @@
   10     10   
    pub part_number_marker: ::std::option::Option<::std::string::String>,
   11     11   
    /// <p>When a list is truncated, this element specifies the last part in the list, as well as the value to use for the <code>PartNumberMarker</code> request parameter in a subsequent request.</p>
   12     12   
    pub next_part_number_marker: ::std::option::Option<::std::string::String>,
   13     13   
    /// <p>The maximum number of parts allowed in the response.</p>
   14     14   
    pub max_parts: ::std::option::Option<i32>,
   15     15   
    /// <p>Indicates whether the returned list of parts is truncated. A value of <code>true</code> indicates that the list was truncated. A list can be truncated if the number of parts exceeds the limit returned in the <code>MaxParts</code> element.</p>
   16     16   
    pub is_truncated: ::std::option::Option<bool>,
   17     17   
    /// <p>A container for elements related to a particular part. A response can contain zero or more <code>Parts</code> elements.</p><note>
   18     18   
    /// <ul>
   19     19   
    /// <li>
   20         -
    /// <p><b>General purpose buckets</b> - For <code>GetObjectAttributes</code>, if an additional checksum (including <code>x-amz-checksum-crc32</code>, <code>x-amz-checksum-crc32c</code>, <code>x-amz-checksum-sha1</code>, or <code>x-amz-checksum-sha256</code>) isn't applied to the object specified in the request, the response doesn't return the <code>Part</code> element.</p></li>
          20  +
    /// <p><b>General purpose buckets</b> - For <code>GetObjectAttributes</code>, if a additional checksum (including <code>x-amz-checksum-crc32</code>, <code>x-amz-checksum-crc32c</code>, <code>x-amz-checksum-sha1</code>, or <code>x-amz-checksum-sha256</code>) isn't applied to the object specified in the request, the response doesn't return <code>Part</code>.</p></li>
   21     21   
    /// <li>
   22         -
    /// <p><b>Directory buckets</b> - For <code>GetObjectAttributes</code>, regardless of whether an additional checksum is applied to the object specified in the request, the response returns the <code>Part</code> element.</p></li>
          22  +
    /// <p><b>Directory buckets</b> - For <code>GetObjectAttributes</code>, no matter whether a additional checksum is applied to the object specified in the request, the response returns <code>Part</code>.</p></li>
   23     23   
    /// </ul>
   24     24   
    /// </note>
   25     25   
    pub parts: ::std::option::Option<::std::vec::Vec<crate::types::ObjectPart>>,
   26     26   
}
   27     27   
impl GetObjectAttributesParts {
   28     28   
    /// <p>The total number of parts.</p>
   29     29   
    pub fn total_parts_count(&self) -> ::std::option::Option<i32> {
   30     30   
        self.total_parts_count
   31     31   
    }
   32     32   
    /// <p>The marker for the current part.</p>
   33     33   
    pub fn part_number_marker(&self) -> ::std::option::Option<&str> {
   34     34   
        self.part_number_marker.as_deref()
   35     35   
    }
   36     36   
    /// <p>When a list is truncated, this element specifies the last part in the list, as well as the value to use for the <code>PartNumberMarker</code> request parameter in a subsequent request.</p>
   37     37   
    pub fn next_part_number_marker(&self) -> ::std::option::Option<&str> {
   38     38   
        self.next_part_number_marker.as_deref()
   39     39   
    }
   40     40   
    /// <p>The maximum number of parts allowed in the response.</p>
   41     41   
    pub fn max_parts(&self) -> ::std::option::Option<i32> {
   42     42   
        self.max_parts
   43     43   
    }
   44     44   
    /// <p>Indicates whether the returned list of parts is truncated. A value of <code>true</code> indicates that the list was truncated. A list can be truncated if the number of parts exceeds the limit returned in the <code>MaxParts</code> element.</p>
   45     45   
    pub fn is_truncated(&self) -> ::std::option::Option<bool> {
   46     46   
        self.is_truncated
   47     47   
    }
   48     48   
    /// <p>A container for elements related to a particular part. A response can contain zero or more <code>Parts</code> elements.</p><note>
   49     49   
    /// <ul>
   50     50   
    /// <li>
   51         -
    /// <p><b>General purpose buckets</b> - For <code>GetObjectAttributes</code>, if an additional checksum (including <code>x-amz-checksum-crc32</code>, <code>x-amz-checksum-crc32c</code>, <code>x-amz-checksum-sha1</code>, or <code>x-amz-checksum-sha256</code>) isn't applied to the object specified in the request, the response doesn't return the <code>Part</code> element.</p></li>
          51  +
    /// <p><b>General purpose buckets</b> - For <code>GetObjectAttributes</code>, if a additional checksum (including <code>x-amz-checksum-crc32</code>, <code>x-amz-checksum-crc32c</code>, <code>x-amz-checksum-sha1</code>, or <code>x-amz-checksum-sha256</code>) isn't applied to the object specified in the request, the response doesn't return <code>Part</code>.</p></li>
   52     52   
    /// <li>
   53         -
    /// <p><b>Directory buckets</b> - For <code>GetObjectAttributes</code>, regardless of whether an additional checksum is applied to the object specified in the request, the response returns the <code>Part</code> element.</p></li>
          53  +
    /// <p><b>Directory buckets</b> - For <code>GetObjectAttributes</code>, no matter whether a additional checksum is applied to the object specified in the request, the response returns <code>Part</code>.</p></li>
   54     54   
    /// </ul>
   55     55   
    /// </note>
   56     56   
    ///
   57     57   
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.parts.is_none()`.
   58     58   
    pub fn parts(&self) -> &[crate::types::ObjectPart] {
   59     59   
        self.parts.as_deref().unwrap_or_default()
   60     60   
    }
   61     61   
}
   62     62   
impl GetObjectAttributesParts {
   63     63   
    /// Creates a new builder-style object to manufacture [`GetObjectAttributesParts`](crate::types::GetObjectAttributesParts).
@@ -128,128 +203,203 @@
  148    148   
    pub fn get_is_truncated(&self) -> &::std::option::Option<bool> {
  149    149   
        &self.is_truncated
  150    150   
    }
  151    151   
    /// Appends an item to `parts`.
  152    152   
    ///
  153    153   
    /// To override the contents of this collection use [`set_parts`](Self::set_parts).
  154    154   
    ///
  155    155   
    /// <p>A container for elements related to a particular part. A response can contain zero or more <code>Parts</code> elements.</p><note>
  156    156   
    /// <ul>
  157    157   
    /// <li>
  158         -
    /// <p><b>General purpose buckets</b> - For <code>GetObjectAttributes</code>, if an additional checksum (including <code>x-amz-checksum-crc32</code>, <code>x-amz-checksum-crc32c</code>, <code>x-amz-checksum-sha1</code>, or <code>x-amz-checksum-sha256</code>) isn't applied to the object specified in the request, the response doesn't return the <code>Part</code> element.</p></li>
         158  +
    /// <p><b>General purpose buckets</b> - For <code>GetObjectAttributes</code>, if a additional checksum (including <code>x-amz-checksum-crc32</code>, <code>x-amz-checksum-crc32c</code>, <code>x-amz-checksum-sha1</code>, or <code>x-amz-checksum-sha256</code>) isn't applied to the object specified in the request, the response doesn't return <code>Part</code>.</p></li>
  159    159   
    /// <li>
  160         -
    /// <p><b>Directory buckets</b> - For <code>GetObjectAttributes</code>, regardless of whether an additional checksum is applied to the object specified in the request, the response returns the <code>Part</code> element.</p></li>
         160  +
    /// <p><b>Directory buckets</b> - For <code>GetObjectAttributes</code>, no matter whether a additional checksum is applied to the object specified in the request, the response returns <code>Part</code>.</p></li>
  161    161   
    /// </ul>
  162    162   
    /// </note>
  163    163   
    pub fn parts(mut self, input: crate::types::ObjectPart) -> Self {
  164    164   
        let mut v = self.parts.unwrap_or_default();
  165    165   
        v.push(input);
  166    166   
        self.parts = ::std::option::Option::Some(v);
  167    167   
        self
  168    168   
    }
  169    169   
    /// <p>A container for elements related to a particular part. A response can contain zero or more <code>Parts</code> elements.</p><note>
  170    170   
    /// <ul>
  171    171   
    /// <li>
  172         -
    /// <p><b>General purpose buckets</b> - For <code>GetObjectAttributes</code>, if an additional checksum (including <code>x-amz-checksum-crc32</code>, <code>x-amz-checksum-crc32c</code>, <code>x-amz-checksum-sha1</code>, or <code>x-amz-checksum-sha256</code>) isn't applied to the object specified in the request, the response doesn't return the <code>Part</code> element.</p></li>
         172  +
    /// <p><b>General purpose buckets</b> - For <code>GetObjectAttributes</code>, if a additional checksum (including <code>x-amz-checksum-crc32</code>, <code>x-amz-checksum-crc32c</code>, <code>x-amz-checksum-sha1</code>, or <code>x-amz-checksum-sha256</code>) isn't applied to the object specified in the request, the response doesn't return <code>Part</code>.</p></li>
  173    173   
    /// <li>
  174         -
    /// <p><b>Directory buckets</b> - For <code>GetObjectAttributes</code>, regardless of whether an additional checksum is applied to the object specified in the request, the response returns the <code>Part</code> element.</p></li>
         174  +
    /// <p><b>Directory buckets</b> - For <code>GetObjectAttributes</code>, no matter whether a additional checksum is applied to the object specified in the request, the response returns <code>Part</code>.</p></li>
  175    175   
    /// </ul>
  176    176   
    /// </note>
  177    177   
    pub fn set_parts(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ObjectPart>>) -> Self {
  178    178   
        self.parts = input;
  179    179   
        self
  180    180   
    }
  181    181   
    /// <p>A container for elements related to a particular part. A response can contain zero or more <code>Parts</code> elements.</p><note>
  182    182   
    /// <ul>
  183    183   
    /// <li>
  184         -
    /// <p><b>General purpose buckets</b> - For <code>GetObjectAttributes</code>, if an additional checksum (including <code>x-amz-checksum-crc32</code>, <code>x-amz-checksum-crc32c</code>, <code>x-amz-checksum-sha1</code>, or <code>x-amz-checksum-sha256</code>) isn't applied to the object specified in the request, the response doesn't return the <code>Part</code> element.</p></li>
         184  +
    /// <p><b>General purpose buckets</b> - For <code>GetObjectAttributes</code>, if a additional checksum (including <code>x-amz-checksum-crc32</code>, <code>x-amz-checksum-crc32c</code>, <code>x-amz-checksum-sha1</code>, or <code>x-amz-checksum-sha256</code>) isn't applied to the object specified in the request, the response doesn't return <code>Part</code>.</p></li>
  185    185   
    /// <li>
  186         -
    /// <p><b>Directory buckets</b> - For <code>GetObjectAttributes</code>, regardless of whether an additional checksum is applied to the object specified in the request, the response returns the <code>Part</code> element.</p></li>
         186  +
    /// <p><b>Directory buckets</b> - For <code>GetObjectAttributes</code>, no matter whether a additional checksum is applied to the object specified in the request, the response returns <code>Part</code>.</p></li>
  187    187   
    /// </ul>
  188    188   
    /// </note>
  189    189   
    pub fn get_parts(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ObjectPart>> {
  190    190   
        &self.parts
  191    191   
    }
  192    192   
    /// Consumes the builder and constructs a [`GetObjectAttributesParts`](crate::types::GetObjectAttributesParts).
  193    193   
    pub fn build(self) -> crate::types::GetObjectAttributesParts {
  194    194   
        crate::types::GetObjectAttributesParts {
  195    195   
            total_parts_count: self.total_parts_count,
  196    196   
            part_number_marker: self.part_number_marker,

tmp-codegen-diff/aws-sdk/sdk/s3/src/types/_input_serialization.rs

@@ -1,0 +116,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Describes the serialization format of the object.</p>
    4         -
#[non_exhaustive]
    5         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct InputSerialization {
    7         -
    /// <p>Describes the serialization of a CSV-encoded object.</p>
    8         -
    pub csv: ::std::option::Option<crate::types::CsvInput>,
    9         -
    /// <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default Value: NONE.</p>
   10         -
    pub compression_type: ::std::option::Option<crate::types::CompressionType>,
   11         -
    /// <p>Specifies JSON as object's input serialization format.</p>
   12         -
    pub json: ::std::option::Option<crate::types::JsonInput>,
   13         -
    /// <p>Specifies Parquet as object's input serialization format.</p>
   14         -
    pub parquet: ::std::option::Option<crate::types::ParquetInput>,
   15         -
}
   16         -
impl InputSerialization {
   17         -
    /// <p>Describes the serialization of a CSV-encoded object.</p>
   18         -
    pub fn csv(&self) -> ::std::option::Option<&crate::types::CsvInput> {
   19         -
        self.csv.as_ref()
   20         -
    }
   21         -
    /// <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default Value: NONE.</p>
   22         -
    pub fn compression_type(&self) -> ::std::option::Option<&crate::types::CompressionType> {
   23         -
        self.compression_type.as_ref()
   24         -
    }
   25         -
    /// <p>Specifies JSON as object's input serialization format.</p>
   26         -
    pub fn json(&self) -> ::std::option::Option<&crate::types::JsonInput> {
   27         -
        self.json.as_ref()
   28         -
    }
   29         -
    /// <p>Specifies Parquet as object's input serialization format.</p>
   30         -
    pub fn parquet(&self) -> ::std::option::Option<&crate::types::ParquetInput> {
   31         -
        self.parquet.as_ref()
   32         -
    }
   33         -
}
   34         -
impl InputSerialization {
   35         -
    /// Creates a new builder-style object to manufacture [`InputSerialization`](crate::types::InputSerialization).
   36         -
    pub fn builder() -> crate::types::builders::InputSerializationBuilder {
   37         -
        crate::types::builders::InputSerializationBuilder::default()
   38         -
    }
   39         -
}
   40         -
   41         -
/// A builder for [`InputSerialization`](crate::types::InputSerialization).
   42         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   43         -
#[non_exhaustive]
   44         -
pub struct InputSerializationBuilder {
   45         -
    pub(crate) csv: ::std::option::Option<crate::types::CsvInput>,
   46         -
    pub(crate) compression_type: ::std::option::Option<crate::types::CompressionType>,
   47         -
    pub(crate) json: ::std::option::Option<crate::types::JsonInput>,
   48         -
    pub(crate) parquet: ::std::option::Option<crate::types::ParquetInput>,
   49         -
}
   50         -
impl InputSerializationBuilder {
   51         -
    /// <p>Describes the serialization of a CSV-encoded object.</p>
   52         -
    pub fn csv(mut self, input: crate::types::CsvInput) -> Self {
   53         -
        self.csv = ::std::option::Option::Some(input);
   54         -
        self
   55         -
    }
   56         -
    /// <p>Describes the serialization of a CSV-encoded object.</p>
   57         -
    pub fn set_csv(mut self, input: ::std::option::Option<crate::types::CsvInput>) -> Self {
   58         -
        self.csv = input;
   59         -
        self
   60         -
    }
   61         -
    /// <p>Describes the serialization of a CSV-encoded object.</p>
   62         -
    pub fn get_csv(&self) -> &::std::option::Option<crate::types::CsvInput> {
   63         -
        &self.csv
   64         -
    }
   65         -
    /// <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default Value: NONE.</p>
   66         -
    pub fn compression_type(mut self, input: crate::types::CompressionType) -> Self {
   67         -
        self.compression_type = ::std::option::Option::Some(input);
   68         -
        self
   69         -
    }
   70         -
    /// <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default Value: NONE.</p>
   71         -
    pub fn set_compression_type(mut self, input: ::std::option::Option<crate::types::CompressionType>) -> Self {
   72         -
        self.compression_type = input;
   73         -
        self
   74         -
    }
   75         -
    /// <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default Value: NONE.</p>
   76         -
    pub fn get_compression_type(&self) -> &::std::option::Option<crate::types::CompressionType> {
   77         -
        &self.compression_type
   78         -
    }
   79         -
    /// <p>Specifies JSON as object's input serialization format.</p>
   80         -
    pub fn json(mut self, input: crate::types::JsonInput) -> Self {
   81         -
        self.json = ::std::option::Option::Some(input);
   82         -
        self
   83         -
    }
   84         -
    /// <p>Specifies JSON as object's input serialization format.</p>
   85         -
    pub fn set_json(mut self, input: ::std::option::Option<crate::types::JsonInput>) -> Self {
   86         -
        self.json = input;
   87         -
        self
   88         -
    }
   89         -
    /// <p>Specifies JSON as object's input serialization format.</p>
   90         -
    pub fn get_json(&self) -> &::std::option::Option<crate::types::JsonInput> {
   91         -
        &self.json
   92         -
    }
   93         -
    /// <p>Specifies Parquet as object's input serialization format.</p>
   94         -
    pub fn parquet(mut self, input: crate::types::ParquetInput) -> Self {
   95         -
        self.parquet = ::std::option::Option::Some(input);
   96         -
        self
   97         -
    }
   98         -
    /// <p>Specifies Parquet as object's input serialization format.</p>
   99         -
    pub fn set_parquet(mut self, input: ::std::option::Option<crate::types::ParquetInput>) -> Self {
  100         -
        self.parquet = input;
  101         -
        self
  102         -
    }
  103         -
    /// <p>Specifies Parquet as object's input serialization format.</p>
  104         -
    pub fn get_parquet(&self) -> &::std::option::Option<crate::types::ParquetInput> {
  105         -
        &self.parquet
  106         -
    }
  107         -
    /// Consumes the builder and constructs a [`InputSerialization`](crate::types::InputSerialization).
  108         -
    pub fn build(self) -> crate::types::InputSerialization {
  109         -
        crate::types::InputSerialization {
  110         -
            csv: self.csv,
  111         -
            compression_type: self.compression_type,
  112         -
            json: self.json,
  113         -
            parquet: self.parquet,
  114         -
        }
  115         -
    }
  116         -
}