AWS SDK

AWS SDK

rev. dc1b11a614d928cff165eac12e20d37ae979d6cc

Files changed:

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/get_bucket_intelligent_tiering_configuration/_get_bucket_intelligent_tiering_configuration_input.rs

@@ -1,1 +103,81 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[allow(missing_docs)] // documentation missing in model
    3      3   
#[non_exhaustive]
    4      4   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5      5   
pub struct GetBucketIntelligentTieringConfigurationInput {
    6      6   
    /// <p>The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.</p>
    7      7   
    pub bucket: ::std::option::Option<::std::string::String>,
    8      8   
    /// <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p>
    9      9   
    pub id: ::std::option::Option<::std::string::String>,
   10         -
    /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
   11         -
    pub expected_bucket_owner: ::std::option::Option<::std::string::String>,
   12     10   
}
   13     11   
impl GetBucketIntelligentTieringConfigurationInput {
   14     12   
    /// <p>The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.</p>
   15     13   
    pub fn bucket(&self) -> ::std::option::Option<&str> {
   16     14   
        self.bucket.as_deref()
   17     15   
    }
   18     16   
    /// <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p>
   19     17   
    pub fn id(&self) -> ::std::option::Option<&str> {
   20     18   
        self.id.as_deref()
   21     19   
    }
   22         -
    /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
   23         -
    pub fn expected_bucket_owner(&self) -> ::std::option::Option<&str> {
   24         -
        self.expected_bucket_owner.as_deref()
   25         -
    }
   26     20   
}
   27     21   
impl GetBucketIntelligentTieringConfigurationInput {
   28     22   
    /// Creates a new builder-style object to manufacture [`GetBucketIntelligentTieringConfigurationInput`](crate::operation::get_bucket_intelligent_tiering_configuration::GetBucketIntelligentTieringConfigurationInput).
   29     23   
    pub fn builder() -> crate::operation::get_bucket_intelligent_tiering_configuration::builders::GetBucketIntelligentTieringConfigurationInputBuilder
   30     24   
    {
   31     25   
        crate::operation::get_bucket_intelligent_tiering_configuration::builders::GetBucketIntelligentTieringConfigurationInputBuilder::default()
   32     26   
    }
   33     27   
}
   34     28   
   35     29   
/// A builder for [`GetBucketIntelligentTieringConfigurationInput`](crate::operation::get_bucket_intelligent_tiering_configuration::GetBucketIntelligentTieringConfigurationInput).
   36     30   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   37     31   
#[non_exhaustive]
   38     32   
pub struct GetBucketIntelligentTieringConfigurationInputBuilder {
   39     33   
    pub(crate) bucket: ::std::option::Option<::std::string::String>,
   40     34   
    pub(crate) id: ::std::option::Option<::std::string::String>,
   41         -
    pub(crate) expected_bucket_owner: ::std::option::Option<::std::string::String>,
   42     35   
}
   43     36   
impl GetBucketIntelligentTieringConfigurationInputBuilder {
   44     37   
    /// <p>The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.</p>
   45     38   
    /// This field is required.
   46     39   
    pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   47     40   
        self.bucket = ::std::option::Option::Some(input.into());
   48     41   
        self
   49     42   
    }
   50     43   
    /// <p>The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.</p>
   51     44   
    pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
   52     45   
        self.bucket = input;
   53     46   
        self
   54     47   
    }
   55     48   
    /// <p>The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.</p>
   56     49   
    pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
   57     50   
        &self.bucket
   58     51   
    }
   59     52   
    /// <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p>
   60     53   
    /// This field is required.
   61     54   
    pub fn id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   62     55   
        self.id = ::std::option::Option::Some(input.into());
   63     56   
        self
   64     57   
    }
   65     58   
    /// <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p>
   66     59   
    pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
   67     60   
        self.id = input;
   68     61   
        self
   69     62   
    }
   70     63   
    /// <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p>
   71     64   
    pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
   72     65   
        &self.id
   73     66   
    }
   74         -
    /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
   75         -
    pub fn expected_bucket_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   76         -
        self.expected_bucket_owner = ::std::option::Option::Some(input.into());
   77         -
        self
   78         -
    }
   79         -
    /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
   80         -
    pub fn set_expected_bucket_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
   81         -
        self.expected_bucket_owner = input;
   82         -
        self
   83         -
    }
   84         -
    /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
   85         -
    pub fn get_expected_bucket_owner(&self) -> &::std::option::Option<::std::string::String> {
   86         -
        &self.expected_bucket_owner
   87         -
    }
   88     67   
    /// Consumes the builder and constructs a [`GetBucketIntelligentTieringConfigurationInput`](crate::operation::get_bucket_intelligent_tiering_configuration::GetBucketIntelligentTieringConfigurationInput).
   89     68   
    pub fn build(
   90     69   
        self,
   91     70   
    ) -> ::std::result::Result<
   92     71   
        crate::operation::get_bucket_intelligent_tiering_configuration::GetBucketIntelligentTieringConfigurationInput,
   93     72   
        ::aws_smithy_types::error::operation::BuildError,
   94     73   
    > {
   95     74   
        ::std::result::Result::Ok(
   96     75   
            crate::operation::get_bucket_intelligent_tiering_configuration::GetBucketIntelligentTieringConfigurationInput {
   97     76   
                bucket: self.bucket,
   98     77   
                id: self.id,
   99         -
                expected_bucket_owner: self.expected_bucket_owner,
  100     78   
            },
  101     79   
        )
  102     80   
    }
  103     81   
}

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

@@ -128,128 +172,158 @@
  148    148   
    }
  149    149   
    /// <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p>
  150    150   
    pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  151    151   
        self.inner = self.inner.set_id(input);
  152    152   
        self
  153    153   
    }
  154    154   
    /// <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p>
  155    155   
    pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
  156    156   
        self.inner.get_id()
  157    157   
    }
  158         -
    /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
  159         -
    pub fn expected_bucket_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  160         -
        self.inner = self.inner.expected_bucket_owner(input.into());
  161         -
        self
  162         -
    }
  163         -
    /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
  164         -
    pub fn set_expected_bucket_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  165         -
        self.inner = self.inner.set_expected_bucket_owner(input);
  166         -
        self
  167         -
    }
  168         -
    /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
  169         -
    pub fn get_expected_bucket_owner(&self) -> &::std::option::Option<::std::string::String> {
  170         -
        self.inner.get_expected_bucket_owner()
  171         -
    }
  172    158   
}

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

@@ -1,1 +58,58 @@
   18     18   
        let mut fluent_builder = client.get_bucket_inventory_configuration();
   19     19   
        fluent_builder.inner = self;
   20     20   
        fluent_builder.send().await
   21     21   
    }
   22     22   
}
   23     23   
/// Fluent builder constructing a request to `GetBucketInventoryConfiguration`.
   24     24   
///
   25     25   
/// <note>
   26     26   
/// <p>This operation is not supported for directory buckets.</p>
   27     27   
/// </note>
   28         -
/// <p>Returns an S3 Inventory configuration (identified by the inventory configuration ID) from the bucket.</p>
          28  +
/// <p>Returns an inventory configuration (identified by the inventory configuration ID) from the bucket.</p>
   29     29   
/// <p>To use this operation, you must have permissions to perform the <code>s3:GetInventoryConfiguration</code> action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing Access Permissions to Your Amazon S3 Resources</a>.</p>
   30     30   
/// <p>For information about the Amazon S3 inventory feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon S3 Inventory</a>.</p>
   31     31   
/// <p>The following operations are related to <code>GetBucketInventoryConfiguration</code>:</p>
   32     32   
/// <ul>
   33     33   
/// <li>
   34     34   
/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html">DeleteBucketInventoryConfiguration</a></p></li>
   35     35   
/// <li>
   36     36   
/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html">ListBucketInventoryConfigurations</a></p></li>
   37     37   
/// <li>
   38     38   
/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html">PutBucketInventoryConfiguration</a></p></li>

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

@@ -1,1 +58,55 @@
   15     15   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     16   
        >,
   17     17   
    > {
   18     18   
        let mut fluent_builder = client.get_bucket_logging();
   19     19   
        fluent_builder.inner = self;
   20     20   
        fluent_builder.send().await
   21     21   
    }
   22     22   
}
   23     23   
/// Fluent builder constructing a request to `GetBucketLogging`.
   24     24   
///
   25         -
/// <important>
   26         -
/// <p>End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning <code>DisplayName</code>. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of <code>DisplayName</code>.</p>
   27         -
/// <p>This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.</p>
   28         -
/// </important> <note>
          25  +
/// <note>
   29     26   
/// <p>This operation is not supported for directory buckets.</p>
   30     27   
/// </note>
   31     28   
/// <p>Returns the logging status of a bucket and the permissions users have to view and modify that status.</p>
   32     29   
/// <p>The following operations are related to <code>GetBucketLogging</code>:</p>
   33     30   
/// <ul>
   34     31   
/// <li>
   35     32   
/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a></p></li>
   36     33   
/// <li>
   37     34   
/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html">PutBucketLogging</a></p></li>
   38     35   
/// </ul>

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/get_bucket_metadata_configuration.rs

@@ -1,0 +393,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
/// Orchestration and serialization glue logic for `GetBucketMetadataConfiguration`.
    3         -
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4         -
#[non_exhaustive]
    5         -
pub struct GetBucketMetadataConfiguration;
    6         -
impl GetBucketMetadataConfiguration {
    7         -
    /// Creates a new `GetBucketMetadataConfiguration`
    8         -
    pub fn new() -> Self {
    9         -
        Self
   10         -
    }
   11         -
    pub(crate) async fn orchestrate(
   12         -
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13         -
        input: crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationInput,
   14         -
    ) -> ::std::result::Result<
   15         -
        crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationOutput,
   16         -
        ::aws_smithy_runtime_api::client::result::SdkError<
   17         -
            crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationError,
   18         -
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19         -
        >,
   20         -
    > {
   21         -
        let map_err = |err: ::aws_smithy_runtime_api::client::result::SdkError<
   22         -
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
   23         -
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   24         -
        >| {
   25         -
            err.map_service_error(|err| {
   26         -
                err.downcast::<crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationError>()
   27         -
                    .expect("correct error type")
   28         -
            })
   29         -
        };
   30         -
        let context = Self::orchestrate_with_stop_point(runtime_plugins, input, ::aws_smithy_runtime::client::orchestrator::StopPoint::None)
   31         -
            .await
   32         -
            .map_err(map_err)?;
   33         -
        let output = context.finalize().map_err(map_err)?;
   34         -
        ::std::result::Result::Ok(
   35         -
            output
   36         -
                .downcast::<crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationOutput>()
   37         -
                .expect("correct output type"),
   38         -
        )
   39         -
    }
   40         -
   41         -
    pub(crate) async fn orchestrate_with_stop_point(
   42         -
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   43         -
        input: crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationInput,
   44         -
        stop_point: ::aws_smithy_runtime::client::orchestrator::StopPoint,
   45         -
    ) -> ::std::result::Result<
   46         -
        ::aws_smithy_runtime_api::client::interceptors::context::InterceptorContext,
   47         -
        ::aws_smithy_runtime_api::client::result::SdkError<
   48         -
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
   49         -
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   50         -
        >,
   51         -
    > {
   52         -
        let input = ::aws_smithy_runtime_api::client::interceptors::context::Input::erase(input);
   53         -
        use ::tracing::Instrument;
   54         -
        ::aws_smithy_runtime::client::orchestrator::invoke_with_stop_point("S3", "GetBucketMetadataConfiguration", input, runtime_plugins, stop_point)
   55         -
            // Create a parent span for the entire operation. Includes a random, internal-only,
   56         -
            // seven-digit ID for the operation orchestration so that it can be correlated in the logs.
   57         -
            .instrument(::tracing::debug_span!(
   58         -
                "S3.GetBucketMetadataConfiguration",
   59         -
                "rpc.service" = "S3",
   60         -
                "rpc.method" = "GetBucketMetadataConfiguration",
   61         -
                "sdk_invocation_id" = ::fastrand::u32(1_000_000..10_000_000),
   62         -
                "rpc.system" = "aws-api",
   63         -
            ))
   64         -
            .await
   65         -
    }
   66         -
   67         -
    pub(crate) fn operation_runtime_plugins(
   68         -
        client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   69         -
        client_config: &crate::config::Config,
   70         -
        config_override: ::std::option::Option<crate::config::Builder>,
   71         -
    ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins {
   72         -
        let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new());
   73         -
   74         -
        if let ::std::option::Option::Some(config_override) = config_override {
   75         -
            for plugin in config_override.runtime_plugins.iter().cloned() {
   76         -
                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
   77         -
            }
   78         -
            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
   79         -
                config_override,
   80         -
                client_config.config.clone(),
   81         -
                &client_config.runtime_components,
   82         -
            ));
   83         -
        }
   84         -
        runtime_plugins
   85         -
    }
   86         -
}
   87         -
impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for GetBucketMetadataConfiguration {
   88         -
    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
   89         -
        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("GetBucketMetadataConfiguration");
   90         -
   91         -
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
   92         -
            GetBucketMetadataConfigurationRequestSerializer,
   93         -
        ));
   94         -
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
   95         -
            GetBucketMetadataConfigurationResponseDeserializer,
   96         -
        ));
   97         -
   98         -
        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
   99         -
            crate::config::auth::Params::builder()
  100         -
                .operation_name("GetBucketMetadataConfiguration")
  101         -
                .build()
  102         -
                .expect("required fields set"),
  103         -
        ));
  104         -
  105         -
        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
  106         -
            "GetBucketMetadataConfiguration",
  107         -
            "S3",
  108         -
        ));
  109         -
        let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
  110         -
        signing_options.double_uri_encode = false;
  111         -
        signing_options.content_sha256_header = true;
  112         -
        signing_options.normalize_uri_path = false;
  113         -
        signing_options.payload_override = None;
  114         -
  115         -
        cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
  116         -
            signing_options,
  117         -
            ..::std::default::Default::default()
  118         -
        });
  119         -
  120         -
        ::std::option::Option::Some(cfg.freeze())
  121         -
    }
  122         -
  123         -
    fn runtime_components(
  124         -
        &self,
  125         -
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
  126         -
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
  127         -
        #[allow(unused_mut)]
  128         -
        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("GetBucketMetadataConfiguration")
  129         -
            .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default())
  130         -
            .with_interceptor(GetBucketMetadataConfigurationEndpointParamsInterceptor)
  131         -
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
  132         -
                crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationError,
  133         -
            >::new())
  134         -
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
  135         -
                crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationError,
  136         -
            >::new())
  137         -
            .with_retry_classifier(
  138         -
                ::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
  139         -
                    crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationError,
  140         -
                >::builder()
  141         -
                .transient_errors({
  142         -
                    let mut transient_errors: Vec<&'static str> = ::aws_runtime::retries::classifiers::TRANSIENT_ERRORS.into();
  143         -
                    transient_errors.push("InternalError");
  144         -
                    ::std::borrow::Cow::Owned(transient_errors)
  145         -
                })
  146         -
                .build(),
  147         -
            );
  148         -
  149         -
        ::std::borrow::Cow::Owned(rcb)
  150         -
    }
  151         -
}
  152         -
  153         -
#[derive(Debug)]
  154         -
struct GetBucketMetadataConfigurationResponseDeserializer;
  155         -
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for GetBucketMetadataConfigurationResponseDeserializer {
  156         -
    fn deserialize_nonstreaming(
  157         -
        &self,
  158         -
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  159         -
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  160         -
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  161         -
        let headers = response.headers();
  162         -
        let body = response.body().bytes().expect("body loaded");
  163         -
        #[allow(unused_mut)]
  164         -
        let mut force_error = false;
  165         -
        ::tracing::debug!(extended_request_id = ?crate::s3_request_id::RequestIdExt::extended_request_id(response));
  166         -
        if matches!(crate::rest_xml_unwrapped_errors::body_is_error(body), Ok(true)) {
  167         -
            force_error = true;
  168         -
        }
  169         -
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  170         -
        let parse_result = if !success && status != 200 || force_error {
  171         -
            crate::protocol_serde::shape_get_bucket_metadata_configuration::de_get_bucket_metadata_configuration_http_error(status, headers, body)
  172         -
        } else {
  173         -
            crate::protocol_serde::shape_get_bucket_metadata_configuration::de_get_bucket_metadata_configuration_http_response(status, headers, body)
  174         -
        };
  175         -
        crate::protocol_serde::type_erase_result(parse_result)
  176         -
    }
  177         -
}
  178         -
#[derive(Debug)]
  179         -
struct GetBucketMetadataConfigurationRequestSerializer;
  180         -
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for GetBucketMetadataConfigurationRequestSerializer {
  181         -
    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
  182         -
    fn serialize_input(
  183         -
        &self,
  184         -
        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
  185         -
        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  186         -
    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
  187         -
        let input = input
  188         -
            .downcast::<crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationInput>()
  189         -
            .expect("correct type");
  190         -
        let _header_serialization_settings = _cfg
  191         -
            .load::<crate::serialization_settings::HeaderSerializationSettings>()
  192         -
            .cloned()
  193         -
            .unwrap_or_default();
  194         -
        let mut request_builder = {
  195         -
            #[allow(clippy::uninlined_format_args)]
  196         -
            fn uri_base(
  197         -
                _input: &crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationInput,
  198         -
                output: &mut ::std::string::String,
  199         -
            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
  200         -
                use ::std::fmt::Write as _;
  201         -
                ::std::write!(output, "/").expect("formatting should succeed");
  202         -
                ::std::result::Result::Ok(())
  203         -
            }
  204         -
            fn uri_query(
  205         -
                _input: &crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationInput,
  206         -
                mut output: &mut ::std::string::String,
  207         -
            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
  208         -
                let mut query = ::aws_smithy_http::query::Writer::new(output);
  209         -
                query.push_v("metadataConfiguration");
  210         -
                ::std::result::Result::Ok(())
  211         -
            }
  212         -
            #[allow(clippy::unnecessary_wraps)]
  213         -
            fn update_http_builder(
  214         -
                input: &crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationInput,
  215         -
                builder: ::http::request::Builder,
  216         -
            ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
  217         -
                let mut uri = ::std::string::String::new();
  218         -
                uri_base(input, &mut uri)?;
  219         -
                uri_query(input, &mut uri)?;
  220         -
                let builder =
  221         -
                    crate::protocol_serde::shape_get_bucket_metadata_configuration::ser_get_bucket_metadata_configuration_headers(input, builder)?;
  222         -
                ::std::result::Result::Ok(builder.method("GET").uri(uri))
  223         -
            }
  224         -
            let mut builder = update_http_builder(&input, ::http::request::Builder::new())?;
  225         -
            builder
  226         -
        };
  227         -
        let body = ::aws_smithy_types::body::SdkBody::from("");
  228         -
  229         -
        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
  230         -
    }
  231         -
}
  232         -
#[derive(Debug)]
  233         -
struct GetBucketMetadataConfigurationEndpointParamsInterceptor;
  234         -
  235         -
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for GetBucketMetadataConfigurationEndpointParamsInterceptor {
  236         -
    fn name(&self) -> &'static str {
  237         -
        "GetBucketMetadataConfigurationEndpointParamsInterceptor"
  238         -
    }
  239         -
  240         -
    fn read_before_execution(
  241         -
        &self,
  242         -
        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
  243         -
            '_,
  244         -
            ::aws_smithy_runtime_api::client::interceptors::context::Input,
  245         -
            ::aws_smithy_runtime_api::client::interceptors::context::Output,
  246         -
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
  247         -
        >,
  248         -
        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  249         -
    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
  250         -
        let _input = context
  251         -
            .input()
  252         -
            .downcast_ref::<GetBucketMetadataConfigurationInput>()
  253         -
            .ok_or("failed to downcast to GetBucketMetadataConfigurationInput")?;
  254         -
  255         -
        let params = crate::config::endpoint::Params::builder()
  256         -
            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
  257         -
            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
  258         -
            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
  259         -
            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
  260         -
            .set_force_path_style(cfg.load::<crate::config::ForcePathStyle>().map(|ty| ty.0))
  261         -
            .set_use_arn_region(cfg.load::<crate::config::UseArnRegion>().map(|ty| ty.0))
  262         -
            .set_disable_multi_region_access_points(cfg.load::<crate::config::DisableMultiRegionAccessPoints>().map(|ty| ty.0))
  263         -
            .set_accelerate(cfg.load::<crate::config::Accelerate>().map(|ty| ty.0))
  264         -
            .set_disable_s3_express_session_auth(cfg.load::<crate::config::DisableS3ExpressSessionAuth>().map(|ty| ty.0))
  265         -
            .set_use_s3_express_control_endpoint(Some(true))
  266         -
            .set_bucket(Some(
  267         -
                _input
  268         -
                    .bucket
  269         -
                    .clone()
  270         -
                    .filter(|f| !AsRef::<str>::as_ref(f).trim().is_empty())
  271         -
                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("bucket", "A required field was not set"))?,
  272         -
            ))
  273         -
            .build()
  274         -
            .map_err(|err| {
  275         -
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  276         -
            })?;
  277         -
        cfg.interceptor_state()
  278         -
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  279         -
        ::std::result::Result::Ok(())
  280         -
    }
  281         -
}
  282         -
  283         -
// The get_* functions below are generated from JMESPath expressions in the
  284         -
// operationContextParams trait. They target the operation's input shape.
  285         -
  286         -
/// Error type for the `GetBucketMetadataConfigurationError` operation.
  287         -
#[non_exhaustive]
  288         -
#[derive(::std::fmt::Debug)]
  289         -
pub enum GetBucketMetadataConfigurationError {
  290         -
    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
  291         -
    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
  292         -
    variable wildcard pattern and check `.code()`:
  293         -
     \
  294         -
    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
  295         -
     \
  296         -
    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-GetBucketMetadataConfigurationError) for what information is available for the error.")]
  297         -
    Unhandled(crate::error::sealed_unhandled::Unhandled),
  298         -
}
  299         -
impl GetBucketMetadataConfigurationError {
  300         -
    /// Creates the `GetBucketMetadataConfigurationError::Unhandled` variant from any error type.
  301         -
    pub fn unhandled(
  302         -
        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
  303         -
    ) -> Self {
  304         -
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  305         -
            source: err.into(),
  306         -
            meta: ::std::default::Default::default(),
  307         -
        })
  308         -
    }
  309         -
  310         -
    /// Creates the `GetBucketMetadataConfigurationError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
  311         -
    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
  312         -
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  313         -
            source: err.clone().into(),
  314         -
            meta: err,
  315         -
        })
  316         -
    }
  317         -
    ///
  318         -
    /// Returns error metadata, which includes the error code, message,
  319         -
    /// request ID, and potentially additional information.
  320         -
    ///
  321         -
    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
  322         -
        match self {
  323         -
            Self::Unhandled(e) => &e.meta,
  324         -
        }
  325         -
    }
  326         -
}
  327         -
impl ::std::error::Error for GetBucketMetadataConfigurationError {
  328         -
    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
  329         -
        match self {
  330         -
            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
  331         -
        }
  332         -
    }
  333         -
}
  334         -
impl ::std::fmt::Display for GetBucketMetadataConfigurationError {
  335         -
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  336         -
        match self {
  337         -
            Self::Unhandled(_inner) => {
  338         -
                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
  339         -
                    write!(f, "unhandled error ({code})")
  340         -
                } else {
  341         -
                    f.write_str("unhandled error")
  342         -
                }
  343         -
            }
  344         -
        }
  345         -
    }
  346         -
}
  347         -
