AWS SDK

AWS SDK

rev. 54a52cba1f1ff5fc52d06b3721da33bf6bc3bfda

Files changed:

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

@@ -8,8 +70,69 @@
   28     28   
/// version of SDK where the variant `RequestCharged::NewFeature` is defined.
   29     29   
/// Specifically, when `requestcharged` 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 `RequestCharged::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>If present, indicates that the requester was successfully charged for the request. For more
   39         -
/// information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple
   40         -
/// Storage Service user guide</i>.</p>
          38  +
/// <p>If present, indicates that the requester was successfully charged for the
          39  +
/// request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p>
   41     40   
/// <note>
   42     41   
/// <p>This functionality is not supported for directory buckets.</p>
   43     42   
/// </note>
   44     43   
#[non_exhaustive]
   45     44   
#[derive(
   46     45   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash,
   47     46   
)]
   48     47   
pub enum RequestCharged {
   49     48   
    #[allow(missing_docs)] // documentation missing in model
   50     49   
    Requester,

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

@@ -8,8 +72,73 @@
   28     28   
/// version of SDK where the variant `RequestPayer::NewFeature` is defined.
   29     29   
/// Specifically, when `requestpayer` 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 `RequestPayer::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>Confirms that the requester knows that they will be charged for the request. Bucket owners need not
   39         -
/// specify this parameter in their requests. If either the source or destination S3 bucket has Requester
   40         -
/// Pays enabled, the requester will pay for corresponding charges to copy the object. For information about
   41         -
/// downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays
   42         -
/// Buckets</a> in the <i>Amazon S3 User Guide</i>.</p>
          38  +
/// <p>Confirms that the requester knows that they will be charged for the request. Bucket
          39  +
/// owners need not specify this parameter in their requests. If either the source or
          40  +
/// destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding
          41  +
/// charges to copy the object. For information about downloading objects from Requester Pays
          42  +
/// buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in
          43  +
/// Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p>
   43     44   
/// <note>
   44     45   
/// <p>This functionality is not supported for directory buckets.</p>
   45     46   
/// </note>
   46     47   
#[non_exhaustive]
   47     48   
#[derive(
   48     49   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash,
   49     50   
)]
   50     51   
pub enum RequestPayer {
   51     52   
    #[allow(missing_docs)] // documentation missing in model
   52     53   
    Requester,

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

@@ -1,0 +48,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Container for specifying if periodic <code>QueryProgress</code> messages should be sent.</p>
    4         -
#[non_exhaustive]
    5         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct RequestProgress {
    7         -
    /// <p>Specifies whether periodic QueryProgress frames should be sent. Valid values: TRUE, FALSE. Default value: FALSE.</p>
    8         -
    pub enabled: ::std::option::Option<bool>,
    9         -
}
   10         -
impl RequestProgress {
   11         -
    /// <p>Specifies whether periodic QueryProgress frames should be sent. Valid values: TRUE, FALSE. Default value: FALSE.</p>
   12         -
    pub fn enabled(&self) -> ::std::option::Option<bool> {
   13         -
        self.enabled
   14         -
    }
   15         -
}
   16         -
impl RequestProgress {
   17         -
    /// Creates a new builder-style object to manufacture [`RequestProgress`](crate::types::RequestProgress).
   18         -
    pub fn builder() -> crate::types::builders::RequestProgressBuilder {
   19         -
        crate::types::builders::RequestProgressBuilder::default()
   20         -
    }
   21         -
}
   22         -
   23         -
/// A builder for [`RequestProgress`](crate::types::RequestProgress).
   24         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   25         -
#[non_exhaustive]
   26         -
pub struct RequestProgressBuilder {
   27         -
    pub(crate) enabled: ::std::option::Option<bool>,
   28         -
}
   29         -
impl RequestProgressBuilder {
   30         -
    /// <p>Specifies whether periodic QueryProgress frames should be sent. Valid values: TRUE, FALSE. Default value: FALSE.</p>
   31         -
    pub fn enabled(mut self, input: bool) -> Self {
   32         -
        self.enabled = ::std::option::Option::Some(input);
   33         -
        self
   34         -
    }
   35         -
    /// <p>Specifies whether periodic QueryProgress frames should be sent. Valid values: TRUE, FALSE. Default value: FALSE.</p>
   36         -
    pub fn set_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
   37         -
        self.enabled = input;
   38         -
        self
   39         -
    }
   40         -
    /// <p>Specifies whether periodic QueryProgress frames should be sent. Valid values: TRUE, FALSE. Default value: FALSE.</p>
   41         -
    pub fn get_enabled(&self) -> &::std::option::Option<bool> {
   42         -
        &self.enabled
   43         -
    }
   44         -
    /// Consumes the builder and constructs a [`RequestProgress`](crate::types::RequestProgress).
   45         -
    pub fn build(self) -> crate::types::RequestProgress {
   46         -
        crate::types::RequestProgress { enabled: self.enabled }
   47         -
    }
   48         -
}

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

@@ -1,1 +112,99 @@
   11     11   
    pub glacier_job_parameters: ::std::option::Option<crate::types::GlacierJobParameters>,
   12     12   
    /// <important>
   13     13   
    /// <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a></p>
   14     14   
    /// </important>
   15     15   
    /// <p>Type of restore request.</p>
   16     16   
    pub r#type: ::std::option::Option<crate::types::RestoreRequestType>,
   17     17   
    /// <p>Retrieval tier at which the restore will be processed.</p>
   18     18   
    pub tier: ::std::option::Option<crate::types::Tier>,
   19     19   
    /// <p>The optional description for the job.</p>
   20     20   
    pub description: ::std::option::Option<::std::string::String>,
   21         -
    /// <important>
   22         -
    /// <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a></p>
   23         -
    /// </important>
   24         -
    /// <p>Describes the parameters for Select job types.</p>
   25         -
    pub select_parameters: ::std::option::Option<crate::types::SelectParameters>,
   26     21   
    /// <p>Describes the location where the restore job's output is stored.</p>
   27     22   
    pub output_location: ::std::option::Option<crate::types::OutputLocation>,
   28     23   
}
   29     24   
impl RestoreRequest {
   30     25   
    /// <p>Lifetime of the active copy in days. Do not use with restores that specify <code>OutputLocation</code>.</p>
   31     26   
    /// <p>The Days element is required for regular restores, and must not be provided for select requests.</p>
   32     27   
    pub fn days(&self) -> ::std::option::Option<i32> {
   33     28   
        self.days
   34     29   
    }
   35     30   
    /// <p>S3 Glacier related parameters pertaining to this job. Do not use with restores that specify <code>OutputLocation</code>.</p>
   36     31   
    pub fn glacier_job_parameters(&self) -> ::std::option::Option<&crate::types::GlacierJobParameters> {
   37     32   
        self.glacier_job_parameters.as_ref()
   38     33   
    }
   39     34   
    /// <important>
   40     35   
    /// <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a></p>
   41     36   
    /// </important>
   42     37   
    /// <p>Type of restore request.</p>
   43     38   
    pub fn r#type(&self) -> ::std::option::Option<&crate::types::RestoreRequestType> {
   44     39   
        self.r#type.as_ref()
   45     40   
    }
   46     41   
    /// <p>Retrieval tier at which the restore will be processed.</p>
   47     42   
    pub fn tier(&self) -> ::std::option::Option<&crate::types::Tier> {
   48     43   
        self.tier.as_ref()
   49     44   
    }
   50     45   
    /// <p>The optional description for the job.</p>
   51     46   
    pub fn description(&self) -> ::std::option::Option<&str> {
   52     47   
        self.description.as_deref()
   53     48   
    }
   54         -
    /// <important>
   55         -
    /// <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a></p>
   56         -
    /// </important>
   57         -
    /// <p>Describes the parameters for Select job types.</p>
   58         -
    pub fn select_parameters(&self) -> ::std::option::Option<&crate::types::SelectParameters> {
   59         -
        self.select_parameters.as_ref()
   60         -
    }
   61     49   
    /// <p>Describes the location where the restore job's output is stored.</p>
   62     50   
    pub fn output_location(&self) -> ::std::option::Option<&crate::types::OutputLocation> {
   63     51   
        self.output_location.as_ref()
   64     52   
    }
   65     53   
}
   66     54   