impl ::aws_smithy_types::retry::ProvideErrorKind for GetBucketMetadataConfigurationError {
  348         -
    fn code(&self) -> ::std::option::Option<&str> {
  349         -
        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
  350         -
    }
  351         -
    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
  352         -
        ::std::option::Option::None
  353         -
    }
  354         -
}
  355         -
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for GetBucketMetadataConfigurationError {
  356         -
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
  357         -
        match self {
  358         -
            Self::Unhandled(_inner) => &_inner.meta,
  359         -
        }
  360         -
    }
  361         -
}
  362         -
impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for GetBucketMetadataConfigurationError {
  363         -
    fn create_unhandled_error(
  364         -
        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
  365         -
        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
  366         -
    ) -> Self {
  367         -
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  368         -
            source,
  369         -
            meta: meta.unwrap_or_default(),
  370         -
        })
  371         -
    }
  372         -
}
  373         -
impl crate::s3_request_id::RequestIdExt for crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationError {
  374         -
    fn extended_request_id(&self) -> Option<&str> {
  375         -
        self.meta().extended_request_id()
  376         -
    }
  377         -
}
  378         -
impl ::aws_types::request_id::RequestId for crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationError {
  379         -
    fn request_id(&self) -> Option<&str> {
  380         -
        self.meta().request_id()
  381         -
    }
  382         -
}
  383         -
  384         -
pub use crate::operation::get_bucket_metadata_configuration::_get_bucket_metadata_configuration_output::GetBucketMetadataConfigurationOutput;
  385         -
  386         -
pub use crate::operation::get_bucket_metadata_configuration::_get_bucket_metadata_configuration_input::GetBucketMetadataConfigurationInput;
  387         -
  388         -
mod _get_bucket_metadata_configuration_input;
  389         -
  390         -
mod _get_bucket_metadata_configuration_output;
  391         -
  392         -
/// Builders
  393         -
pub mod builders;

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/get_bucket_metadata_configuration/_get_bucket_metadata_configuration_input.rs

@@ -1,0 +77,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
#[allow(missing_docs)] // documentation missing in model
    3         -
#[non_exhaustive]
    4         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5         -
pub struct GetBucketMetadataConfigurationInput {
    6         -
    /// <p>The general purpose bucket that corresponds to the metadata configuration that you want to retrieve.</p>
    7         -
    pub bucket: ::std::option::Option<::std::string::String>,
    8         -
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p>
    9         -
    pub expected_bucket_owner: ::std::option::Option<::std::string::String>,
   10         -
}
   11         -
impl GetBucketMetadataConfigurationInput {
   12         -
    /// <p>The general purpose bucket that corresponds to the metadata configuration that you want to retrieve.</p>
   13         -
    pub fn bucket(&self) -> ::std::option::Option<&str> {
   14         -
        self.bucket.as_deref()
   15         -
    }
   16         -
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p>
   17         -
    pub fn expected_bucket_owner(&self) -> ::std::option::Option<&str> {
   18         -
        self.expected_bucket_owner.as_deref()
   19         -
    }
   20         -
}
   21         -
impl GetBucketMetadataConfigurationInput {
   22         -
    /// Creates a new builder-style object to manufacture [`GetBucketMetadataConfigurationInput`](crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationInput).
   23         -
    pub fn builder() -> crate::operation::get_bucket_metadata_configuration::builders::GetBucketMetadataConfigurationInputBuilder {
   24         -
        crate::operation::get_bucket_metadata_configuration::builders::GetBucketMetadataConfigurationInputBuilder::default()
   25         -
    }
   26         -
}
   27         -
   28         -
/// A builder for [`GetBucketMetadataConfigurationInput`](crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationInput).
   29         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   30         -
#[non_exhaustive]
   31         -
pub struct GetBucketMetadataConfigurationInputBuilder {
   32         -
    pub(crate) bucket: ::std::option::Option<::std::string::String>,
   33         -
    pub(crate) expected_bucket_owner: ::std::option::Option<::std::string::String>,
   34         -
}
   35         -
impl GetBucketMetadataConfigurationInputBuilder {
   36         -
    /// <p>The general purpose bucket that corresponds to the metadata configuration that you want to retrieve.</p>
   37         -
    /// This field is required.
   38         -
    pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   39         -
        self.bucket = ::std::option::Option::Some(input.into());
   40         -
        self
   41         -
    }
   42         -
    /// <p>The general purpose bucket that corresponds to the metadata configuration that you want to retrieve.</p>
   43         -
    pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
   44         -
        self.bucket = input;
   45         -
        self
   46         -
    }
   47         -
    /// <p>The general purpose bucket that corresponds to the metadata configuration that you want to retrieve.</p>
   48         -
    pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
   49         -
        &self.bucket
   50         -
    }
   51         -
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p>
   52         -
    pub fn expected_bucket_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   53         -
        self.expected_bucket_owner = ::std::option::Option::Some(input.into());
   54         -
        self
   55         -
    }
   56         -
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p>
   57         -
    pub fn set_expected_bucket_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
   58         -
        self.expected_bucket_owner = input;
   59         -
        self
   60         -
    }
   61         -
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p>
   62         -
    pub fn get_expected_bucket_owner(&self) -> &::std::option::Option<::std::string::String> {
   63         -
        &self.expected_bucket_owner
   64         -
    }
   65         -
    /// Consumes the builder and constructs a [`GetBucketMetadataConfigurationInput`](crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationInput).
   66         -
    pub fn build(
   67         -
        self,
   68         -
    ) -> ::std::result::Result<
   69         -
        crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationInput,
   70         -
        ::aws_smithy_types::error::operation::BuildError,
   71         -
    > {
   72         -
        ::std::result::Result::Ok(crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationInput {
   73         -
            bucket: self.bucket,
   74         -
            expected_bucket_owner: self.expected_bucket_owner,
   75         -
        })
   76         -
    }
   77         -
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/get_bucket_metadata_configuration/_get_bucket_metadata_configuration_output.rs

@@ -1,0 +86,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
#[allow(missing_docs)] // documentation missing in model
    3         -
#[non_exhaustive]
    4         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5         -
pub struct GetBucketMetadataConfigurationOutput {
    6         -
    /// <p>The metadata configuration for the general purpose bucket.</p>
    7         -
    pub get_bucket_metadata_configuration_result: ::std::option::Option<crate::types::GetBucketMetadataConfigurationResult>,
    8         -
    _extended_request_id: Option<String>,
    9         -
    _request_id: Option<String>,
   10         -
}
   11         -
impl GetBucketMetadataConfigurationOutput {
   12         -
    /// <p>The metadata configuration for the general purpose bucket.</p>
   13         -
    pub fn get_bucket_metadata_configuration_result(&self) -> ::std::option::Option<&crate::types::GetBucketMetadataConfigurationResult> {
   14         -
        self.get_bucket_metadata_configuration_result.as_ref()
   15         -
    }
   16         -
}
   17         -
impl crate::s3_request_id::RequestIdExt for GetBucketMetadataConfigurationOutput {
   18         -
    fn extended_request_id(&self) -> Option<&str> {
   19         -
        self._extended_request_id.as_deref()
   20         -
    }
   21         -
}
   22         -
impl ::aws_types::request_id::RequestId for GetBucketMetadataConfigurationOutput {
   23         -
    fn request_id(&self) -> Option<&str> {
   24         -
        self._request_id.as_deref()
   25         -
    }
   26         -
}
   27         -
impl GetBucketMetadataConfigurationOutput {
   28         -
    /// Creates a new builder-style object to manufacture [`GetBucketMetadataConfigurationOutput`](crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationOutput).
   29         -
    pub fn builder() -> crate::operation::get_bucket_metadata_configuration::builders::GetBucketMetadataConfigurationOutputBuilder {
   30         -
        crate::operation::get_bucket_metadata_configuration::builders::GetBucketMetadataConfigurationOutputBuilder::default()
   31         -
    }
   32         -
}
   33         -
   34         -
/// A builder for [`GetBucketMetadataConfigurationOutput`](crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationOutput).
   35         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   36         -
#[non_exhaustive]
   37         -
pub struct GetBucketMetadataConfigurationOutputBuilder {
   38         -
    pub(crate) get_bucket_metadata_configuration_result: ::std::option::Option<crate::types::GetBucketMetadataConfigurationResult>,
   39         -
    _extended_request_id: Option<String>,
   40         -
    _request_id: Option<String>,
   41         -
}
   42         -
impl GetBucketMetadataConfigurationOutputBuilder {
   43         -
    /// <p>The metadata configuration for the general purpose bucket.</p>
   44         -
    pub fn get_bucket_metadata_configuration_result(mut self, input: crate::types::GetBucketMetadataConfigurationResult) -> Self {
   45         -
        self.get_bucket_metadata_configuration_result = ::std::option::Option::Some(input);
   46         -
        self
   47         -
    }
   48         -
    /// <p>The metadata configuration for the general purpose bucket.</p>
   49         -
    pub fn set_get_bucket_metadata_configuration_result(
   50         -
        mut self,
   51         -
        input: ::std::option::Option<crate::types::GetBucketMetadataConfigurationResult>,
   52         -
    ) -> Self {
   53         -
        self.get_bucket_metadata_configuration_result = input;
   54         -
        self
   55         -
    }
   56         -
    /// <p>The metadata configuration for the general purpose bucket.</p>
   57         -
    pub fn get_get_bucket_metadata_configuration_result(&self) -> &::std::option::Option<crate::types::GetBucketMetadataConfigurationResult> {
   58         -
        &self.get_bucket_metadata_configuration_result
   59         -
    }
   60         -
    pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
   61         -
        self._extended_request_id = Some(extended_request_id.into());
   62         -
        self
   63         -
    }
   64         -
   65         -
    pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
   66         -
        self._extended_request_id = extended_request_id;
   67         -
        self
   68         -
    }
   69         -
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
   70         -
        self._request_id = Some(request_id.into());
   71         -
        self
   72         -
    }
   73         -
   74         -
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
   75         -
        self._request_id = request_id;
   76         -
        self
   77         -
    }
   78         -
    /// Consumes the builder and constructs a [`GetBucketMetadataConfigurationOutput`](crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationOutput).
   79         -
    pub fn build(self) -> crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationOutput {
   80         -
        crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationOutput {
   81         -
            get_bucket_metadata_configuration_result: self.get_bucket_metadata_configuration_result,
   82         -
            _extended_request_id: self._extended_request_id,
   83         -
            _request_id: self._request_id,
   84         -
        }
   85         -
    }
   86         -
}

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

@@ -1,0 +162,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub use crate::operation::get_bucket_metadata_configuration::_get_bucket_metadata_configuration_output::GetBucketMetadataConfigurationOutputBuilder;
    3         -
    4         -
pub use crate::operation::get_bucket_metadata_configuration::_get_bucket_metadata_configuration_input::GetBucketMetadataConfigurationInputBuilder;
    5         -
    6         -
impl crate::operation::get_bucket_metadata_configuration::builders::GetBucketMetadataConfigurationInputBuilder {
    7         -
    /// Sends a request with this input using the given client.
    8         -
    pub async fn send_with(
    9         -
        self,
   10         -
        client: &crate::Client,
   11         -
    ) -> ::std::result::Result<
   12         -
        crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationOutput,
   13         -
        ::aws_smithy_runtime_api::client::result::SdkError<
   14         -
            crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationError,
   15         -
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16         -
        >,
   17         -
    > {
   18         -
        let mut fluent_builder = client.get_bucket_metadata_configuration();
   19         -
        fluent_builder.inner = self;
   20         -
        fluent_builder.send().await
   21         -
    }
   22         -
}
   23         -
/// Fluent builder constructing a request to `GetBucketMetadataConfiguration`.
   24         -
///
   25         -
/// <p>Retrieves the S3 Metadata configuration for a general purpose bucket. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html">Accelerating data discovery with S3 Metadata</a> in the <i>Amazon S3 User Guide</i>.</p><note>
   26         -