impl RestoreRequest {
   67     55   
    /// Creates a new builder-style object to manufacture [`RestoreRequest`](crate::types::RestoreRequest).
   68     56   
    pub fn builder() -> crate::types::builders::RestoreRequestBuilder {
   69     57   
        crate::types::builders::RestoreRequestBuilder::default()
   70     58   
    }
   71     59   
}
   72     60   
   73     61   
/// A builder for [`RestoreRequest`](crate::types::RestoreRequest).
   74     62   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   75     63   
#[non_exhaustive]
   76     64   
pub struct RestoreRequestBuilder {
   77     65   
    pub(crate) days: ::std::option::Option<i32>,
   78     66   
    pub(crate) glacier_job_parameters: ::std::option::Option<crate::types::GlacierJobParameters>,
   79     67   
    pub(crate) r#type: ::std::option::Option<crate::types::RestoreRequestType>,
   80     68   
    pub(crate) tier: ::std::option::Option<crate::types::Tier>,
   81     69   
    pub(crate) description: ::std::option::Option<::std::string::String>,
   82         -
    pub(crate) select_parameters: ::std::option::Option<crate::types::SelectParameters>,
   83     70   
    pub(crate) output_location: ::std::option::Option<crate::types::OutputLocation>,
   84     71   
}
   85     72   
impl RestoreRequestBuilder {
   86     73   
    /// <p>Lifetime of the active copy in days. Do not use with restores that specify <code>OutputLocation</code>.</p>
   87     74   
    /// <p>The Days element is required for regular restores, and must not be provided for select requests.</p>
   88     75   
    pub fn days(mut self, input: i32) -> Self {
   89     76   
        self.days = ::std::option::Option::Some(input);
   90     77   
        self
   91     78   
    }
   92     79   
    /// <p>Lifetime of the active copy in days. Do not use with restores that specify <code>OutputLocation</code>.</p>
@@ -138,125 +217,180 @@
  158    145   
    }
  159    146   
    /// <p>The optional description for the job.</p>
  160    147   
    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  161    148   
        self.description = input;
  162    149   
        self
  163    150   
    }
  164    151   
    /// <p>The optional description for the job.</p>
  165    152   
    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
  166    153   
        &self.description
  167    154   
    }
  168         -
    /// <important>
  169         -
    /// <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a></p>
  170         -
    /// </important>
  171         -
    /// <p>Describes the parameters for Select job types.</p>
  172         -
    pub fn select_parameters(mut self, input: crate::types::SelectParameters) -> Self {
  173         -
        self.select_parameters = ::std::option::Option::Some(input);
  174         -
        self
  175         -
    }
  176         -
    /// <important>
  177         -
    /// <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a></p>
  178         -
    /// </important>
  179         -
    /// <p>Describes the parameters for Select job types.</p>
  180         -
    pub fn set_select_parameters(mut self, input: ::std::option::Option<crate::types::SelectParameters>) -> Self {
  181         -
        self.select_parameters = input;
  182         -
        self
  183         -
    }
  184         -
    /// <important>
  185         -
    /// <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a></p>
  186         -
    /// </important>
  187         -
    /// <p>Describes the parameters for Select job types.</p>
  188         -
    pub fn get_select_parameters(&self) -> &::std::option::Option<crate::types::SelectParameters> {
  189         -
        &self.select_parameters
  190         -
    }
  191    155   
    /// <p>Describes the location where the restore job's output is stored.</p>
  192    156   
    pub fn output_location(mut self, input: crate::types::OutputLocation) -> Self {
  193    157   
        self.output_location = ::std::option::Option::Some(input);
  194    158   
        self
  195    159   
    }
  196    160   
    /// <p>Describes the location where the restore job's output is stored.</p>
  197    161   
    pub fn set_output_location(mut self, input: ::std::option::Option<crate::types::OutputLocation>) -> Self {
  198    162   
        self.output_location = input;
  199    163   
        self
  200    164   
    }
  201    165   
    /// <p>Describes the location where the restore job's output is stored.</p>
  202    166   
    pub fn get_output_location(&self) -> &::std::option::Option<crate::types::OutputLocation> {
  203    167   
        &self.output_location
  204    168   
    }
  205    169   
    /// Consumes the builder and constructs a [`RestoreRequest`](crate::types::RestoreRequest).
  206    170   
    pub fn build(self) -> crate::types::RestoreRequest {
  207    171   
        crate::types::RestoreRequest {
  208    172   
            days: self.days,
  209    173   
            glacier_job_parameters: self.glacier_job_parameters,
  210    174   
            r#type: self.r#type,
  211    175   
            tier: self.tier,
  212    176   
            description: self.description,
  213         -
            select_parameters: self.select_parameters,
  214    177   
            output_location: self.output_location,
  215    178   
        }
  216    179   
    }
  217    180   
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/types/_s3_tables_bucket_type.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 `S3TablesBucketType`, 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 s3tablesbuckettype = unimplemented!();
   14         -
/// match s3tablesbuckettype {
   15         -
///     S3TablesBucketType::Aws => { /* ... */ },
   16         -
///     S3TablesBucketType::Customer => { /* ... */ },
   17         -
///     other @ _ if other.as_str() == "NewFeature" => { /* handles a case for `NewFeature` */ },
   18         -
///     _ => { /* ... */ },
   19         -
/// }
   20         -
/// ```
   21         -
/// The above code demonstrates that when `s3tablesbuckettype` represents
   22         -
/// `NewFeature`, the execution path will lead to the second last match arm,
   23         -
/// even though the enum does not contain a variant `S3TablesBucketType::NewFeature`
   24         -
/// in the current version of SDK. The reason is that the variable `other`,
   25         -
/// created by the `@` operator, is bound to
   26         -
/// `S3TablesBucketType::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 `S3TablesBucketType::NewFeature` is defined.
   30         -
/// Specifically, when `s3tablesbuckettype` represents `NewFeature`,
   31         -
/// the execution path will hit the second last match arm as before by virtue of
   32         -
/// calling `as_str` on `S3TablesBucketType::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 S3TablesBucketType {
   45         -
    #[allow(missing_docs)] // documentation missing in model
   46         -
    Aws,
   47         -
    #[allow(missing_docs)] // documentation missing in model
   48         -
    Customer,
   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 S3TablesBucketType {
   54         -
    fn from(s: &str) -> Self {
   55         -
        match s {
   56         -
            "aws" => S3TablesBucketType::Aws,
   57         -
            "customer" => S3TablesBucketType::Customer,
   58         -
            other => S3TablesBucketType::Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue(other.to_owned())),
   59         -
        }
   60         -
    }
   61         -
}
   62         -
impl ::std::str::FromStr for S3TablesBucketType {
   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(S3TablesBucketType::from(s))
   67         -
    }
   68         -
}
   69         -