/// <p>You can use the V2 <code>GetBucketMetadataConfiguration</code> API operation with V1 or V2 metadata configurations. However, if you try to use the V1 <code>GetBucketMetadataTableConfiguration</code> API operation with V2 configurations, you will receive an HTTP <code>405 Method Not Allowed</code> error.</p>
   27         -
/// </note>
   28         -
/// <dl>
   29         -
/// <dt>
   30         -
/// Permissions
   31         -
/// </dt>
   32         -
/// <dd>
   33         -
/// <p>To use this operation, you must have the <code>s3:GetBucketMetadataTableConfiguration</code> permission. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html">Setting up permissions for configuring metadata tables</a> in the <i>Amazon S3 User Guide</i>.</p><note>
   34         -
/// <p>The IAM policy action name is the same for the V1 and V2 API operations.</p>
   35         -
/// </note>
   36         -
/// </dd>
   37         -
/// </dl>
   38         -
/// <p>The following operations are related to <code>GetBucketMetadataConfiguration</code>:</p>
   39         -
/// <ul>
   40         -
/// <li>
   41         -
/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html">CreateBucketMetadataConfiguration</a></p></li>
   42         -
/// <li>
   43         -
/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html">DeleteBucketMetadataConfiguration</a></p></li>
   44         -
/// <li>
   45         -
/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html">UpdateBucketMetadataInventoryTableConfiguration</a></p></li>
   46         -
/// <li>
   47         -
/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html">UpdateBucketMetadataJournalTableConfiguration</a></p></li>
   48         -
/// </ul>
   49         -
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
   50         -
pub struct GetBucketMetadataConfigurationFluentBuilder {
   51         -
    handle: ::std::sync::Arc<crate::client::Handle>,
   52         -
    inner: crate::operation::get_bucket_metadata_configuration::builders::GetBucketMetadataConfigurationInputBuilder,
   53         -
    config_override: ::std::option::Option<crate::config::Builder>,
   54         -
}
   55         -
impl
   56         -
    crate::client::customize::internal::CustomizableSend<
   57         -
        crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationOutput,
   58         -
        crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationError,
   59         -
    > for GetBucketMetadataConfigurationFluentBuilder
   60         -
{
   61         -
    fn send(
   62         -
        self,
   63         -
        config_override: crate::config::Builder,
   64         -
    ) -> crate::client::customize::internal::BoxFuture<
   65         -
        crate::client::customize::internal::SendResult<
   66         -
            crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationOutput,
   67         -
            crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationError,
   68         -
        >,
   69         -
    > {
   70         -
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
   71         -
    }
   72         -
}
   73         -
impl GetBucketMetadataConfigurationFluentBuilder {
   74         -
    /// Creates a new `GetBucketMetadataConfigurationFluentBuilder`.
   75         -
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
   76         -
        Self {
   77         -
            handle,
   78         -
            inner: ::std::default::Default::default(),
   79         -
            config_override: ::std::option::Option::None,
   80         -
        }
   81         -
    }
   82         -
    /// Access the GetBucketMetadataConfiguration as a reference.
   83         -
    pub fn as_input(&self) -> &crate::operation::get_bucket_metadata_configuration::builders::GetBucketMetadataConfigurationInputBuilder {
   84         -
        &self.inner
   85         -
    }
   86         -
    /// Sends the request and returns the response.
   87         -
    ///
   88         -
    /// If an error occurs, an `SdkError` will be returned with additional details that
   89         -
    /// can be matched against.
   90         -
    ///
   91         -
    /// By default, any retryable failures will be retried twice. Retry behavior
   92         -
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
   93         -
    /// set when configuring the client.
   94         -
    pub async fn send(
   95         -
        self,
   96         -
    ) -> ::std::result::Result<
   97         -
        crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationOutput,
   98         -
        ::aws_smithy_runtime_api::client::result::SdkError<
   99         -
            crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationError,
  100         -
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  101         -
        >,
  102         -
    > {
  103         -
        let input = self
  104         -
            .inner
  105         -
            .build()
  106         -
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
  107         -
        let runtime_plugins = crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfiguration::operation_runtime_plugins(
  108         -
            self.handle.runtime_plugins.clone(),
  109         -
            &self.handle.conf,
  110         -
            self.config_override,
  111         -
        );
  112         -
        crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfiguration::orchestrate(&runtime_plugins, input).await
  113         -
    }
  114         -
  115         -
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
  116         -
    pub fn customize(
  117         -
        self,
  118         -
    ) -> crate::client::customize::CustomizableOperation<
  119         -
        crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationOutput,
  120         -
        crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationError,
  121         -
        Self,
  122         -
    > {
  123         -
        crate::client::customize::CustomizableOperation::new(self)
  124         -
    }
  125         -
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
  126         -
        self.set_config_override(::std::option::Option::Some(config_override.into()));
  127         -
        self
  128         -
    }
  129         -
  130         -
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  131         -
        self.config_override = config_override;
  132         -
        self
  133         -
    }
  134         -
    /// <p>The general purpose bucket that corresponds to the metadata configuration that you want to retrieve.</p>
  135         -
    pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  136         -
        self.inner = self.inner.bucket(input.into());
  137         -
        self
  138         -
    }
  139         -
    /// <p>The general purpose bucket that corresponds to the metadata configuration that you want to retrieve.</p>
  140         -
    pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  141         -
        self.inner = self.inner.set_bucket(input);
  142         -
        self
  143         -
    }
  144         -
    /// <p>The general purpose bucket that corresponds to the metadata configuration that you want to retrieve.</p>
  145         -
    pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
  146         -
        self.inner.get_bucket()
  147         -
    }
  148         -
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p>
  149         -
    pub fn expected_bucket_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  150         -
        self.inner = self.inner.expected_bucket_owner(input.into());
  151         -
        self
  152         -
    }
  153         -
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p>
  154         -
    pub fn set_expected_bucket_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  155         -
        self.inner = self.inner.set_expected_bucket_owner(input);
  156         -
        self
  157         -
    }
  158         -
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p>
  159         -
    pub fn get_expected_bucket_owner(&self) -> &::std::option::Option<::std::string::String> {
  160         -
        self.inner.get_expected_bucket_owner()
  161         -
    }
  162         -
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/get_bucket_metadata_table_configuration/_get_bucket_metadata_table_configuration_input.rs

@@ -1,1 +79,79 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[allow(missing_docs)] // documentation missing in model
    3      3   
#[non_exhaustive]
    4      4   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5      5   
pub struct GetBucketMetadataTableConfigurationInput {
    6         -
    /// <p>The general purpose bucket that corresponds to the metadata table configuration that you want to retrieve.</p>
           6  +
    /// <p>The general purpose bucket that contains the metadata table configuration that you want to retrieve.</p>
    7      7   
    pub bucket: ::std::option::Option<::std::string::String>,
    8         -
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p>
           8  +
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration from.</p>
    9      9   
    pub expected_bucket_owner: ::std::option::Option<::std::string::String>,
   10     10   
}
   11     11   
impl GetBucketMetadataTableConfigurationInput {
   12         -
    /// <p>The general purpose bucket that corresponds to the metadata table configuration that you want to retrieve.</p>
          12  +
    /// <p>The general purpose bucket that contains the metadata table configuration that you want to retrieve.</p>
   13     13   
    pub fn bucket(&self) -> ::std::option::Option<&str> {
   14     14   
        self.bucket.as_deref()
   15     15   
    }
   16         -
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p>
          16  +
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration from.</p>
   17     17   
    pub fn expected_bucket_owner(&self) -> ::std::option::Option<&str> {
   18     18   
        self.expected_bucket_owner.as_deref()
   19     19   
    }
   20     20   
}
   21     21   
impl GetBucketMetadataTableConfigurationInput {
   22     22   
    /// Creates a new builder-style object to manufacture [`GetBucketMetadataTableConfigurationInput`](crate::operation::get_bucket_metadata_table_configuration::GetBucketMetadataTableConfigurationInput).
   23     23   
    pub fn builder() -> crate::operation::get_bucket_metadata_table_configuration::builders::GetBucketMetadataTableConfigurationInputBuilder {
   24     24   
        crate::operation::get_bucket_metadata_table_configuration::builders::GetBucketMetadataTableConfigurationInputBuilder::default()
   25     25   
    }
   26     26   
}
   27     27   
   28     28   
/// A builder for [`GetBucketMetadataTableConfigurationInput`](crate::operation::get_bucket_metadata_table_configuration::GetBucketMetadataTableConfigurationInput).
   29     29   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   30     30   
#[non_exhaustive]
   31     31   
pub struct GetBucketMetadataTableConfigurationInputBuilder {
   32     32   
    pub(crate) bucket: ::std::option::Option<::std::string::String>,
   33     33   
    pub(crate) expected_bucket_owner: ::std::option::Option<::std::string::String>,
   34     34   
}
   35     35   
impl GetBucketMetadataTableConfigurationInputBuilder {
   36         -
    /// <p>The general purpose bucket that corresponds to the metadata table configuration that you want to retrieve.</p>
          36  +
    /// <p>The general purpose bucket that contains the metadata table configuration that you want to retrieve.</p>
   37     37   
    /// This field is required.
   38     38   
    pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   39     39   
        self.bucket = ::std::option::Option::Some(input.into());
   40     40   
        self
   41     41   
    }
   42         -
    /// <p>The general purpose bucket that corresponds to the metadata table configuration that you want to retrieve.</p>
          42  +
    /// <p>The general purpose bucket that contains the metadata table configuration that you want to retrieve.</p>
   43     43   
    pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
   44     44   
        self.bucket = input;
   45     45   
        self
   46     46   
    }
   47         -
    /// <p>The general purpose bucket that corresponds to the metadata table configuration that you want to retrieve.</p>
          47  +
    /// <p>The general purpose bucket that contains the metadata table configuration that you want to retrieve.</p>
   48     48   
    pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
   49     49   
        &self.bucket
   50     50   
    }
   51         -
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p>
          51  +
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration from.</p>
   52     52   
    pub fn expected_bucket_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   53     53   
        self.expected_bucket_owner = ::std::option::Option::Some(input.into());
   54     54   
        self
   55     55   
    }
   56         -
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p>
          56  +
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration from.</p>
   57     57   
    pub fn set_expected_bucket_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
   58     58   
        self.expected_bucket_owner = input;
   59     59   
        self
   60     60   
    }
   61         -
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p>
          61  +
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration from.</p>
   62     62   
    pub fn get_expected_bucket_owner(&self) -> &::std::option::Option<::std::string::String> {
   63     63   
        &self.expected_bucket_owner
   64     64   
    }
   65     65   
    /// Consumes the builder and constructs a [`GetBucketMetadataTableConfigurationInput`](crate::operation::get_bucket_metadata_table_configuration::GetBucketMetadataTableConfigurationInput).
   66     66   
    pub fn build(
   67     67   
        self,
   68     68   
    ) -> ::std::result::Result<
   69     69   
        crate::operation::get_bucket_metadata_table_configuration::GetBucketMetadataTableConfigurationInput,
   70     70   
        ::aws_smithy_types::error::operation::BuildError,
   71     71   
    > {

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

@@ -1,1 +62,55 @@
   15     15   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     16   
        >,
   17     17   
    > {
   18     18   
        let mut fluent_builder = client.get_bucket_metadata_table_configuration();
   19     19   
        fluent_builder.inner = self;
   20     20   
        fluent_builder.send().await
   21     21   
    }
   22     22   
}
   23     23   
/// Fluent builder constructing a request to `GetBucketMetadataTableConfiguration`.
   24     24   
///
   25         -
/// <important>
   26         -
/// <p>We recommend that you retrieve your S3 Metadata configurations by using the V2 <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html">GetBucketMetadataTableConfiguration</a> API operation. We no longer recommend using the V1 <code>GetBucketMetadataTableConfiguration</code> API operation.</p>
   27         -
/// <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>
   28         -
/// </important>
   29         -