impl S3TablesBucketType {
   70         -
    /// Returns the `&str` value of the enum member.
   71         -
    pub fn as_str(&self) -> &str {
   72         -
        match self {
   73         -
            S3TablesBucketType::Aws => "aws",
   74         -
            S3TablesBucketType::Customer => "customer",
   75         -
            S3TablesBucketType::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         -
        &["aws", "customer"]
   81         -
    }
   82         -
}
   83         -
impl ::std::convert::AsRef<str> for S3TablesBucketType {
   84         -
    fn as_ref(&self) -> &str {
   85         -
        self.as_str()
   86         -
    }
   87         -
}
   88         -
impl S3TablesBucketType {
   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 S3TablesBucketType {
  101         -
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  102         -
        match self {
  103         -
            S3TablesBucketType::Aws => write!(f, "aws"),
  104         -
            S3TablesBucketType::Customer => write!(f, "customer"),
  105         -
            S3TablesBucketType::Unknown(value) => write!(f, "{value}"),
  106         -
        }
  107         -
    }
  108         -
}

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

@@ -1,1 +35,33 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
    3         -
/// <p>The destination information for a V1 S3 Metadata configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket. The specified metadata table name must be unique within the <code>aws_s3_metadata</code> namespace in the destination table 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 destination information for the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket. The specified metadata table name must be unique within the <code>aws_s3_metadata</code> namespace in the destination table bucket.</p>
    6      4   
#[non_exhaustive]
    7      5   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    8      6   
pub struct S3TablesDestination {
    9      7   
    /// <p>The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket.</p>
   10      8   
    pub table_bucket_arn: ::std::string::String,
   11      9   
    /// <p>The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the <code>aws_s3_metadata</code> namespace in the destination table bucket.</p>
   12     10   
    pub table_name: ::std::string::String,
   13     11   
}
   14     12   
impl S3TablesDestination {
   15     13   
    /// <p>The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket.</p>

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

@@ -1,1 +35,33 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
    3         -
/// <p>The destination information for a V1 S3 Metadata configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket. The specified metadata table name must be unique within the <code>aws_s3_metadata</code> namespace in the destination table 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 destination information for the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket. The specified metadata table name must be unique within the <code>aws_s3_metadata</code> namespace in the destination table bucket.</p>
    6      4   
#[non_exhaustive]
    7      5   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    8      6   
pub struct S3TablesDestinationResult {
    9      7   
    /// <p>The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket.</p>
   10      8   
    pub table_bucket_arn: ::std::string::String,
   11      9   
    /// <p>The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the <code>aws_s3_metadata</code> namespace in the destination table bucket.</p>
   12     10   
    pub table_name: ::std::string::String,
   13     11   
    /// <p>The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the <code>aws_s3_metadata</code> namespace in the destination table bucket.</p>
   14     12   
    pub table_arn: ::std::string::String,
   15     13   
    /// <p>The table bucket namespace for the metadata table in your metadata table configuration. This value is always <code>aws_s3_metadata</code>.</p>

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

@@ -1,0 +112,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Specifies the byte range of the object to get the records from. A record is processed when its first byte is contained by the range. This parameter is optional, but when specified, it must not be empty. See RFC 2616, Section 14.35.1 about how to specify the start and end of the range.</p>
    4         -
#[non_exhaustive]
    5         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct ScanRange {
    7         -
    /// <p>Specifies the start of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is 0. If only <code>start</code> is supplied, it means scan from that point to the end of the file. For example, <code><scanrange>
    8         -
    /// <start>
    9         -
    /// 50
   10         -
    /// </start>
   11         -
    /// </scanrange></code> means scan from byte 50 until the end of the file.</p>
   12         -
    pub start: ::std::option::Option<i64>,
   13         -
    /// <p>Specifies the end of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is one less than the size of the object being queried. If only the End parameter is supplied, it is interpreted to mean scan the last N bytes of the file. For example, <code><scanrange>
   14         -
    /// <end>
   15         -
    /// 50
   16         -
    /// </end>
   17         -
    /// </scanrange></code> means scan the last 50 bytes.</p>
   18         -
    pub end: ::std::option::Option<i64>,
   19         -
}
   20         -
impl ScanRange {
   21         -
    /// <p>Specifies the start of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is 0. If only <code>start</code> is supplied, it means scan from that point to the end of the file. For example, <code><scanrange>
   22         -
    /// <start>
   23         -
    /// 50
   24         -
    /// </start>
   25         -
    /// </scanrange></code> means scan from byte 50 until the end of the file.</p>
   26         -
    pub fn start(&self) -> ::std::option::Option<i64> {
   27         -
        self.start
   28         -
    }
   29         -
    /// <p>Specifies the end of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is one less than the size of the object being queried. If only the End parameter is supplied, it is interpreted to mean scan the last N bytes of the file. For example, <code><scanrange>
   30         -
    /// <end>
   31         -
    /// 50
   32         -
    /// </end>
   33         -
    /// </scanrange></code> means scan the last 50 bytes.</p>
   34         -
    pub fn end(&self) -> ::std::option::Option<i64> {
   35         -
        self.end
   36         -
    }
   37         -
}
   38         -
impl ScanRange {
   39         -
    /// Creates a new builder-style object to manufacture [`ScanRange`](crate::types::ScanRange).
   40         -
    pub fn builder() -> crate::types::builders::ScanRangeBuilder {
   41         -
        crate::types::builders::ScanRangeBuilder::default()
   42         -
    }
   43         -
}
   44         -
   45         -
/// A builder for [`ScanRange`](crate::types::ScanRange).
   46         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   47         -
#[non_exhaustive]
   48         -
pub struct ScanRangeBuilder {
   49         -
    pub(crate) start: ::std::option::Option<i64>,
   50         -
    pub(crate) end: ::std::option::Option<i64>,
   51         -
}
   52         -
impl ScanRangeBuilder {
   53         -
    /// <p>Specifies the start of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is 0. If only <code>start</code> is supplied, it means scan from that point to the end of the file. For example, <code><scanrange>
   54         -
    /// <start>
   55         -
    /// 50
   56         -
    /// </start>
   57         -
    /// </scanrange></code> means scan from byte 50 until the end of the file.</p>
   58         -
    pub fn start(mut self, input: i64) -> Self {
   59         -
        self.start = ::std::option::Option::Some(input);
   60         -
        self
   61         -
    }
   62         -
    /// <p>Specifies the start of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is 0. If only <code>start</code> is supplied, it means scan from that point to the end of the file. For example, <code><scanrange>
   63         -
    /// <start>
   64         -
    /// 50
   65         -
    /// </start>
   66         -
    /// </scanrange></code> means scan from byte 50 until the end of the file.</p>
   67         -
    pub fn set_start(mut self, input: ::std::option::Option<i64>) -> Self {
   68         -
        self.start = input;
   69         -
        self
   70         -
    }
   71         -
    /// <p>Specifies the start of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is 0. If only <code>start</code> is supplied, it means scan from that point to the end of the file. For example, <code><scanrange>
   72         -
    /// <start>
   73         -
    /// 50
   74         -
    /// </start>
   75         -
    /// </scanrange></code> means scan from byte 50 until the end of the file.</p>
   76         -
    pub fn get_start(&self) -> &::std::option::Option<i64> {
   77         -
        &self.start
   78         -
    }
   79         -
    /// <p>Specifies the end of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is one less than the size of the object being queried. If only the End parameter is supplied, it is interpreted to mean scan the last N bytes of the file. For example, <code><scanrange>
   80         -
    /// <end>
   81         -
    /// 50
   82         -
    /// </end>
   83         -
    /// </scanrange></code> means scan the last 50 bytes.</p>
   84         -
    pub fn end(mut self, input: i64) -> Self {
   85         -
        self.end = ::std::option::Option::Some(input);
   86         -
        self
   87         -
    }
   88         -
    /// <p>Specifies the end of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is one less than the size of the object being queried. If only the End parameter is supplied, it is interpreted to mean scan the last N bytes of the file. For example, <code><scanrange>
   89         -
    /// <end>
   90         -
    /// 50
   91         -
    /// </end>
   92         -
    /// </scanrange></code> means scan the last 50 bytes.</p>
   93         -
    pub fn set_end(mut self, input: ::std::option::Option<i64>) -> Self {
   94         -
        self.end = input;
   95         -
        self
   96         -
    }
   97         -
    /// <p>Specifies the end of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is one less than the size of the object being queried. If only the End parameter is supplied, it is interpreted to mean scan the last N bytes of the file. For example, <code><scanrange>
   98         -
    /// <end>
   99         -
    /// 50
  100         -
    /// </end>
  101         -
    /// </scanrange></code> means scan the last 50 bytes.</p>
  102         -
    pub fn get_end(&self) -> &::std::option::Option<i64> {
  103         -
        &self.end
  104         -
    }
  105         -
    /// Consumes the builder and constructs a [`ScanRange`](crate::types::ScanRange).
  106         -
    pub fn build(self) -> crate::types::ScanRange {
  107         -
        crate::types::ScanRange {
  108         -
            start: self.start,
  109         -
            end: self.end,
  110         -
        }
  111         -
    }
  112         -
}

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

@@ -1,0 +97,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>The container for selecting objects from a content event stream.</p>
    4         -
#[non_exhaustive]
    5         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub enum SelectObjectContentEventStream {
    7         -
    /// <p>The Continuation Event.</p>
    8         -
    Cont(crate::types::ContinuationEvent),
    9         -
    /// <p>The End Event.</p>
   10         -
    End(crate::types::EndEvent),
   11         -
    /// <p>The Progress Event.</p>
   12         -
    Progress(crate::types::ProgressEvent),
   13         -
    /// <p>The Records Event.</p>
   14         -
    Records(crate::types::RecordsEvent),
   15         -
    /// <p>The Stats Event.</p>
   16         -
    Stats(crate::types::StatsEvent),
   17         -
    /// The `Unknown` variant represents cases where new union variant was received. Consider upgrading the SDK to the latest available version.
   18         -
    /// An unknown enum variant
   19         -
    ///
   20         -
    /// _Note: If you encounter this error, consider upgrading your SDK to the latest version._
   21         -
    /// The `Unknown` variant represents cases where the server sent a value that wasn't recognized
   22         -
    /// by the client. This can happen when the server adds new functionality, but the client has not been updated.
   23         -
    /// To investigate this, consider turning on debug logging to print the raw HTTP response.
   24         -
    #[non_exhaustive]
   25         -
    Unknown,
   26         -
}
   27         -
impl SelectObjectContentEventStream {
   28         -
    /// Tries to convert the enum instance into [`Cont`](crate::types::SelectObjectContentEventStream::Cont), extracting the inner [`ContinuationEvent`](crate::types::ContinuationEvent).
   29         -
    /// Returns `Err(&Self)` if it can't be converted.
   30         -
    pub fn as_cont(&self) -> ::std::result::Result<&crate::types::ContinuationEvent, &Self> {
   31         -
        if let SelectObjectContentEventStream::Cont(val) = &self {
   32         -
            ::std::result::Result::Ok(val)
   33         -
        } else {
   34         -
            ::std::result::Result::Err(self)
   35         -
        }
   36         -
    }
   37         -
    /// Returns true if this is a [`Cont`](crate::types::SelectObjectContentEventStream::Cont).
   38         -
    pub fn is_cont(&self) -> bool {
   39         -
        self.as_cont().is_ok()
   40         -
    }
   41         -
    /// Tries to convert the enum instance into [`End`](crate::types::SelectObjectContentEventStream::End), extracting the inner [`EndEvent`](crate::types::EndEvent).
   42         -
    /// Returns `Err(&Self)` if it can't be converted.
   43         -
    pub fn as_end(&self) -> ::std::result::Result<&crate::types::EndEvent, &Self> {
   44         -
        if let SelectObjectContentEventStream::End(val) = &self {
   45         -
            ::std::result::Result::Ok(val)
   46         -
        } else {
   47         -
            ::std::result::Result::Err(self)
   48         -
        }
   49         -
    }
   50         -
    /// Returns true if this is a [`End`](crate::types::SelectObjectContentEventStream::End).
   51         -
    pub fn is_end(&self) -> bool {
   52         -
        self.as_end().is_ok()
   53         -
    }
   54         -
    /// Tries to convert the enum instance into [`Progress`](crate::types::SelectObjectContentEventStream::Progress), extracting the inner [`ProgressEvent`](crate::types::ProgressEvent).
   55         -
    /// Returns `Err(&Self)` if it can't be converted.
   56         -
    pub fn as_progress(&self) -> ::std::result::Result<&crate::types::ProgressEvent, &Self> {
   57         -
        if let SelectObjectContentEventStream::Progress(val) = &self {
   58         -
            ::std::result::Result::Ok(val)
   59         -
        } else {
   60         -
            ::std::result::Result::Err(self)
   61         -
        }
   62         -
    }
   63         -
    /// Returns true if this is a [`Progress`](crate::types::SelectObjectContentEventStream::Progress).
   64         -
    pub fn is_progress(&self) -> bool {
   65         -
        self.as_progress().is_ok()
   66         -
    }
   67         -
    /// Tries to convert the enum instance into [`Records`](crate::types::SelectObjectContentEventStream::Records), extracting the inner [`RecordsEvent`](crate::types::RecordsEvent).
   68         -
    /// Returns `Err(&Self)` if it can't be converted.
   69         -
    pub fn as_records(&self) -> ::std::result::Result<&crate::types::RecordsEvent, &Self> {
   70         -
        if let SelectObjectContentEventStream::Records(val) = &self {
   71         -
            ::std::result::Result::Ok(val)
   72         -
        } else {
   73         -
            ::std::result::Result::Err(self)
   74         -
        }
   75         -
    }
   76         -
    /// Returns true if this is a [`Records`](crate::types::SelectObjectContentEventStream::Records).
   77         -
    pub fn is_records(&self) -> bool {
   78         -
        self.as_records().is_ok()
   79         -
    }
   80         -
    /// Tries to convert the enum instance into [`Stats`](crate::types::SelectObjectContentEventStream::Stats), extracting the inner [`StatsEvent`](crate::types::StatsEvent).
   81         -
    /// Returns `Err(&Self)` if it can't be converted.
   82         -
    pub fn as_stats(&self) -> ::std::result::Result<&crate::types::StatsEvent, &Self> {
   83         -
        if let SelectObjectContentEventStream::Stats(val) = &self {
   84         -
            ::std::result::Result::Ok(val)
   85         -
        } else {
   86         -
            ::std::result::Result::Err(self)
   87         -
        }
   88         -
    }
   89         -
    /// Returns true if this is a [`Stats`](crate::types::SelectObjectContentEventStream::Stats).
   90         -
    pub fn is_stats(&self) -> bool {
   91         -
        self.as_stats().is_ok()
   92         -
    }
   93         -
    /// Returns true if the enum instance is the `Unknown` variant.
   94         -
    pub fn is_unknown(&self) -> bool {
   95         -
        matches!(self, Self::Unknown)
   96         -
    }
   97         -
}

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

@@ -1,0 +153,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <important>
    4         -
/// <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a></p>
    5         -
/// </important>
    6         -
/// <p>Describes the parameters for Select job types.</p>
    7         -
/// <p>Learn <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">How to optimize querying your data in Amazon S3</a> using <a href="https://docs.aws.amazon.com/athena/latest/ug/what-is.html">Amazon Athena</a>, <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/transforming-objects.html">S3 Object Lambda</a>, or client-side filtering.</p>
    8         -
#[non_exhaustive]
    9         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
   10         -
pub struct SelectParameters {
   11         -
    /// <p>Describes the serialization format of the object.</p>
   12         -
    pub input_serialization: ::std::option::Option<crate::types::InputSerialization>,
   13         -
    /// <p>The type of the provided expression (for example, SQL).</p>
   14         -
    pub expression_type: crate::types::ExpressionType,
   15         -
    /// <important>
   16         -
    /// <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a></p>
   17         -
    /// </important>
   18         -
    /// <p>The expression that is used to query the object.</p>
   19         -
    pub expression: ::std::string::String,
   20         -
    /// <p>Describes how the results of the Select job are serialized.</p>
   21         -
    pub output_serialization: ::std::option::Option<crate::types::OutputSerialization>,
   22         -
}
   23         -
impl SelectParameters {
   24         -
    /// <p>Describes the serialization format of the object.</p>
   25         -
    pub fn input_serialization(&self) -> ::std::option::Option<&crate::types::InputSerialization> {
   26         -
        self.input_serialization.as_ref()
   27         -
    }
   28         -
    /// <p>The type of the provided expression (for example, SQL).</p>
   29         -
    pub fn expression_type(&self) -> &crate::types::ExpressionType {
   30         -
        &self.expression_type
   31         -
    }
   32         -
    /// <important>
   33         -
    /// <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a></p>
   34         -
    /// </important>
   35         -
    /// <p>The expression that is used to query the object.</p>
   36         -
    pub fn expression(&self) -> &str {
   37         -
        use std::ops::Deref;
   38         -
        self.expression.deref()
   39         -
    }
   40         -
    /// <p>Describes how the results of the Select job are serialized.</p>
   41         -
    pub fn output_serialization(&self) -> ::std::option::Option<&crate::types::OutputSerialization> {
   42         -
        self.output_serialization.as_ref()
   43         -
    }
   44         -
}
   45         -
impl SelectParameters {
   46         -
    /// Creates a new builder-style object to manufacture [`SelectParameters`](crate::types::SelectParameters).
   47         -
    pub fn builder() -> crate::types::builders::SelectParametersBuilder {
   48         -
        crate::types::builders::SelectParametersBuilder::default()
   49         -
    }
   50         -
}
   51         -
   52         -
/// A builder for [`SelectParameters`](crate::types::SelectParameters).
   53         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   54         -
#[non_exhaustive]
   55         -
pub struct SelectParametersBuilder {
   56         -
    pub(crate) input_serialization: ::std::option::Option<crate::types::InputSerialization>,
   57         -
    pub(crate) expression_type: ::std::option::Option<crate::types::ExpressionType>,
   58         -
    pub(crate) expression: ::std::option::Option<::std::string::String>,
   59         -
    pub(crate) output_serialization: ::std::option::Option<crate::types::OutputSerialization>,
   60         -
}
   61         -
impl SelectParametersBuilder {
   62         -
    /// <p>Describes the serialization format of the object.</p>
   63         -
    /// This field is required.
   64         -
    pub fn input_serialization(mut self, input: crate::types::InputSerialization) -> Self {
   65         -
        self.input_serialization = ::std::option::Option::Some(input);
   66         -
        self
   67         -
    }
   68         -
    /// <p>Describes the serialization format of the object.</p>
   69         -
    pub fn set_input_serialization(mut self, input: ::std::option::Option<crate::types::InputSerialization>) -> Self {
   70         -
        self.input_serialization = input;
   71         -
        self
   72         -
    }
   73         -
    /// <p>Describes the serialization format of the object.</p>
   74         -
    pub fn get_input_serialization(&self) -> &::std::option::Option<crate::types::InputSerialization> {
   75         -
        &self.input_serialization
   76         -
    }
   77         -
    /// <p>The type of the provided expression (for example, SQL).</p>
   78         -
    /// This field is required.
   79         -
    pub fn expression_type(mut self, input: crate::types::ExpressionType) -> Self {
   80         -
        self.expression_type = ::std::option::Option::Some(input);
   81         -
        self
   82         -
    }
   83         -
    /// <p>The type of the provided expression (for example, SQL).</p>
   84         -
    pub fn set_expression_type(mut self, input: ::std::option::Option<crate::types::ExpressionType>) -> Self {
   85         -
        self.expression_type = input;
   86         -
        self
   87         -
    }
   88         -
    /// <p>The type of the provided expression (for example, SQL).</p>
   89         -
    pub fn get_expression_type(&self) -> &::std::option::Option<crate::types::ExpressionType> {
   90         -
        &self.expression_type
   91         -
    }
   92         -
    /// <important>
   93         -
    /// <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a></p>
   94         -
    /// </important>
   95         -
    /// <p>The expression that is used to query the object.</p>
   96         -
    /// This field is required.
   97         -
    pub fn expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   98         -
        self.expression = ::std::option::Option::Some(input.into());
   99         -
        self
  100         -
    }
  101         -
    /// <important>
  102         -
    /// <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a></p>
  103         -
    /// </important>
  104         -
    /// <p>The expression that is used to query the object.</p>
  105         -
    pub fn set_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  106         -
        self.expression = input;
  107         -
        self
  108         -
    }
  109         -
    /// <important>
  110         -
    /// <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a></p>
  111         -
    /// </important>
  112         -
    /// <p>The expression that is used to query the object.</p>
  113         -
    pub fn get_expression(&self) -> &::std::option::Option<::std::string::String> {
  114         -
        &self.expression
  115         -
    }
  116         -
    /// <p>Describes how the results of the Select job are serialized.</p>
  117         -
    /// This field is required.
  118         -
    pub fn output_serialization(mut self, input: crate::types::OutputSerialization) -> Self {
  119         -
        self.output_serialization = ::std::option::Option::Some(input);
  120         -
        self
  121         -
    }
  122         -
    /// <p>Describes how the results of the Select job are serialized.</p>
  123         -
    pub fn set_output_serialization(mut self, input: ::std::option::Option<crate::types::OutputSerialization>) -> Self {
  124         -
        self.output_serialization = input;
  125         -
        self
  126         -
    }
  127         -
    /// <p>Describes how the results of the Select job are serialized.</p>
  128         -
    pub fn get_output_serialization(&self) -> &::std::option::Option<crate::types::OutputSerialization> {
  129         -
        &self.output_serialization
  130         -
    }
  131         -
    /// Consumes the builder and constructs a [`SelectParameters`](crate::types::SelectParameters).
  132         -
    /// This method will fail if any of the following fields are not set:
  133         -
    /// - [`expression_type`](crate::types::builders::SelectParametersBuilder::expression_type)
  134         -
    /// - [`expression`](crate::types::builders::SelectParametersBuilder::expression)
  135         -
    pub fn build(self) -> ::std::result::Result<crate::types::SelectParameters, ::aws_smithy_types::error::operation::BuildError> {
  136         -
        ::std::result::Result::Ok(crate::types::SelectParameters {
  137         -
            input_serialization: self.input_serialization,
  138         -
            expression_type: self.expression_type.ok_or_else(|| {
  139         -
                ::aws_smithy_types::error::operation::BuildError::missing_field(
  140         -
                    "expression_type",
  141         -
                    "expression_type was not specified but it is required when building SelectParameters",
  142         -
                )
  143         -
            })?,
  144         -
            expression: self.expression.ok_or_else(|| {
  145         -
                ::aws_smithy_types::error::operation::BuildError::missing_field(
  146         -
                    "expression",
  147         -
                    "expression was not specified but it is required when building SelectParameters",
  148         -
                )
  149         -
            })?,
  150         -
            output_serialization: self.output_serialization,
  151         -
        })
  152         -
    }
  153         -
}

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

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

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

@@ -1,0 +94,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Container for the stats details.</p>
    4         -
#[non_exhaustive]
    5         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct Stats {
    7         -
    /// <p>The total number of object bytes scanned.</p>
    8         -
    pub bytes_scanned: ::std::option::Option<i64>,
    9         -
    /// <p>The total number of uncompressed object bytes processed.</p>
   10         -
    pub bytes_processed: ::std::option::Option<i64>,
   11         -
    /// <p>The total number of bytes of records payload data returned.</p>
   12         -
    pub bytes_returned: ::std::option::Option<i64>,
   13         -
}
   14         -
impl Stats {
   15         -
    /// <p>The total number of object bytes scanned.</p>
   16         -
    pub fn bytes_scanned(&self) -> ::std::option::Option<i64> {
   17         -
        self.bytes_scanned
   18         -
    }
   19         -
    /// <p>The total number of uncompressed object bytes processed.</p>
   20         -
    pub fn bytes_processed(&self) -> ::std::option::Option<i64> {
   21         -
        self.bytes_processed
   22         -
    }
   23         -
    /// <p>The total number of bytes of records payload data returned.</p>
   24         -
    pub fn bytes_returned(&self) -> ::std::option::Option<i64> {
   25         -
        self.bytes_returned
   26         -
    }
   27         -
}
   28         -
impl Stats {
   29         -
    /// Creates a new builder-style object to manufacture [`Stats`](crate::types::Stats).
   30         -
    pub fn builder() -> crate::types::builders::StatsBuilder {
   31         -
        crate::types::builders::StatsBuilder::default()
   32         -
    }
   33         -
}
   34         -
   35         -
/// A builder for [`Stats`](crate::types::Stats).
   36         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   37         -
#[non_exhaustive]
   38         -
pub struct StatsBuilder {
   39         -
    pub(crate) bytes_scanned: ::std::option::Option<i64>,
   40         -
    pub(crate) bytes_processed: ::std::option::Option<i64>,
   41         -
    pub(crate) bytes_returned: ::std::option::Option<i64>,
   42         -
}
   43         -
impl StatsBuilder {
   44         -
    /// <p>The total number of object bytes scanned.</p>
   45         -
    pub fn bytes_scanned(mut self, input: i64) -> Self {
   46         -
        self.bytes_scanned = ::std::option::Option::Some(input);
   47         -
        self
   48         -
    }
   49         -
    /// <p>The total number of object bytes scanned.</p>
   50         -
    pub fn set_bytes_scanned(mut self, input: ::std::option::Option<i64>) -> Self {
   51         -
        self.bytes_scanned = input;
   52         -
        self
   53         -
    }
   54         -
    /// <p>The total number of object bytes scanned.</p>
   55         -
    pub fn get_bytes_scanned(&self) -> &::std::option::Option<i64> {
   56         -
        &self.bytes_scanned
   57         -
    }
   58         -
    /// <p>The total number of uncompressed object bytes processed.</p>
   59         -
    pub fn bytes_processed(mut self, input: i64) -> Self {
   60         -
        self.bytes_processed = ::std::option::Option::Some(input);
   61         -
        self
   62         -
    }
   63         -
    /// <p>The total number of uncompressed object bytes processed.</p>
   64         -
    pub fn set_bytes_processed(mut self, input: ::std::option::Option<i64>) -> Self {
   65         -
        self.bytes_processed = input;
   66         -
        self
   67         -
    }
   68         -
    /// <p>The total number of uncompressed object bytes processed.</p>
   69         -
    pub fn get_bytes_processed(&self) -> &::std::option::Option<i64> {
   70         -
        &self.bytes_processed
   71         -
    }
   72         -
    /// <p>The total number of bytes of records payload data returned.</p>
   73         -
    pub fn bytes_returned(mut self, input: i64) -> Self {
   74         -
        self.bytes_returned = ::std::option::Option::Some(input);
   75         -
        self
   76         -
    }
   77         -
    /// <p>The total number of bytes of records payload data returned.</p>
   78         -
    pub fn set_bytes_returned(mut self, input: ::std::option::Option<i64>) -> Self {
   79         -
        self.bytes_returned = input;
   80         -
        self
   81         -
    }
   82         -
    /// <p>The total number of bytes of records payload data returned.</p>
   83         -
    pub fn get_bytes_returned(&self) -> &::std::option::Option<i64> {
   84         -
        &self.bytes_returned
   85         -
    }
   86         -
    /// Consumes the builder and constructs a [`Stats`](crate::types::Stats).
   87         -
    pub fn build(self) -> crate::types::Stats {
   88         -
        crate::types::Stats {
   89         -
            bytes_scanned: self.bytes_scanned,
   90         -
            bytes_processed: self.bytes_processed,
   91         -
            bytes_returned: self.bytes_returned,
   92         -
        }
   93         -
    }
   94         -
}

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

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

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

@@ -1,1 +181,174 @@
    7      7   
/// upgrade SDK to a future version in which the enum does include a variant for that
    8      8   
/// feature.
    9      9   
///
   10     10   
/// Here is an example of how you can make a match expression forward-compatible:
   11     11   
///
   12     12   
/// ```text
   13     13   
/// # let storageclass = unimplemented!();
   14     14   
/// match storageclass {
   15     15   
///     StorageClass::DeepArchive => { /* ... */ },
   16     16   
///     StorageClass::ExpressOnezone => { /* ... */ },
   17         -
///     StorageClass::FsxOpenzfs => { /* ... */ },
   18     17   
///     StorageClass::Glacier => { /* ... */ },
   19     18   
///     StorageClass::GlacierIr => { /* ... */ },
   20     19   
///     StorageClass::IntelligentTiering => { /* ... */ },
   21     20   
///     StorageClass::OnezoneIa => { /* ... */ },
   22     21   
///     StorageClass::Outposts => { /* ... */ },
   23     22   
///     StorageClass::ReducedRedundancy => { /* ... */ },
   24     23   
///     StorageClass::Snow => { /* ... */ },
   25     24   
///     StorageClass::Standard => { /* ... */ },
   26     25   
///     StorageClass::StandardIa => { /* ... */ },
   27     26   
///     other @ _ if other.as_str() == "NewFeature" => { /* handles a case for `NewFeature` */ },
   28     27   
///     _ => { /* ... */ },
   29     28   
/// }
   30     29   
/// ```
   31     30   
/// The above code demonstrates that when `storageclass` represents
   32     31   
/// `NewFeature`, the execution path will lead to the second last match arm,
   33     32   
/// even though the enum does not contain a variant `StorageClass::NewFeature`
   34     33   
/// in the current version of SDK. The reason is that the variable `other`,
   35     34   
/// created by the `@` operator, is bound to
   36     35   
/// `StorageClass::Unknown(UnknownVariantValue("NewFeature".to_owned()))`
   37     36   
/// and calling `as_str` on it yields `"NewFeature"`.
   38     37   
/// This match expression is forward-compatible when executed with a newer
   39     38   
/// version of SDK where the variant `StorageClass::NewFeature` is defined.
   40     39   
/// Specifically, when `storageclass` represents `NewFeature`,
   41     40   
/// the execution path will hit the second last match arm as before by virtue of
   42     41   
/// calling `as_str` on `StorageClass::NewFeature` also yielding `"NewFeature"`.
   43     42   
///
   44     43   
/// Explicitly matching on the `Unknown` variant should
   45     44   
/// be avoided for two reasons:
   46     45   
/// - The inner data `UnknownVariantValue` is opaque, and no further information can be extracted.
   47     46   
/// - It might inadvertently shadow other intended match arms.
   48     47   
///
   49     48   
#[allow(missing_docs)] // documentation missing in model
   50     49   
#[non_exhaustive]
   51     50   
#[derive(
   52     51   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash,
   53     52   
)]
   54     53   