/// <p>Retrieves the V1 S3 Metadata configuration for a general purpose bucket. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html">Accelerating data discovery with S3 Metadata</a> in the <i>Amazon S3 User Guide</i>.</p><note>
   30         -
/// <p>You can use the V2 <code>GetBucketMetadataConfiguration</code> API operation with V1 or V2 metadata table configurations. However, if you try to use the V1 <code>GetBucketMetadataTableConfiguration</code> API operation with V2 configurations, you will receive an HTTP <code>405 Method Not Allowed</code> error.</p>
   31         -
/// <p>Make sure that you update your processes to use the new V2 API operations (<code>CreateBucketMetadataConfiguration</code>, <code>GetBucketMetadataConfiguration</code>, and <code>DeleteBucketMetadataConfiguration</code>) instead of the V1 API operations.</p>
   32         -
/// </note>
          25  +
/// <p>Retrieves the metadata table configuration for a general purpose bucket. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html">Accelerating data discovery with S3 Metadata</a> in the <i>Amazon S3 User Guide</i>.</p>
   33     26   
/// <dl>
   34     27   
/// <dt>
   35     28   
/// Permissions
   36     29   
/// </dt>
   37     30   
/// <dd>
   38     31   
/// <p>To use this operation, you must have the <code>s3:GetBucketMetadataTableConfiguration</code> permission. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html">Setting up permissions for configuring metadata tables</a> in the <i>Amazon S3 User Guide</i>.</p>
   39     32   
/// </dd>
   40     33   
/// </dl>
   41     34   
/// <p>The following operations are related to <code>GetBucketMetadataTableConfiguration</code>:</p>
   42     35   
/// <ul>
@@ -104,97 +162,155 @@
  124    117   
    }
  125    118   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
  126    119   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
  127    120   
        self
  128    121   
    }
  129    122   
  130    123   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  131    124   
        self.config_override = config_override;
  132    125   
        self
  133    126   
    }
  134         -
    /// <p>The general purpose bucket that corresponds to the metadata table configuration that you want to retrieve.</p>
         127  +
    /// <p>The general purpose bucket that contains the metadata table configuration that you want to retrieve.</p>
  135    128   
    pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  136    129   
        self.inner = self.inner.bucket(input.into());
  137    130   
        self
  138    131   
    }
  139         -
    /// <p>The general purpose bucket that corresponds to the metadata table configuration that you want to retrieve.</p>
         132  +
    /// <p>The general purpose bucket that contains the metadata table configuration that you want to retrieve.</p>
  140    133   
    pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  141    134   
        self.inner = self.inner.set_bucket(input);
  142    135   
        self
  143    136   
    }
  144         -
    /// <p>The general purpose bucket that corresponds to the metadata table configuration that you want to retrieve.</p>
         137  +
    /// <p>The general purpose bucket that contains the metadata table configuration that you want to retrieve.</p>
  145    138   
    pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
  146    139   
        self.inner.get_bucket()
  147    140   
    }
  148         -
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p>
         141  +
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration from.</p>
  149    142   
    pub fn expected_bucket_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  150    143   
        self.inner = self.inner.expected_bucket_owner(input.into());
  151    144   
        self
  152    145   
    }
  153         -
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p>
         146  +
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration from.</p>
  154    147   
    pub fn set_expected_bucket_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  155    148   
        self.inner = self.inner.set_expected_bucket_owner(input);
  156    149   
        self
  157    150   
    }
  158         -
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p>
         151  +
    /// <p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration from.</p>
  159    152   
    pub fn get_expected_bucket_owner(&self) -> &::std::option::Option<::std::string::String> {
  160    153   
        self.inner.get_expected_bucket_owner()
  161    154   
    }
  162    155   
}

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

@@ -1,1 +67,58 @@
   18     18   
        let mut fluent_builder = client.get_bucket_ownership_controls();
   19     19   
        fluent_builder.inner = self;
   20     20   
        fluent_builder.send().await
   21     21   
    }
   22     22   
}
   23     23   
/// Fluent builder constructing a request to `GetBucketOwnershipControls`.
   24     24   
///
   25     25   
/// <note>
   26     26   
/// <p>This operation is not supported for directory buckets.</p>
   27     27   
/// </note>
   28         -
/// <p>Retrieves <code>OwnershipControls</code> for an Amazon S3 bucket. To use this operation, you must have the <code>s3:GetBucketOwnershipControls</code> permission. For more information about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html">Specifying permissions in a policy</a>.</p><note>
   29         -
/// <p>A bucket doesn't have <code>OwnershipControls</code> settings in the following cases:</p>
   30         -
/// <ul>
   31         -
/// <li>
   32         -
/// <p>The bucket was created before the <code>BucketOwnerEnforced</code> ownership setting was introduced and you've never explicitly applied this value</p></li>
   33         -
/// <li>
   34         -
/// <p>You've manually deleted the bucket ownership control value using the <code>DeleteBucketOwnershipControls</code> API operation.</p></li>
   35         -
/// </ul>
   36         -
/// <p>By default, Amazon S3 sets <code>OwnershipControls</code> for all newly created buckets.</p>
   37         -
/// </note>
          28  +
/// <p>Retrieves <code>OwnershipControls</code> for an Amazon S3 bucket. To use this operation, you must have the <code>s3:GetBucketOwnershipControls</code> permission. For more information about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html">Specifying permissions in a policy</a>.</p>
   38     29   
/// <p>For information about Amazon S3 Object Ownership, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">Using Object Ownership</a>.</p>
   39     30   
/// <p>The following operations are related to <code>GetBucketOwnershipControls</code>:</p>
   40     31   
/// <ul>
   41     32   
/// <li>
   42     33   
/// <p><code>PutBucketOwnershipControls</code></p></li>
   43     34   
/// <li>
   44     35   
/// <p><code>DeleteBucketOwnershipControls</code></p></li>
   45     36   
/// </ul>
   46     37   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
   47     38   
pub struct GetBucketOwnershipControlsFluentBuilder {

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/get_object/_get_object_output.rs

@@ -39,39 +101,99 @@
   59     59   
    /// <p>The language the content is in.</p>
   60     60   
    pub content_language: ::std::option::Option<::std::string::String>,
   61     61   
    /// <p>The portion of the object returned in the response.</p>
   62     62   
    pub content_range: ::std::option::Option<::std::string::String>,
   63     63   
    /// <p>A standard MIME type describing the format of the object data.</p>
   64     64   
    pub content_type: ::std::option::Option<::std::string::String>,
   65     65   
    /// <p>If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.</p><note>
   66     66   
    /// <p>This functionality is not supported for directory buckets.</p>
   67     67   
    /// </note>
   68     68   
    pub website_redirect_location: ::std::option::Option<::std::string::String>,
   69         -
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
   70         -
    /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
   71         -
    /// </note>
          69  +
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3.</p>
   72     70   
    pub server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
   73     71   
    /// <p>A map of metadata to store with the object in S3.</p>
   74     72   
    pub metadata: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
   75     73   
    /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>
   76     74   
    /// <p>This functionality is not supported for directory buckets.</p>
   77     75   
    /// </note>
   78     76   
    pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
   79     77   
    /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>
   80     78   
    /// <p>This functionality is not supported for directory buckets.</p>
   81     79   
    /// </note>
@@ -207,205 +269,265 @@
  227    225   
    /// <p>A standard MIME type describing the format of the object data.</p>
  228    226   
    pub fn content_type(&self) -> ::std::option::Option<&str> {
  229    227   
        self.content_type.as_deref()
  230    228   
    }
  231    229   
    /// <p>If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.</p><note>
  232    230   
    /// <p>This functionality is not supported for directory buckets.</p>
  233    231   
    /// </note>
  234    232   
    pub fn website_redirect_location(&self) -> ::std::option::Option<&str> {
  235    233   
        self.website_redirect_location.as_deref()
  236    234   
    }
  237         -
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
  238         -
    /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
  239         -
    /// </note>
         235  +
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3.</p>
  240    236   
    pub fn server_side_encryption(&self) -> ::std::option::Option<&crate::types::ServerSideEncryption> {
  241    237   
        self.server_side_encryption.as_ref()
  242    238   
    }
  243    239   
    /// <p>A map of metadata to store with the object in S3.</p>
  244    240   
    pub fn metadata(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
  245    241   
        self.metadata.as_ref()
  246    242   
    }
  247    243   
    /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>
  248    244   
    /// <p>This functionality is not supported for directory buckets.</p>
  249    245   
    /// </note>
@@ -781,777 +857,847 @@
  801    797   
    pub fn set_website_redirect_location(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  802    798   
        self.website_redirect_location = input;
  803    799   
        self
  804    800   
    }
  805    801   
    /// <p>If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.</p><note>
  806    802   
    /// <p>This functionality is not supported for directory buckets.</p>
  807    803   
    /// </note>
  808    804   
    pub fn get_website_redirect_location(&self) -> &::std::option::Option<::std::string::String> {
  809    805   
        &self.website_redirect_location
  810    806   
    }
  811         -
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
  812         -
    /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
  813         -
    /// </note>
         807  +
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3.</p>
  814    808   
    pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
  815    809   
        self.server_side_encryption = ::std::option::Option::Some(input);
  816    810   
        self
  817    811   
    }
  818         -
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
  819         -
    /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
  820         -
    /// </note>
         812  +
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3.</p>
  821    813   
    pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
  822    814   
        self.server_side_encryption = input;
  823    815   
        self
  824    816   
    }
  825         -
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
  826         -
    /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
  827         -
    /// </note>
         817  +
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3.</p>
  828    818   
    pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
  829    819   
        &self.server_side_encryption
  830    820   
    }
  831    821   
    /// Adds a key-value pair to `metadata`.
  832    822   
    ///
  833    823   
    /// To override the contents of this collection use [`set_metadata`](Self::set_metadata).
  834    824   
    ///
  835    825   
    /// <p>A map of metadata to store with the object in S3.</p>
  836    826   
    pub fn metadata(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
  837    827   
        let mut hash_map = self.metadata.unwrap_or_default();

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/get_object_torrent.rs

@@ -121,121 +209,200 @@
  141    141   
                    .build(),
  142    142   
            );
  143    143   
  144    144   
        ::std::borrow::Cow::Owned(rcb)
  145    145   
    }
  146    146   
}
  147    147   
  148    148   
#[derive(Debug)]
  149    149   
struct GetObjectTorrentResponseDeserializer;
  150    150   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for GetObjectTorrentResponseDeserializer {
  151         -
    fn deserialize_streaming(
  152         -
        &self,
  153         -
        response: &mut ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  154         -
    ) -> ::std::option::Option<::aws_smithy_runtime_api::client::interceptors::context::OutputOrError> {
  155         -
        #[allow(unused_mut)]
  156         -
        let mut force_error = false;
  157         -
        ::tracing::debug!(extended_request_id = ?crate::s3_request_id::RequestIdExt::extended_request_id(response));
  158         -
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  159         -
  160         -
        // If this is an error, defer to the non-streaming parser
  161         -
        if (!response.status().is_success() && response.status().as_u16() != 200) || force_error {
  162         -
            return ::std::option::Option::None;
  163         -
        }
  164         -
        ::std::option::Option::Some(crate::protocol_serde::type_erase_result(
  165         -
            crate::protocol_serde::shape_get_object_torrent::de_get_object_torrent_http_response(response),
  166         -
        ))
  167         -
    }
  168         -
  169    151   
    fn deserialize_nonstreaming(
  170    152   
        &self,
  171    153   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  172    154   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  173         -
        // For streaming operations, we only hit this case if its an error
         155  +
        let (success, status) = (response.status().is_success(), response.status().as_u16());
         156  +
        let headers = response.headers();
  174    157   
        let body = response.body().bytes().expect("body loaded");
  175         -
        crate::protocol_serde::type_erase_result(crate::protocol_serde::shape_get_object_torrent::de_get_object_torrent_http_error(
  176         -
            response.status().as_u16(),
  177         -
            response.headers(),
  178         -
            body,
  179         -
        ))
         158  +
        #[allow(unused_mut)]
         159  +
        let mut force_error = false;
         160  +
        ::tracing::debug!(extended_request_id = ?crate::s3_request_id::RequestIdExt::extended_request_id(response));
         161  +
        if matches!(crate::rest_xml_unwrapped_errors::body_is_error(body), Ok(true)) {
         162  +
            force_error = true;
         163  +
        }
         164  +
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
         165  +
        let parse_result = if !success && status != 200 || force_error {
         166  +
            crate::protocol_serde::shape_get_object_torrent::de_get_object_torrent_http_error(status, headers, body)
         167  +
        } else {
         168  +
            crate::protocol_serde::shape_get_object_torrent::de_get_object_torrent_http_response(status, headers, body)
         169  +
        };
         170  +
        crate::protocol_serde::type_erase_result(parse_result)
  180    171   
    }
  181    172   
}
  182    173   