pub enum StorageClass {
   55     54   
    #[allow(missing_docs)] // documentation missing in model
   56     55   
    DeepArchive,
   57     56   
    #[allow(missing_docs)] // documentation missing in model
   58     57   
    ExpressOnezone,
   59     58   
    #[allow(missing_docs)] // documentation missing in model
   60         -
    FsxOpenzfs,
   61         -
    #[allow(missing_docs)] // documentation missing in model
   62     59   
    Glacier,
   63     60   
    #[allow(missing_docs)] // documentation missing in model
   64     61   
    GlacierIr,
   65     62   
    #[allow(missing_docs)] // documentation missing in model
   66     63   
    IntelligentTiering,
   67     64   
    #[allow(missing_docs)] // documentation missing in model
   68     65   
    OnezoneIa,
   69     66   
    #[allow(missing_docs)] // documentation missing in model
   70     67   
    Outposts,
   71     68   
    #[allow(missing_docs)] // documentation missing in model
   72     69   
    ReducedRedundancy,
   73     70   
    #[allow(missing_docs)] // documentation missing in model
   74     71   
    Snow,
   75     72   
    #[allow(missing_docs)] // documentation missing in model
   76     73   
    Standard,
   77     74   
    #[allow(missing_docs)] // documentation missing in model
   78     75   
    StandardIa,
   79     76   
    /// `Unknown` contains new variants that have been added since this code was generated.
   80     77   
    #[deprecated(note = "Don't directly match on `Unknown`. See the docs on this enum for the correct way to handle unknown variants.")]
   81     78   
    Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue),
   82     79   
}
   83     80   
impl ::std::convert::From<&str> for StorageClass {
   84     81   
    fn from(s: &str) -> Self {
   85     82   
        match s {
   86     83   
            "DEEP_ARCHIVE" => StorageClass::DeepArchive,
   87     84   
            "EXPRESS_ONEZONE" => StorageClass::ExpressOnezone,
   88         -
            "FSX_OPENZFS" => StorageClass::FsxOpenzfs,
   89     85   
            "GLACIER" => StorageClass::Glacier,
   90     86   
            "GLACIER_IR" => StorageClass::GlacierIr,
   91     87   
            "INTELLIGENT_TIERING" => StorageClass::IntelligentTiering,
   92     88   
            "ONEZONE_IA" => StorageClass::OnezoneIa,
   93     89   
            "OUTPOSTS" => StorageClass::Outposts,
   94     90   
            "REDUCED_REDUNDANCY" => StorageClass::ReducedRedundancy,
   95     91   
            "SNOW" => StorageClass::Snow,
   96     92   
            "STANDARD" => StorageClass::Standard,
   97     93   
            "STANDARD_IA" => StorageClass::StandardIa,
   98     94   
            other => StorageClass::Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue(other.to_owned())),
   99     95   
        }
  100     96   
    }
  101     97   
}
  102     98   
impl ::std::str::FromStr for StorageClass {
  103     99   
    type Err = ::std::convert::Infallible;
  104    100   
  105    101   
    fn from_str(s: &str) -> ::std::result::Result<Self, <Self as ::std::str::FromStr>::Err> {
  106    102   
        ::std::result::Result::Ok(StorageClass::from(s))
  107    103   
    }
  108    104   
}
  109    105   