#[derive(Debug)]
  183    174   
struct GetObjectTorrentRequestSerializer;
  184    175   
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for GetObjectTorrentRequestSerializer {
  185    176   
    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
  186    177   
    fn serialize_input(
  187    178   
        &self,
  188    179   
        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
  189    180   
        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/get_object_torrent/_get_object_torrent_output.rs

@@ -1,1 +115,93 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[allow(missing_docs)] // documentation missing in model
    3      3   
#[non_exhaustive]
    4         -
#[derive(::std::fmt::Debug)]
           4  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5      5   
pub struct GetObjectTorrentOutput {
    6         -
    /// <p>A Bencoded dictionary as defined by the BitTorrent specification</p>
    7         -
    pub body: ::aws_smithy_types::byte_stream::ByteStream,
    8      6   
    /// <p>If present, indicates that the requester was successfully charged for the 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><note>
    9      7   
    /// <p>This functionality is not supported for directory buckets.</p>
   10      8   
    /// </note>
   11      9   
    pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
   12     10   
    _extended_request_id: Option<String>,
   13     11   
    _request_id: Option<String>,
   14     12   
}
   15     13   
impl GetObjectTorrentOutput {
   16         -
    /// <p>A Bencoded dictionary as defined by the BitTorrent specification</p>
   17         -
    pub fn body(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
   18         -
        &self.body
   19         -
    }
   20     14   
    /// <p>If present, indicates that the requester was successfully charged for the 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><note>
   21     15   
    /// <p>This functionality is not supported for directory buckets.</p>
   22     16   
    /// </note>
   23     17   
    pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
   24     18   
        self.request_charged.as_ref()
   25     19   
    }
   26     20   
}
   27     21   
impl crate::s3_request_id::RequestIdExt for GetObjectTorrentOutput {
   28     22   
    fn extended_request_id(&self) -> Option<&str> {
   29     23   
        self._extended_request_id.as_deref()
   30     24   
    }
   31     25   
}
   32     26   
impl ::aws_types::request_id::RequestId for GetObjectTorrentOutput {
   33     27   
    fn request_id(&self) -> Option<&str> {
   34     28   
        self._request_id.as_deref()
   35     29   
    }
   36     30   
}
   37     31   
impl GetObjectTorrentOutput {
   38     32   
    /// Creates a new builder-style object to manufacture [`GetObjectTorrentOutput`](crate::operation::get_object_torrent::GetObjectTorrentOutput).
   39     33   
    pub fn builder() -> crate::operation::get_object_torrent::builders::GetObjectTorrentOutputBuilder {
   40     34   
        crate::operation::get_object_torrent::builders::GetObjectTorrentOutputBuilder::default()
   41     35   
    }
   42     36   
}
   43     37   
   44     38   
/// A builder for [`GetObjectTorrentOutput`](crate::operation::get_object_torrent::GetObjectTorrentOutput).
   45         -
#[derive(::std::default::Default, ::std::fmt::Debug)]
          39  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   46     40   
#[non_exhaustive]
   47     41   
pub struct GetObjectTorrentOutputBuilder {
   48         -
    pub(crate) body: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
   49     42   
    pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
   50     43   
    _extended_request_id: Option<String>,
   51     44   
    _request_id: Option<String>,
   52     45   
}
   53     46   
impl GetObjectTorrentOutputBuilder {
   54         -
    /// <p>A Bencoded dictionary as defined by the BitTorrent specification</p>
   55         -
    pub fn body(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
   56         -
        self.body = ::std::option::Option::Some(input);
   57         -
        self
   58         -
    }
   59         -
    /// <p>A Bencoded dictionary as defined by the BitTorrent specification</p>
   60         -
    pub fn set_body(mut self, input: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>) -> Self {
   61         -
        self.body = input;
   62         -
        self
   63         -
    }
   64         -
    /// <p>A Bencoded dictionary as defined by the BitTorrent specification</p>
   65         -
    pub fn get_body(&self) -> &::std::option::Option<::aws_smithy_types::byte_stream::ByteStream> {
   66         -
        &self.body
   67         -
    }
   68     47   
    /// <p>If present, indicates that the requester was successfully charged for the 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><note>
   69     48   
    /// <p>This functionality is not supported for directory buckets.</p>
   70     49   
    /// </note>
   71     50   
    pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
   72     51   
        self.request_charged = ::std::option::Option::Some(input);
   73     52   
        self
   74     53   
    }
   75     54   
    /// <p>If present, indicates that the requester was successfully charged for the 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><note>
   76     55   
    /// <p>This functionality is not supported for directory buckets.</p>
   77     56   
    /// </note>
   78     57   
    pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
   79     58   
        self.request_charged = input;
   80     59   
        self
   81     60   
    }
   82     61   
    /// <p>If present, indicates that the requester was successfully charged for the 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><note>
   83     62   
    /// <p>This functionality is not supported for directory buckets.</p>
   84     63   
    /// </note>
   85     64   
    pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
   86     65   
        &self.request_charged
   87     66   
    }
   88     67   
    pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
   89     68   
        self._extended_request_id = Some(extended_request_id.into());
   90     69   
        self
   91     70   
    }
   92     71   
   93     72   
    pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
   94     73   
        self._extended_request_id = extended_request_id;
   95     74   
        self
   96     75   
    }
   97     76   
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
   98     77   
        self._request_id = Some(request_id.into());
   99     78   
        self
  100     79   
    }
  101     80   
  102     81   
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
  103     82   
        self._request_id = request_id;
  104     83   
        self
  105     84   
    }
  106     85   
    /// Consumes the builder and constructs a [`GetObjectTorrentOutput`](crate::operation::get_object_torrent::GetObjectTorrentOutput).
  107     86   
    pub fn build(self) -> crate::operation::get_object_torrent::GetObjectTorrentOutput {
  108     87   
        crate::operation::get_object_torrent::GetObjectTorrentOutput {
  109         -
            body: self.body.unwrap_or_default(),
  110     88   
            request_charged: self.request_charged,
  111     89   
            _extended_request_id: self._extended_request_id,
  112     90   
            _request_id: self._request_id,
  113     91   
        }
  114     92   
    }
  115     93   
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/head_bucket/_head_bucket_output.rs

@@ -1,1 +138,107 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[allow(missing_docs)] // documentation missing in model
    3      3   
#[non_exhaustive]
    4      4   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5      5   
pub struct HeadBucketOutput {
    6         -
    /// <p>The Amazon Resource Name (ARN) of the S3 bucket. ARNs uniquely identify Amazon Web Services resources across all of Amazon Web Services.</p><note>
    7         -
    /// <p>This parameter is only supported for S3 directory buckets. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html">Using tags with directory buckets</a>.</p>
    8         -
    /// </note>
    9         -
    pub bucket_arn: ::std::option::Option<::std::string::String>,
   10      6   
    /// <p>The type of location where the bucket is created.</p><note>
   11      7   
    /// <p>This functionality is only supported by directory buckets.</p>
   12      8   
    /// </note>
   13      9   
    pub bucket_location_type: ::std::option::Option<crate::types::LocationType>,
   14     10   
    /// <p>The name of the location where the bucket will be created.</p>
   15     11   
    /// <p>For directory buckets, the Zone ID of the Availability Zone or the Local Zone where the bucket is created. An example Zone ID value for an Availability Zone is <code>usw2-az1</code>.</p><note>
   16     12   
    /// <p>This functionality is only supported by directory buckets.</p>
   17     13   
    /// </note>
   18     14   
    pub bucket_location_name: ::std::option::Option<::std::string::String>,
   19     15   
    /// <p>The Region that the bucket is located.</p>
   20     16   
    pub bucket_region: ::std::option::Option<::std::string::String>,
   21     17   
    /// <p>Indicates whether the bucket name used in the request is an access point alias.</p><note>
   22     18   
    /// <p>For directory buckets, the value of this field is <code>false</code>.</p>
   23     19   
    /// </note>
   24     20   
    pub access_point_alias: ::std::option::Option<bool>,
   25     21   
    _extended_request_id: Option<String>,
   26     22   
    _request_id: Option<String>,
   27     23   
}
   28     24   
impl HeadBucketOutput {
   29         -
    /// <p>The Amazon Resource Name (ARN) of the S3 bucket. ARNs uniquely identify Amazon Web Services resources across all of Amazon Web Services.</p><note>
   30         -
    /// <p>This parameter is only supported for S3 directory buckets. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html">Using tags with directory buckets</a>.</p>
   31         -
    /// </note>
   32         -
    pub fn bucket_arn(&self) -> ::std::option::Option<&str> {
   33         -
        self.bucket_arn.as_deref()
   34         -
    }
   35     25   
    /// <p>The type of location where the bucket is created.</p><note>
   36     26   
    /// <p>This functionality is only supported by directory buckets.</p>
   37     27   
    /// </note>
   38     28   
    pub fn bucket_location_type(&self) -> ::std::option::Option<&crate::types::LocationType> {
   39     29   
        self.bucket_location_type.as_ref()
   40     30   
    }
   41     31   
    /// <p>The name of the location where the bucket will be created.</p>
   42     32   
    /// <p>For directory buckets, the Zone ID of the Availability Zone or the Local Zone where the bucket is created. An example Zone ID value for an Availability Zone is <code>usw2-az1</code>.</p><note>
   43     33   
    /// <p>This functionality is only supported by directory buckets.</p>
   44     34   
    /// </note>
   45     35   
    pub fn bucket_location_name(&self) -> ::std::option::Option<&str> {
   46     36   
        self.bucket_location_name.as_deref()
   47     37   
    }
   48     38   
    /// <p>The Region that the bucket is located.</p>
   49     39   
    pub fn bucket_region(&self) -> ::std::option::Option<&str> {
   50     40   
        self.bucket_region.as_deref()
   51     41   
    }
   52     42   
    /// <p>Indicates whether the bucket name used in the request is an access point alias.</p><note>
   53     43   
    /// <p>For directory buckets, the value of this field is <code>false</code>.</p>
   54     44   
    /// </note>
   55     45   
    pub fn access_point_alias(&self) -> ::std::option::Option<bool> {
   56     46   
        self.access_point_alias
   57     47   
    }
   58     48   
}
   59     49   
impl crate::s3_request_id::RequestIdExt for HeadBucketOutput {
   60     50   
    fn extended_request_id(&self) -> Option<&str> {
   61     51   
        self._extended_request_id.as_deref()
   62     52   
    }
   63     53   
}
   64     54   
impl ::aws_types::request_id::RequestId for HeadBucketOutput {
   65     55   
    fn request_id(&self) -> Option<&str> {
   66     56   
        self._request_id.as_deref()
   67     57   
    }
   68     58   
}
   69     59   
impl HeadBucketOutput {
   70     60   
    /// Creates a new builder-style object to manufacture [`HeadBucketOutput`](crate::operation::head_bucket::HeadBucketOutput).
   71     61   
    pub fn builder() -> crate::operation::head_bucket::builders::HeadBucketOutputBuilder {
   72     62   
        crate::operation::head_bucket::builders::HeadBucketOutputBuilder::default()
   73     63   
    }
   74     64   
}
   75     65   
   76     66   