impl StorageClass {
  110    106   
    /// Returns the `&str` value of the enum member.
  111    107   
    pub fn as_str(&self) -> &str {
  112    108   
        match self {
  113    109   
            StorageClass::DeepArchive => "DEEP_ARCHIVE",
  114    110   
            StorageClass::ExpressOnezone => "EXPRESS_ONEZONE",
  115         -
            StorageClass::FsxOpenzfs => "FSX_OPENZFS",
  116    111   
            StorageClass::Glacier => "GLACIER",
  117    112   
            StorageClass::GlacierIr => "GLACIER_IR",
  118    113   
            StorageClass::IntelligentTiering => "INTELLIGENT_TIERING",
  119    114   
            StorageClass::OnezoneIa => "ONEZONE_IA",
  120    115   
            StorageClass::Outposts => "OUTPOSTS",
  121    116   
            StorageClass::ReducedRedundancy => "REDUCED_REDUNDANCY",
  122    117   
            StorageClass::Snow => "SNOW",
  123    118   
            StorageClass::Standard => "STANDARD",
  124    119   
            StorageClass::StandardIa => "STANDARD_IA",
  125    120   
            StorageClass::Unknown(value) => value.as_str(),
  126    121   
        }
  127    122   
    }
  128    123   
    /// Returns all the `&str` representations of the enum members.
  129    124   
    pub const fn values() -> &'static [&'static str] {
  130    125   
        &[
  131    126   
            "DEEP_ARCHIVE",
  132    127   
            "EXPRESS_ONEZONE",
  133         -
            "FSX_OPENZFS",
  134    128   
            "GLACIER",
  135    129   
            "GLACIER_IR",
  136    130   
            "INTELLIGENT_TIERING",
  137    131   
            "ONEZONE_IA",
  138    132   
            "OUTPOSTS",
  139    133   
            "REDUCED_REDUNDANCY",
  140    134   
            "SNOW",
  141    135   
            "STANDARD",
  142    136   
            "STANDARD_IA",
  143    137   
        ]
  144    138   
    }
  145    139   
}
  146    140   
impl ::std::convert::AsRef<str> for StorageClass {
  147    141   
    fn as_ref(&self) -> &str {
  148    142   
        self.as_str()
  149    143   
    }
  150    144   
}
  151    145   
impl StorageClass {
  152    146   
    /// Parses the enum value while disallowing unknown variants.
  153    147   
    ///
  154    148   
    /// Unknown variants will result in an error.
  155    149   
    pub fn try_parse(value: &str) -> ::std::result::Result<Self, crate::error::UnknownVariantError> {
  156    150   
        match Self::from(value) {
  157    151   
            #[allow(deprecated)]
  158    152   
            Self::Unknown(_) => ::std::result::Result::Err(crate::error::UnknownVariantError::new(value)),
  159    153   
            known => Ok(known),
  160    154   
        }
  161    155   
    }
  162    156   
}
  163    157   
impl ::std::fmt::Display for StorageClass {
  164    158   
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  165    159   
        match self {
  166    160   
            StorageClass::DeepArchive => write!(f, "DEEP_ARCHIVE"),
  167    161   
            StorageClass::ExpressOnezone => write!(f, "EXPRESS_ONEZONE"),
  168         -
            StorageClass::FsxOpenzfs => write!(f, "FSX_OPENZFS"),
  169    162   
            StorageClass::Glacier => write!(f, "GLACIER"),
  170    163   
            StorageClass::GlacierIr => write!(f, "GLACIER_IR"),
  171    164   
            StorageClass::IntelligentTiering => write!(f, "INTELLIGENT_TIERING"),
  172    165   
            StorageClass::OnezoneIa => write!(f, "ONEZONE_IA"),
  173    166   
            StorageClass::Outposts => write!(f, "OUTPOSTS"),
  174    167   
            StorageClass::ReducedRedundancy => write!(f, "REDUCED_REDUNDANCY"),
  175    168   
            StorageClass::Snow => write!(f, "SNOW"),
  176    169   
            StorageClass::Standard => write!(f, "STANDARD"),
  177    170   
            StorageClass::StandardIa => write!(f, "STANDARD_IA"),
  178    171   
            StorageClass::Unknown(value) => write!(f, "{value}"),

tmp-codegen-diff/aws-sdk/sdk/s3/src/types/_table_sse_algorithm.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 `TableSseAlgorithm`, 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 tablessealgorithm = unimplemented!();
   14         -
/// match tablessealgorithm {
   15         -
///     TableSseAlgorithm::Aes256 => { /* ... */ },
   16         -
///     TableSseAlgorithm::AwsKms => { /* ... */ },
   17         -
///     other @ _ if other.as_str() == "NewFeature" => { /* handles a case for `NewFeature` */ },
   18         -
///     _ => { /* ... */ },
   19         -
/// }
   20         -
/// ```
   21         -
/// The above code demonstrates that when `tablessealgorithm` represents
   22         -
/// `NewFeature`, the execution path will lead to the second last match arm,
   23         -
/// even though the enum does not contain a variant `TableSseAlgorithm::NewFeature`
   24         -
/// in the current version of SDK. The reason is that the variable `other`,
   25         -
/// created by the `@` operator, is bound to
   26         -
/// `TableSseAlgorithm::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 `TableSseAlgorithm::NewFeature` is defined.
   30         -
/// Specifically, when `tablessealgorithm` represents `NewFeature`,
   31         -
/// the execution path will hit the second last match arm as before by virtue of
   32         -
/// calling `as_str` on `TableSseAlgorithm::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 TableSseAlgorithm {
   45         -
    #[allow(missing_docs)] // documentation missing in model
   46         -
    Aes256,
   47         -
    #[allow(missing_docs)] // documentation missing in model
   48         -
    AwsKms,
   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 TableSseAlgorithm {
   54         -
    fn from(s: &str) -> Self {
   55         -
        match s {
   56         -
            "AES256" => TableSseAlgorithm::Aes256,
   57         -
            "aws:kms" => TableSseAlgorithm::AwsKms,
   58         -
            other => TableSseAlgorithm::Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue(other.to_owned())),
   59         -
        }
   60         -
    }
   61         -
}
   62         -
impl ::std::str::FromStr for TableSseAlgorithm {
   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(TableSseAlgorithm::from(s))
   67         -
    }
   68         -
}
   69         -