/// A builder for [`HeadBucketOutput`](crate::operation::head_bucket::HeadBucketOutput).
   77     67   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   78     68   
#[non_exhaustive]
   79     69   
pub struct HeadBucketOutputBuilder {
   80         -
    pub(crate) bucket_arn: ::std::option::Option<::std::string::String>,
   81     70   
    pub(crate) bucket_location_type: ::std::option::Option<crate::types::LocationType>,
   82     71   
    pub(crate) bucket_location_name: ::std::option::Option<::std::string::String>,
   83     72   
    pub(crate) bucket_region: ::std::option::Option<::std::string::String>,
   84     73   
    pub(crate) access_point_alias: ::std::option::Option<bool>,
   85     74   
    _extended_request_id: Option<String>,
   86     75   
    _request_id: Option<String>,
   87     76   
}
   88     77   
impl HeadBucketOutputBuilder {
   89         -
    /// <p>The Amazon Resource Name (ARN) of the S3 bucket. ARNs uniquely identify Amazon Web Services resources across all of Amazon Web Services.</p><note>
   90         -
    /// <p>This parameter is only supported for S3 directory buckets. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html">Using tags with directory buckets</a>.</p>
   91         -
    /// </note>
   92         -
    pub fn bucket_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   93         -
        self.bucket_arn = ::std::option::Option::Some(input.into());
   94         -
        self
   95         -
    }
   96         -
    /// <p>The Amazon Resource Name (ARN) of the S3 bucket. ARNs uniquely identify Amazon Web Services resources across all of Amazon Web Services.</p><note>
   97         -
    /// <p>This parameter is only supported for S3 directory buckets. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html">Using tags with directory buckets</a>.</p>
   98         -
    /// </note>
   99         -
    pub fn set_bucket_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  100         -
        self.bucket_arn = input;
  101         -
        self
  102         -
    }
  103         -
    /// <p>The Amazon Resource Name (ARN) of the S3 bucket. ARNs uniquely identify Amazon Web Services resources across all of Amazon Web Services.</p><note>
  104         -
    /// <p>This parameter is only supported for S3 directory buckets. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html">Using tags with directory buckets</a>.</p>
  105         -
    /// </note>
  106         -
    pub fn get_bucket_arn(&self) -> &::std::option::Option<::std::string::String> {
  107         -
        &self.bucket_arn
  108         -
    }
  109     78   
    /// <p>The type of location where the bucket is created.</p><note>
  110     79   
    /// <p>This functionality is only supported by directory buckets.</p>
  111     80   
    /// </note>
  112     81   
    pub fn bucket_location_type(mut self, input: crate::types::LocationType) -> Self {
  113     82   
        self.bucket_location_type = ::std::option::Option::Some(input);
  114     83   
        self
  115     84   
    }
  116     85   
    /// <p>The type of location where the bucket is created.</p><note>
  117     86   
    /// <p>This functionality is only supported by directory buckets.</p>
  118     87   
    /// </note>
@@ -177,146 +216,184 @@
  197    166   
        self
  198    167   
    }
  199    168   
  200    169   
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
  201    170   
        self._request_id = request_id;
  202    171   
        self
  203    172   
    }
  204    173   
    /// Consumes the builder and constructs a [`HeadBucketOutput`](crate::operation::head_bucket::HeadBucketOutput).
  205    174   
    pub fn build(self) -> crate::operation::head_bucket::HeadBucketOutput {
  206    175   
        crate::operation::head_bucket::HeadBucketOutput {
  207         -
            bucket_arn: self.bucket_arn,
  208    176   
            bucket_location_type: self.bucket_location_type,
  209    177   
            bucket_location_name: self.bucket_location_name,
  210    178   
            bucket_region: self.bucket_region,
  211    179   
            access_point_alias: self.access_point_alias,
  212    180   
            _extended_request_id: self._extended_request_id,
  213    181   
            _request_id: self._request_id,
  214    182   
        }
  215    183   
    }
  216    184   
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/head_object/_head_object_output.rs

@@ -40,40 +148,141 @@
   60     60   
    /// <p>The language the content is in.</p>
   61     61   
    pub content_language: ::std::option::Option<::std::string::String>,
   62     62   
    /// <p>A standard MIME type describing the format of the object data.</p>
   63     63   
    pub content_type: ::std::option::Option<::std::string::String>,
   64     64   
    /// <p>The portion of the object returned in the response for a <code>GET</code> request.</p>
   65     65   
    pub content_range: ::std::option::Option<::std::string::String>,
   66     66   
    /// <p>If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.</p><note>
   67     67   
    /// <p>This functionality is not supported for directory buckets.</p>
   68     68   
    /// </note>
   69     69   
    pub website_redirect_location: ::std::option::Option<::std::string::String>,
   70         -
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
   71         -
    /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
   72         -
    /// </note>
          70  +
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p>
   73     71   
    pub server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
   74     72   
    /// <p>A map of metadata to store with the object in S3.</p>
   75     73   
    pub metadata: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
   76     74   
    /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>
   77     75   
    /// <p>This functionality is not supported for directory buckets.</p>
   78     76   
    /// </note>
   79     77   
    pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
   80     78   
    /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>
   81     79   
    /// <p>This functionality is not supported for directory buckets.</p>
   82     80   
    /// </note>
   83     81   
    pub sse_customer_key_md5: ::std::option::Option<::std::string::String>,
   84     82   
    /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
   85     83   
    pub ssekms_key_id: ::std::option::Option<::std::string::String>,
   86     84   
    /// <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
   87     85   
    pub bucket_key_enabled: ::std::option::Option<bool>,
   88     86   
    /// <p>Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.</p>
   89     87   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a>.</p><note>
   90     88   
    /// <p><b>Directory buckets </b> - Directory buckets only support <code>EXPRESS_ONEZONE</code> (the S3 Express One Zone storage class) in Availability Zones and <code>ONEZONE_IA</code> (the S3 One Zone-Infrequent Access storage class) in Dedicated Local Zones.</p>
   91     89   
    /// </note>
   92     90   
    pub storage_class: ::std::option::Option<crate::types::StorageClass>,
   93     91   
    /// <p>If present, indicates that the requester was successfully charged for the 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><note>
   94     92   
    /// <p>This functionality is not supported for directory buckets.</p>
   95     93   
    /// </note>
   96     94   
    pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
   97     95   
    /// <p>Amazon S3 can return this header if your request involves a bucket that is either a source or a destination in a replication rule.</p>
   98     96   
    /// <p>In replication, you have a source bucket on which you configure replication and destination bucket or buckets where Amazon S3 stores object replicas. When you request an object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) from these buckets, Amazon S3 will return the <code>x-amz-replication-status</code> header in the response as follows:</p>
   99     97   
    /// <ul>
  100     98   
    /// <li>
  101     99   
    /// <p><b>If requesting an object from the source bucket</b>, Amazon S3 will return the <code>x-amz-replication-status</code> header if the object in your request is eligible for replication.</p>
  102    100   
    /// <p>For example, suppose that in your replication configuration, you specify object prefix <code>TaxDocs</code> requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. Any objects you upload with this key name prefix, for example <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object request with this key name prefix, Amazon S3 will return the <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or FAILED indicating object replication status.</p></li>
  103    101   
    /// <li>
  104    102   
    /// <p><b>If requesting an object from a destination bucket</b>, Amazon S3 will return the <code>x-amz-replication-status</code> header with value REPLICA if the object in your request is a replica that Amazon S3 created and there is no replica modification replication in progress.</p></li>
  105    103   
    /// <li>
  106    104   
    /// <p><b>When replicating objects to multiple destination buckets</b>, the <code>x-amz-replication-status</code> header acts differently. The header of the source object will only return a value of COMPLETED when replication is successful to all destinations. The header will remain at value PENDING until replication has completed for all destinations. If one or more destinations fails replication the header will return FAILED.</p></li>
  107    105   
    /// </ul>
  108    106   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p><note>
  109    107   
    /// <p>This functionality is not supported for directory buckets.</p>
  110    108   
    /// </note>
  111    109   
    pub replication_status: ::std::option::Option<crate::types::ReplicationStatus>,
  112    110   
    /// <p>The count of parts this object has. This value is only returned if you specify <code>partNumber</code> in your request and the object was uploaded as a multipart upload.</p>
  113    111   
    pub parts_count: ::std::option::Option<i32>,
  114         -
    /// <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p>
  115         -
    /// <p>You can use <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> to retrieve the tag set associated with an object.</p><note>
  116         -
    /// <p>This functionality is not supported for directory buckets.</p>
  117         -
    /// </note>
  118         -
    pub tag_count: ::std::option::Option<i32>,
  119    112   
    /// <p>The Object Lock mode, if any, that's in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>
  120    113   
    /// <p>This functionality is not supported for directory buckets.</p>
  121    114   
    /// </note>
  122    115   
    pub object_lock_mode: ::std::option::Option<crate::types::ObjectLockMode>,
  123    116   
    /// <p>The date and time when the Object Lock retention period expires. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission.</p><note>
  124    117   
    /// <p>This functionality is not supported for directory buckets.</p>
  125    118   
    /// </note>
  126    119   
    pub object_lock_retain_until_date: ::std::option::Option<::aws_smithy_types::DateTime>,
  127    120   
    /// <p>Specifies whether a legal hold is in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectLegalHold</code> permission. This header is not returned if the specified version of this object has never had a legal hold applied. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>
  128    121   
    /// <p>This functionality is not supported for directory buckets.</p>
@@ -220,213 +282,273 @@
  240    233   
    /// <p>The portion of the object returned in the response for a <code>GET</code> request.</p>
  241    234   
    pub fn content_range(&self) -> ::std::option::Option<&str> {
  242    235   
        self.content_range.as_deref()
  243    236   
    }
  244    237   
    /// <p>If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.</p><note>
  245    238   
    /// <p>This functionality is not supported for directory buckets.</p>
  246    239   
    /// </note>
  247    240   
    pub fn website_redirect_location(&self) -> ::std::option::Option<&str> {
  248    241   
        self.website_redirect_location.as_deref()
  249    242   
    }
  250         -
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
  251         -
    /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
  252         -
    /// </note>
         243  +
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p>
  253    244   
    pub fn server_side_encryption(&self) -> ::std::option::Option<&crate::types::ServerSideEncryption> {
  254    245   
        self.server_side_encryption.as_ref()
  255    246   
    }
  256    247   
    /// <p>A map of metadata to store with the object in S3.</p>
  257    248   
    pub fn metadata(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
  258    249   
        self.metadata.as_ref()
  259    250   
    }
  260    251   
    /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>
  261    252   
    /// <p>This functionality is not supported for directory buckets.</p>
  262    253   
    /// </note>
@@ -284,275 +350,334 @@
  304    295   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p><note>
  305    296   
    /// <p>This functionality is not supported for directory buckets.</p>
  306    297   
    /// </note>
  307    298   
    pub fn replication_status(&self) -> ::std::option::Option<&crate::types::ReplicationStatus> {
  308    299   
        self.replication_status.as_ref()
  309    300   
    }
  310    301   
    /// <p>The count of parts this object has. This value is only returned if you specify <code>partNumber</code> in your request and the object was uploaded as a multipart upload.</p>
  311    302   
    pub fn parts_count(&self) -> ::std::option::Option<i32> {
  312    303   
        self.parts_count
  313    304   
    }
  314         -
    /// <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p>
  315         -
    /// <p>You can use <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> to retrieve the tag set associated with an object.</p><note>
  316         -
    /// <p>This functionality is not supported for directory buckets.</p>
  317         -
    /// </note>
  318         -
    pub fn tag_count(&self) -> ::std::option::Option<i32> {
  319         -
        self.tag_count
  320         -
    }
  321    305   
    /// <p>The Object Lock mode, if any, that's in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>
  322    306   
    /// <p>This functionality is not supported for directory buckets.</p>
  323    307   
    /// </note>
  324    308   
    pub fn object_lock_mode(&self) -> ::std::option::Option<&crate::types::ObjectLockMode> {
  325    309   
        self.object_lock_mode.as_ref()
  326    310   
    }
  327    311   
    /// <p>The date and time when the Object Lock retention period expires. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission.</p><note>
  328    312   
    /// <p>This functionality is not supported for directory buckets.</p>
  329    313   
    /// </note>
  330    314   
    pub fn object_lock_retain_until_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