impl TableSseAlgorithm {
   70         -
    /// Returns the `&str` value of the enum member.
   71         -
    pub fn as_str(&self) -> &str {
   72         -
        match self {
   73         -
            TableSseAlgorithm::Aes256 => "AES256",
   74         -
            TableSseAlgorithm::AwsKms => "aws:kms",
   75         -
            TableSseAlgorithm::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         -
        &["AES256", "aws:kms"]
   81         -
    }
   82         -
}
   83         -
impl ::std::convert::AsRef<str> for TableSseAlgorithm {
   84         -
    fn as_ref(&self) -> &str {
   85         -
        self.as_str()
   86         -
    }
   87         -
}
   88         -
impl TableSseAlgorithm {
   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 TableSseAlgorithm {
  101         -
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  102         -
        match self {
  103         -
            TableSseAlgorithm::Aes256 => write!(f, "AES256"),
  104         -
            TableSseAlgorithm::AwsKms => write!(f, "aws:kms"),
  105         -
            TableSseAlgorithm::Unknown(value) => write!(f, "{value}"),
  106         -
        }
  107         -
    }
  108         -
}

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

@@ -1,1 +93,51 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
pub use crate::types::_copy_part_result::CopyPartResultBuilder;
    3      3   
    4         -
pub use crate::types::_journal_table_configuration_updates::JournalTableConfigurationUpdatesBuilder;
    5         -
    6         -
pub use crate::types::_record_expiration::RecordExpirationBuilder;
    7         -
    8         -
pub use crate::types::_inventory_table_configuration_updates::InventoryTableConfigurationUpdatesBuilder;
    9         -
   10         -
pub use crate::types::_metadata_table_encryption_configuration::MetadataTableEncryptionConfigurationBuilder;
   11         -
   12         -
pub use crate::types::_end_event::EndEventBuilder;
   13         -
   14         -
pub use crate::types::_continuation_event::ContinuationEventBuilder;
   15         -
   16         -
pub use crate::types::_progress_event::ProgressEventBuilder;
   17         -
   18         -
pub use crate::types::_progress::ProgressBuilder;
   19         -
   20         -
pub use crate::types::_stats_event::StatsEventBuilder;
   21         -
   22         -
pub use crate::types::_stats::StatsBuilder;
   23         -
   24         -
pub use crate::types::_records_event::RecordsEventBuilder;
   25         -
   26         -
pub use crate::types::_scan_range::ScanRangeBuilder;
   27         -
   28         -
pub use crate::types::_output_serialization::OutputSerializationBuilder;
   29         -
   30         -
pub use crate::types::_json_output::JsonOutputBuilder;
   31         -
   32         -
pub use crate::types::_csv_output::CsvOutputBuilder;
   33         -
   34         -
pub use crate::types::_input_serialization::InputSerializationBuilder;
   35         -
   36         -
pub use crate::types::_parquet_input::ParquetInputBuilder;
   37         -
   38         -
pub use crate::types::_json_input::JsonInputBuilder;
   39         -
   40         -
pub use crate::types::_csv_input::CsvInputBuilder;
   41         -
   42         -
pub use crate::types::_request_progress::RequestProgressBuilder;
   43         -
   44      4   
pub use crate::types::_restore_request::RestoreRequestBuilder;
   45      5   
   46      6   
pub use crate::types::_output_location::OutputLocationBuilder;
   47      7   
   48      8   
pub use crate::types::_s3_location::S3LocationBuilder;
   49      9   
   50     10   
pub use crate::types::_metadata_entry::MetadataEntryBuilder;
   51     11   
   52     12   
pub use crate::types::_tagging::TaggingBuilder;
   53     13   
   54     14   
pub use crate::types::_tag::TagBuilder;
   55     15   
   56     16   
pub use crate::types::_grant::GrantBuilder;
   57     17   
   58     18   
pub use crate::types::_grantee::GranteeBuilder;
   59     19   
   60     20   
pub use crate::types::_encryption::EncryptionBuilder;
   61     21   
   62         -
pub use crate::types::_select_parameters::SelectParametersBuilder;
   63         -
   64     22   
pub use crate::types::_glacier_job_parameters::GlacierJobParametersBuilder;
   65     23   
   66     24   
pub use crate::types::_public_access_block_configuration::PublicAccessBlockConfigurationBuilder;
   67     25   
   68     26   
pub use crate::types::_object_lock_retention::ObjectLockRetentionBuilder;
   69     27   
   70     28   
pub use crate::types::_object_lock_configuration::ObjectLockConfigurationBuilder;
   71     29   
   72     30   
pub use crate::types::_object_lock_rule::ObjectLockRuleBuilder;
   73     31   
@@ -236,194 +306,248 @@
  256    214   
pub use crate::types::_policy_status::PolicyStatusBuilder;
  257    215   
  258    216   
pub use crate::types::_get_bucket_metadata_table_configuration_result::GetBucketMetadataTableConfigurationResultBuilder;
  259    217   
  260    218   
pub use crate::types::_error_details::ErrorDetailsBuilder;
  261    219   
  262    220   
pub use crate::types::_metadata_table_configuration_result::MetadataTableConfigurationResultBuilder;
  263    221   
  264    222   
pub use crate::types::_s3_tables_destination_result::S3TablesDestinationResultBuilder;
  265    223   
  266         -
pub use crate::types::_get_bucket_metadata_configuration_result::GetBucketMetadataConfigurationResultBuilder;
  267         -
  268         -
pub use crate::types::_metadata_configuration_result::MetadataConfigurationResultBuilder;
  269         -
  270         -
pub use crate::types::_inventory_table_configuration_result::InventoryTableConfigurationResultBuilder;
  271         -
  272         -
pub use crate::types::_journal_table_configuration_result::JournalTableConfigurationResultBuilder;
  273         -
  274         -
pub use crate::types::_destination_result::DestinationResultBuilder;
  275         -
  276    224   
pub use crate::types::_error::ErrorBuilder;
  277    225   
  278    226   
pub use crate::types::_deleted_object::DeletedObjectBuilder;
  279    227   
  280    228   
pub use crate::types::_delete::DeleteBuilder;
  281    229   
  282    230   
pub use crate::types::_object_identifier::ObjectIdentifierBuilder;
  283    231   
  284    232   
pub use crate::types::_session_credentials::SessionCredentialsBuilder;
  285    233   
  286    234   
pub use crate::types::_metadata_table_configuration::MetadataTableConfigurationBuilder;
  287    235   
  288    236   
pub use crate::types::_s3_tables_destination::S3TablesDestinationBuilder;
  289    237   
  290         -
pub use crate::types::_metadata_configuration::MetadataConfigurationBuilder;
  291         -
  292         -
pub use crate::types::_inventory_table_configuration::InventoryTableConfigurationBuilder;
  293         -
  294         -
pub use crate::types::_journal_table_configuration::JournalTableConfigurationBuilder;
  295         -
  296    238   
pub use crate::types::_create_bucket_configuration::CreateBucketConfigurationBuilder;
  297    239   
  298    240   
pub use crate::types::_bucket_info::BucketInfoBuilder;
  299    241   
  300    242   
pub use crate::types::_location_info::LocationInfoBuilder;
  301    243   
  302    244   
pub use crate::types::_copy_object_result::CopyObjectResultBuilder;
  303    245   
  304    246   
pub use crate::types::_completed_multipart_upload::CompletedMultipartUploadBuilder;
  305    247