@@ -355,339 +415,398 @@
  375    359   
        formatter.field("server_side_encryption", &self.server_side_encryption);
  376    360   
        formatter.field("metadata", &self.metadata);
  377    361   
        formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
  378    362   
        formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
  379    363   
        formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
  380    364   
        formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
  381    365   
        formatter.field("storage_class", &self.storage_class);
  382    366   
        formatter.field("request_charged", &self.request_charged);
  383    367   
        formatter.field("replication_status", &self.replication_status);
  384    368   
        formatter.field("parts_count", &self.parts_count);
  385         -
        formatter.field("tag_count", &self.tag_count);
  386    369   
        formatter.field("object_lock_mode", &self.object_lock_mode);
  387    370   
        formatter.field("object_lock_retain_until_date", &self.object_lock_retain_until_date);
  388    371   
        formatter.field("object_lock_legal_hold_status", &self.object_lock_legal_hold_status);
  389    372   
        formatter.field("expires", &self.expires);
  390    373   
        formatter.field("expires_string", &self.expires_string);
  391    374   
        formatter.field("_extended_request_id", &self._extended_request_id);
  392    375   
        formatter.field("_request_id", &self._request_id);
  393    376   
        formatter.finish()
  394    377   
    }
  395    378   
}
@@ -420,403 +480,462 @@
  440    423   
    pub(crate) server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
  441    424   
    pub(crate) metadata: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
  442    425   
    pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
  443    426   
    pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
  444    427   
    pub(crate) ssekms_key_id: ::std::option::Option<::std::string::String>,
  445    428   
    pub(crate) bucket_key_enabled: ::std::option::Option<bool>,
  446    429   
    pub(crate) storage_class: ::std::option::Option<crate::types::StorageClass>,
  447    430   
    pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
  448    431   
    pub(crate) replication_status: ::std::option::Option<crate::types::ReplicationStatus>,
  449    432   
    pub(crate) parts_count: ::std::option::Option<i32>,
  450         -
    pub(crate) tag_count: ::std::option::Option<i32>,
  451    433   
    pub(crate) object_lock_mode: ::std::option::Option<crate::types::ObjectLockMode>,
  452    434   
    pub(crate) object_lock_retain_until_date: ::std::option::Option<::aws_smithy_types::DateTime>,
  453    435   
    pub(crate) object_lock_legal_hold_status: ::std::option::Option<crate::types::ObjectLockLegalHoldStatus>,
  454    436   
    pub(crate) expires: ::std::option::Option<::aws_smithy_types::DateTime>,
  455    437   
    pub(crate) expires_string: ::std::option::Option<::std::string::String>,
  456    438   
    _extended_request_id: Option<String>,
  457    439   
    _request_id: Option<String>,
  458    440   
}
  459    441   
impl HeadObjectOutputBuilder {
  460    442   
    /// <p>Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.</p><note>
@@ -806,788 +882,858 @@
  826    808   
    pub fn set_website_redirect_location(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  827    809   
        self.website_redirect_location = input;
  828    810   
        self
  829    811   
    }
  830    812   
    /// <p>If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.</p><note>
  831    813   
    /// <p>This functionality is not supported for directory buckets.</p>
  832    814   
    /// </note>
  833    815   
    pub fn get_website_redirect_location(&self) -> &::std::option::Option<::std::string::String> {
  834    816   
        &self.website_redirect_location
  835    817   
    }
  836         -
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
  837         -
    /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
  838         -
    /// </note>
         818  +
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p>
  839    819   
    pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
  840    820   
        self.server_side_encryption = ::std::option::Option::Some(input);
  841    821   
        self
  842    822   
    }
  843         -
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
  844         -
    /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
  845         -
    /// </note>
         823  +
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p>
  846    824   
    pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
  847    825   
        self.server_side_encryption = input;
  848    826   
        self
  849    827   
    }
  850         -
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
  851         -
    /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
  852         -
    /// </note>
         828  +
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p>
  853    829   
    pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
  854    830   
        &self.server_side_encryption
  855    831   
    }
  856    832   
    /// Adds a key-value pair to `metadata`.
  857    833   
    ///
  858    834   
    /// To override the contents of this collection use [`set_metadata`](Self::set_metadata).
  859    835   
    ///
  860    836   
    /// <p>A map of metadata to store with the object in S3.</p>
  861    837   
    pub fn metadata(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
  862    838   
        let mut hash_map = self.metadata.unwrap_or_default();
@@ -1024,1000 +1106,1059 @@
 1044   1020   
    }
 1045   1021   
    /// <p>The count of parts this object has. This value is only returned if you specify <code>partNumber</code> in your request and the object was uploaded as a multipart upload.</p>
 1046   1022   
    pub fn set_parts_count(mut self, input: ::std::option::Option<i32>) -> Self {
 1047   1023   
        self.parts_count = input;
 1048   1024   
        self
 1049   1025   
    }
 1050   1026   
    /// <p>The count of parts this object has. This value is only returned if you specify <code>partNumber</code> in your request and the object was uploaded as a multipart upload.</p>
 1051   1027   
    pub fn get_parts_count(&self) -> &::std::option::Option<i32> {
 1052   1028   
        &self.parts_count
 1053   1029   
    }
 1054         -
    /// <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p>
 1055         -
    /// <p>You can use <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> to retrieve the tag set associated with an object.</p><note>
 1056         -
    /// <p>This functionality is not supported for directory buckets.</p>
 1057         -
    /// </note>
 1058         -
    pub fn tag_count(mut self, input: i32) -> Self {
 1059         -
        self.tag_count = ::std::option::Option::Some(input);
 1060         -
        self
 1061         -
    }
 1062         -
    /// <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p>
 1063         -
    /// <p>You can use <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> to retrieve the tag set associated with an object.</p><note>
 1064         -
    /// <p>This functionality is not supported for directory buckets.</p>
 1065         -
    /// </note>
 1066         -
    pub fn set_tag_count(mut self, input: ::std::option::Option<i32>) -> Self {
 1067         -
        self.tag_count = input;
 1068         -
        self
 1069         -
    }
 1070         -
    /// <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p>
 1071         -
    /// <p>You can use <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> to retrieve the tag set associated with an object.</p><note>
 1072         -
    /// <p>This functionality is not supported for directory buckets.</p>
 1073         -
    /// </note>
 1074         -
    pub fn get_tag_count(&self) -> &::std::option::Option<i32> {
 1075         -
        &self.tag_count
 1076         -
    }
 1077   1030   
    /// <p>The Object Lock mode, if any, that's in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>
 1078   1031   
    /// <p>This functionality is not supported for directory buckets.</p>
 1079   1032   
    /// </note>
 1080   1033   
    pub fn object_lock_mode(mut self, input: crate::types::ObjectLockMode) -> Self {
 1081   1034   
        self.object_lock_mode = ::std::option::Option::Some(input);
 1082   1035   
        self
 1083   1036   
    }
 1084   1037   
    /// <p>The Object Lock mode, if any, that's in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>
 1085   1038   
    /// <p>This functionality is not supported for directory buckets.</p>
 1086   1039   
    /// </note>
@@ -1192,1145 +1279,1230 @@
 1212   1165   
            server_side_encryption: self.server_side_encryption,
 1213   1166   
            metadata: self.metadata,
 1214   1167   
            sse_customer_algorithm: self.sse_customer_algorithm,
 1215   1168   
            sse_customer_key_md5: self.sse_customer_key_md5,
 1216   1169   
            ssekms_key_id: self.ssekms_key_id,
 1217   1170   
            bucket_key_enabled: self.bucket_key_enabled,
 1218   1171   
            storage_class: self.storage_class,
 1219   1172   
            request_charged: self.request_charged,
 1220   1173   
            replication_status: self.replication_status,
 1221   1174   
            parts_count: self.parts_count,
 1222         -
            tag_count: self.tag_count,
 1223   1175   
            object_lock_mode: self.object_lock_mode,
 1224   1176   
            object_lock_retain_until_date: self.object_lock_retain_until_date,
 1225   1177   
            object_lock_legal_hold_status: self.object_lock_legal_hold_status,
 1226   1178   
            expires: self.expires,
 1227   1179   
            expires_string: self.expires_string,
 1228   1180   
            _extended_request_id: self._extended_request_id,
 1229   1181   
            _request_id: self._request_id,
 1230   1182   
        }
 1231   1183   
    }
 1232   1184   
}
 1233   1185   
impl ::std::fmt::Debug for HeadObjectOutputBuilder {
 1234   1186   
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
 1235   1187   
        let mut formatter = f.debug_struct("HeadObjectOutputBuilder");
 1236   1188   
        formatter.field("delete_marker", &self.delete_marker);
 1237   1189   
        formatter.field("accept_ranges", &self.accept_ranges);
 1238   1190   
        formatter.field("expiration", &self.expiration);
 1239   1191   
        formatter.field("restore", &self.restore);
 1240   1192   
        formatter.field("archive_status", &self.archive_status);
 1241   1193   
        formatter.field("last_modified", &self.last_modified);
 1242   1194   
        formatter.field("content_length", &self.content_length);
 1243   1195   
        formatter.field("checksum_crc32", &self.checksum_crc32);
 1244   1196   
        formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
 1245   1197   
        formatter.field("checksum_crc64_nvme", &self.checksum_crc64_nvme);
 1246   1198   
        formatter.field("checksum_sha1", &self.checksum_sha1);
 1247   1199   
        formatter.field("checksum_sha256", &self.checksum_sha256);
 1248   1200   
        formatter.field("checksum_type", &self.checksum_type);
 1249   1201   
        formatter.field("e_tag", &self.e_tag);
 1250   1202   
        formatter.field("missing_meta", &self.missing_meta);
 1251   1203   
        formatter.field("version_id", &self.version_id);
 1252   1204   
        formatter.field("cache_control", &self.cache_control);
 1253   1205   
        formatter.field("content_disposition", &self.content_disposition);
 1254   1206   
        formatter.field("content_encoding", &self.content_encoding);
 1255   1207   
        formatter.field("content_language", &self.content_language);
 1256   1208   
        formatter.field("content_type", &self.content_type);
 1257   1209   
        formatter.field("content_range", &self.content_range);
 1258   1210   
        formatter.field("website_redirect_location", &self.website_redirect_location);
 1259   1211   
        formatter.field("server_side_encryption", &self.server_side_encryption);
 1260   1212   
        formatter.field("metadata", &self.metadata);
 1261   1213   
        formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
 1262   1214   
        formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
 1263   1215   
        formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
 1264   1216   
        formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
 1265   1217   
        formatter.field("storage_class", &self.storage_class);
 1266   1218   
        formatter.field("request_charged", &self.request_charged);
 1267   1219   
        formatter.field("replication_status", &self.replication_status);
 1268   1220   
        formatter.field("parts_count", &self.parts_count);
 1269         -
        formatter.field("tag_count", &self.tag_count);
 1270   1221   
        formatter.field("object_lock_mode", &self.object_lock_mode);
 1271   1222   
        formatter.field("object_lock_retain_until_date", &self.object_lock_retain_until_date);
 1272   1223   
        formatter.field("object_lock_legal_hold_status", &self.object_lock_legal_hold_status);
 1273   1224   
        formatter.field("expires", &self.expires);
 1274   1225   
        formatter.field("expires_string", &self.expires_string);
 1275   1226   
        formatter.field("_extended_request_id", &self._extended_request_id);
 1276   1227   
        formatter.field("_request_id", &self._request_id);
 1277   1228   
        formatter.finish()
 1278   1229   
    }
 1279   1230   
}