AWS SDK

AWS SDK

rev. e6785b15a6b118e5a6960c94143c0d982a485bbb (ignoring whitespace)

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.rs

@@ -164,164 +252,243 @@
  184    184   
                    .build(),
  185    185   
            );
  186    186   
  187    187   
        ::std::borrow::Cow::Owned(rcb)
  188    188   
    }
  189    189   
}
  190    190   
  191    191   
#[derive(Debug)]
  192    192   
struct GetObjectResponseDeserializer;
  193    193   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for GetObjectResponseDeserializer {
  194         -
    fn deserialize_streaming(
  195         -
        &self,
  196         -
        response: &mut ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  197         -
    ) -> ::std::option::Option<::aws_smithy_runtime_api::client::interceptors::context::OutputOrError> {
  198         -
        #[allow(unused_mut)]
  199         -
        let mut force_error = false;
  200         -
        ::tracing::debug!(extended_request_id = ?crate::s3_request_id::RequestIdExt::extended_request_id(response));
  201         -
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  202         -
  203         -
        // If this is an error, defer to the non-streaming parser
  204         -
        if (!response.status().is_success() && response.status().as_u16() != 200) || force_error {
  205         -
            return ::std::option::Option::None;
  206         -
        }
  207         -
        ::std::option::Option::Some(crate::protocol_serde::type_erase_result(
  208         -
            crate::protocol_serde::shape_get_object::de_get_object_http_response(response),
  209         -
        ))
  210         -
    }
  211         -
  212    194   
    fn deserialize_nonstreaming(
  213    195   
        &self,
  214    196   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  215    197   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  216         -
        // For streaming operations, we only hit this case if its an error
         198  +
        let (success, status) = (response.status().is_success(), response.status().as_u16());
         199  +
        let headers = response.headers();
  217    200   
        let body = response.body().bytes().expect("body loaded");
  218         -
        crate::protocol_serde::type_erase_result(crate::protocol_serde::shape_get_object::de_get_object_http_error(
  219         -
            response.status().as_u16(),
  220         -
            response.headers(),
  221         -
            body,
  222         -
        ))
         201  +
        #[allow(unused_mut)]
         202  +
        let mut force_error = false;
         203  +
        ::tracing::debug!(extended_request_id = ?crate::s3_request_id::RequestIdExt::extended_request_id(response));
         204  +
        if matches!(crate::rest_xml_unwrapped_errors::body_is_error(body), Ok(true)) {
         205  +
            force_error = true;
         206  +
        }
         207  +
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
         208  +
        let parse_result = if !success && status != 200 || force_error {
         209  +
            crate::protocol_serde::shape_get_object::de_get_object_http_error(status, headers, body)
         210  +
        } else {
         211  +
            crate::protocol_serde::shape_get_object::de_get_object_http_response(status, headers, body)
         212  +
        };
         213  +
        crate::protocol_serde::type_erase_result(parse_result)
  223    214   
    }
  224    215   
}
  225    216   
#[derive(Debug)]
  226    217   
struct GetObjectRequestSerializer;
  227    218   
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for GetObjectRequestSerializer {
  228    219   
    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
  229    220   
    fn serialize_input(
  230    221   
        &self,
  231    222   
        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
  232    223   
        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,

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

@@ -1,1 +36,35 @@
    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::clone::Clone, ::std::cmp::PartialEq)]
    4      5   
pub struct GetObjectOutput {
    5         -
    /// <p>Object data.</p>
    6         -
    pub body: ::aws_smithy_types::byte_stream::ByteStream,
    7      6   
    /// <p>Indicates 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>
    8      7   
    /// <ul>
    9      8   
    /// <li>
   10      9   
    /// <p>If the current version of the object is a delete marker, Amazon S3 behaves as if the object was deleted and includes <code>x-amz-delete-marker: true</code> in the response.</p></li>
   11     10   
    /// <li>
   12     11   
    /// <p>If the specified version in the request is a delete marker, the response returns a <code>405 Method Not Allowed</code> error and the <code>Last-Modified: timestamp</code> response header.</p></li>
   13     12   
    /// </ul>
   14     13   
    /// </note>
   15     14   
    pub delete_marker: ::std::option::Option<bool>,
   16     15   
    /// <p>Indicates that a range of bytes was specified in the request.</p>
@@ -39,38 +160,153 @@
   59     58   
    /// <p>The language the content is in.</p>
   60     59   
    pub content_language: ::std::option::Option<::std::string::String>,
   61     60   
    /// <p>The portion of the object returned in the response.</p>
   62     61   
    pub content_range: ::std::option::Option<::std::string::String>,
   63     62   
    /// <p>A standard MIME type describing the format of the object data.</p>
   64     63   
    pub content_type: ::std::option::Option<::std::string::String>,
   65     64   
    /// <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     65   
    /// <p>This functionality is not supported for directory buckets.</p>
   67     66   
    /// </note>
   68     67   
    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>
          68  +
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3.</p>
   72     69   
    pub server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
   73     70   
    /// <p>A map of metadata to store with the object in S3.</p>
   74     71   
    pub metadata: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
   75     72   
    /// <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     73   
    /// <p>This functionality is not supported for directory buckets.</p>
   77     74   
    /// </note>
   78     75   
    pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
   79     76   
    /// <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     77   
    /// <p>This functionality is not supported for directory buckets.</p>
   81     78   
    /// </note>
   82     79   
    pub sse_customer_key_md5: ::std::option::Option<::std::string::String>,
   83     80   
    /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
   84     81   
    pub ssekms_key_id: ::std::option::Option<::std::string::String>,
   85     82   
    /// <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
   86     83   
    pub bucket_key_enabled: ::std::option::Option<bool>,
   87     84   
    /// <p>Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.</p><note>
   88     85   
    /// <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>
   89     86   
    /// </note>
   90     87   
    pub storage_class: ::std::option::Option<crate::types::StorageClass>,
   91     88   
    /// <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>
   92     89   
    /// <p>This functionality is not supported for directory buckets.</p>
   93     90   
    /// </note>
   94     91   
    pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
   95     92   
    /// <p>Amazon S3 can return this if your request involves a bucket that is either a source or destination in a replication rule.</p><note>
   96     93   
    /// <p>This functionality is not supported for directory buckets.</p>
   97     94   
    /// </note>
   98     95   
    pub replication_status: ::std::option::Option<crate::types::ReplicationStatus>,
   99     96   
    /// <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>
  100     97   
    pub parts_count: ::std::option::Option<i32>,
  101     98   
    /// <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p>
  102     99   
    /// <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>
  103    100   
    /// <p>This functionality is not supported for directory buckets.</p>
  104    101   
    /// </note>
  105    102   
    pub tag_count: ::std::option::Option<i32>,
  106    103   
    /// <p>The Object Lock mode that's currently in place for this object.</p><note>
  107    104   
    /// <p>This functionality is not supported for directory buckets.</p>
  108    105   
    /// </note>
  109    106   
    pub object_lock_mode: ::std::option::Option<crate::types::ObjectLockMode>,
  110    107   
    /// <p>The date and time when this object's Object Lock will expire.</p><note>
  111    108   
    /// <p>This functionality is not supported for directory buckets.</p>
  112    109   
    /// </note>
  113    110   
    pub object_lock_retain_until_date: ::std::option::Option<::aws_smithy_types::DateTime>,
  114    111   
    /// <p>Indicates whether this object has an active legal hold. This field is only returned if you have permission to view an object's legal hold status.</p><note>
  115    112   
    /// <p>This functionality is not supported for directory buckets.</p>
  116    113   
    /// </note>
  117    114   
    pub object_lock_legal_hold_status: ::std::option::Option<crate::types::ObjectLockLegalHoldStatus>,
  118    115   
    /// <p>The date and time at which the object is no longer cacheable.</p>
  119    116   
    #[deprecated(note = "Please use `expires_string` which contains the raw, unparsed value of this field.")]
  120    117   
    pub expires: ::std::option::Option<::aws_smithy_types::DateTime>,
  121    118   
    /// <p>The date and time at which the object is no longer cacheable.</p>
  122    119   
    pub expires_string: ::std::option::Option<::std::string::String>,
  123    120   
    _extended_request_id: Option<String>,
  124    121   
    _request_id: Option<String>,
  125    122   
}
  126    123   
impl GetObjectOutput {
  127         -
    /// <p>Object data.</p>
  128         -
    pub fn body(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
  129         -
        &self.body
  130         -
    }
  131    124   
    /// <p>Indicates 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>
  132    125   
    /// <ul>
  133    126   
    /// <li>
  134    127   
    /// <p>If the current version of the object is a delete marker, Amazon S3 behaves as if the object was deleted and includes <code>x-amz-delete-marker: true</code> in the response.</p></li>
  135    128   
    /// <li>
  136    129   
    /// <p>If the specified version in the request is a delete marker, the response returns a <code>405 Method Not Allowed</code> error and the <code>Last-Modified: timestamp</code> response header.</p></li>
  137    130   
    /// </ul>
  138    131   
    /// </note>
  139    132   
    pub fn delete_marker(&self) -> ::std::option::Option<bool> {
  140    133   
        self.delete_marker
@@ -207,200 +269,260 @@
  227    220   
    /// <p>A standard MIME type describing the format of the object data.</p>
  228    221   
    pub fn content_type(&self) -> ::std::option::Option<&str> {
  229    222   
        self.content_type.as_deref()
  230    223   
    }
  231    224   
    /// <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    225   
    /// <p>This functionality is not supported for directory buckets.</p>
  233    226   
    /// </note>
  234    227   
    pub fn website_redirect_location(&self) -> ::std::option::Option<&str> {
  235    228   
        self.website_redirect_location.as_deref()
  236    229   
    }
  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>
         230  +
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3.</p>
  240    231   
    pub fn server_side_encryption(&self) -> ::std::option::Option<&crate::types::ServerSideEncryption> {
  241    232   
        self.server_side_encryption.as_ref()
  242    233   
    }
  243    234   
    /// <p>A map of metadata to store with the object in S3.</p>
  244    235   
    pub fn metadata(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
  245    236   
        self.metadata.as_ref()
  246    237   
    }
  247    238   
    /// <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    239   
    /// <p>This functionality is not supported for directory buckets.</p>
  249    240   
    /// </note>
@@ -297,288 +357,347 @@
  317    308   
        self.expires.as_ref()
  318    309   
    }
  319    310   
    /// <p>The date and time at which the object is no longer cacheable.</p>
  320    311   
    pub fn expires_string(&self) -> ::std::option::Option<&str> {
  321    312   
        self.expires_string.as_deref()
  322    313   
    }
  323    314   
}
  324    315   
impl ::std::fmt::Debug for GetObjectOutput {
  325    316   
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  326    317   
        let mut formatter = f.debug_struct("GetObjectOutput");
  327         -
        formatter.field("body", &self.body);
  328    318   
        formatter.field("delete_marker", &self.delete_marker);
  329    319   
        formatter.field("accept_ranges", &self.accept_ranges);
  330    320   
        formatter.field("expiration", &self.expiration);
  331    321   
        formatter.field("restore", &self.restore);
  332    322   
        formatter.field("last_modified", &self.last_modified);
  333    323   
        formatter.field("content_length", &self.content_length);
  334    324   
        formatter.field("e_tag", &self.e_tag);
  335    325   
        formatter.field("checksum_crc32", &self.checksum_crc32);
  336    326   
        formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
  337    327   
        formatter.field("checksum_crc64_nvme", &self.checksum_crc64_nvme);
@@ -359,349 +478,453 @@
  379    369   
    }
  380    370   
}
  381    371   
impl GetObjectOutput {
  382    372   
    /// Creates a new builder-style object to manufacture [`GetObjectOutput`](crate::operation::get_object::GetObjectOutput).
  383    373   
    pub fn builder() -> crate::operation::get_object::builders::GetObjectOutputBuilder {
  384    374   
        crate::operation::get_object::builders::GetObjectOutputBuilder::default()
  385    375   
    }
  386    376   
}
  387    377   
  388    378   
/// A builder for [`GetObjectOutput`](crate::operation::get_object::GetObjectOutput).
  389         -
#[derive(::std::default::Default)]
         379  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
  390    380   
#[non_exhaustive]
  391    381   
pub struct GetObjectOutputBuilder {
  392         -
    pub(crate) body: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
  393    382   
    pub(crate) delete_marker: ::std::option::Option<bool>,
  394    383   
    pub(crate) accept_ranges: ::std::option::Option<::std::string::String>,
  395    384   
    pub(crate) expiration: ::std::option::Option<::std::string::String>,
  396    385   
    pub(crate) restore: ::std::option::Option<::std::string::String>,
  397    386   
    pub(crate) last_modified: ::std::option::Option<::aws_smithy_types::DateTime>,
  398    387   
    pub(crate) content_length: ::std::option::Option<i64>,
  399    388   
    pub(crate) e_tag: ::std::option::Option<::std::string::String>,
  400    389   
    pub(crate) checksum_crc32: ::std::option::Option<::std::string::String>,
  401    390   
    pub(crate) checksum_crc32_c: ::std::option::Option<::std::string::String>,
  402    391   
    pub(crate) checksum_crc64_nvme: ::std::option::Option<::std::string::String>,
  403    392   
    pub(crate) checksum_sha1: ::std::option::Option<::std::string::String>,
  404    393   
    pub(crate) checksum_sha256: ::std::option::Option<::std::string::String>,
  405    394   
    pub(crate) checksum_type: ::std::option::Option<crate::types::ChecksumType>,
  406    395   
    pub(crate) missing_meta: ::std::option::Option<i32>,
  407    396   
    pub(crate) version_id: ::std::option::Option<::std::string::String>,
  408    397   
    pub(crate) cache_control: ::std::option::Option<::std::string::String>,
  409    398   
    pub(crate) content_disposition: ::std::option::Option<::std::string::String>,
  410    399   
    pub(crate) content_encoding: ::std::option::Option<::std::string::String>,
  411    400   
    pub(crate) content_language: ::std::option::Option<::std::string::String>,
  412    401   
    pub(crate) content_range: ::std::option::Option<::std::string::String>,
  413    402   
    pub(crate) content_type: ::std::option::Option<::std::string::String>,
  414    403   
    pub(crate) website_redirect_location: ::std::option::Option<::std::string::String>,
  415    404   
    pub(crate) server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
  416    405   
    pub(crate) metadata: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
  417    406   
    pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
  418    407   
    pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
  419    408   
    pub(crate) ssekms_key_id: ::std::option::Option<::std::string::String>,
  420    409   
    pub(crate) bucket_key_enabled: ::std::option::Option<bool>,
  421    410   
    pub(crate) storage_class: ::std::option::Option<crate::types::StorageClass>,
  422    411   
    pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
  423    412   
    pub(crate) replication_status: ::std::option::Option<crate::types::ReplicationStatus>,
  424    413   
    pub(crate) parts_count: ::std::option::Option<i32>,
  425    414   
    pub(crate) tag_count: ::std::option::Option<i32>,
  426    415   
    pub(crate) object_lock_mode: ::std::option::Option<crate::types::ObjectLockMode>,
  427    416   
    pub(crate) object_lock_retain_until_date: ::std::option::Option<::aws_smithy_types::DateTime>,
  428    417   
    pub(crate) object_lock_legal_hold_status: ::std::option::Option<crate::types::ObjectLockLegalHoldStatus>,
  429    418   
    pub(crate) expires: ::std::option::Option<::aws_smithy_types::DateTime>,
  430    419   
    pub(crate) expires_string: ::std::option::Option<::std::string::String>,
  431    420   
    _extended_request_id: Option<String>,
  432    421   
    _request_id: Option<String>,
  433    422   
}
  434    423   
impl GetObjectOutputBuilder {
  435         -
    /// <p>Object data.</p>
  436         -
    pub fn body(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
  437         -
        self.body = ::std::option::Option::Some(input);
  438         -
        self
  439         -
    }
  440         -
    /// <p>Object data.</p>
  441         -
    pub fn set_body(mut self, input: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>) -> Self {
  442         -
        self.body = input;
  443         -
        self
  444         -
    }
  445         -
    /// <p>Object data.</p>
  446         -
    pub fn get_body(&self) -> &::std::option::Option<::aws_smithy_types::byte_stream::ByteStream> {
  447         -
        &self.body
  448         -
    }
  449    424   
    /// <p>Indicates 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>
  450    425   
    /// <ul>
  451    426   
    /// <li>
  452    427   
    /// <p>If the current version of the object is a delete marker, Amazon S3 behaves as if the object was deleted and includes <code>x-amz-delete-marker: true</code> in the response.</p></li>
  453    428   
    /// <li>
  454    429   
    /// <p>If the specified version in the request is a delete marker, the response returns a <code>405 Method Not Allowed</code> error and the <code>Last-Modified: timestamp</code> response header.</p></li>
  455    430   
    /// </ul>
  456    431   
    /// </note>
  457    432   
    pub fn delete_marker(mut self, input: bool) -> Self {
  458    433   
        self.delete_marker = ::std::option::Option::Some(input);
@@ -781,756 +857,826 @@
  801    776   
    pub fn set_website_redirect_location(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  802    777   
        self.website_redirect_location = input;
  803    778   
        self
  804    779   
    }
  805    780   
    /// <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    781   
    /// <p>This functionality is not supported for directory buckets.</p>
  807    782   
    /// </note>
  808    783   
    pub fn get_website_redirect_location(&self) -> &::std::option::Option<::std::string::String> {
  809    784   
        &self.website_redirect_location
  810    785   
    }
  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>
         786  +
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3.</p>
  814    787   
    pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
  815    788   
        self.server_side_encryption = ::std::option::Option::Some(input);
  816    789   
        self
  817    790   
    }
  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>
         791  +
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3.</p>
  821    792   
    pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
  822    793   
        self.server_side_encryption = input;
  823    794   
        self
  824    795   
    }
  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>
         796  +
    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3.</p>
  828    797   
    pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
  829    798   
        &self.server_side_encryption
  830    799   
    }
  831    800   
    /// Adds a key-value pair to `metadata`.
  832    801   
    ///
  833    802   
    /// To override the contents of this collection use [`set_metadata`](Self::set_metadata).
  834    803   
    ///
  835    804   
    /// <p>A map of metadata to store with the object in S3.</p>
  836    805   
    pub fn metadata(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
  837    806   
        let mut hash_map = self.metadata.unwrap_or_default();
@@ -1098,1067 +1205,1172 @@
 1118   1087   
        self
 1119   1088   
    }
 1120   1089   
 1121   1090   
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
 1122   1091   
        self._request_id = request_id;
 1123   1092   
        self
 1124   1093   
    }
 1125   1094   
    /// Consumes the builder and constructs a [`GetObjectOutput`](crate::operation::get_object::GetObjectOutput).
 1126   1095   
    pub fn build(self) -> crate::operation::get_object::GetObjectOutput {
 1127   1096   
        crate::operation::get_object::GetObjectOutput {
 1128         -
            body: self.body.unwrap_or_default(),
 1129   1097   
            delete_marker: self.delete_marker,
 1130   1098   
            accept_ranges: self.accept_ranges,
 1131   1099   
            expiration: self.expiration,
 1132   1100   
            restore: self.restore,
 1133   1101   
            last_modified: self.last_modified,
 1134   1102   
            content_length: self.content_length,
 1135   1103   
            e_tag: self.e_tag,
 1136   1104   
            checksum_crc32: self.checksum_crc32,
 1137   1105   
            checksum_crc32_c: self.checksum_crc32_c,
 1138   1106   
            checksum_crc64_nvme: self.checksum_crc64_nvme,
 1139   1107   
            checksum_sha1: self.checksum_sha1,
 1140   1108   
            checksum_sha256: self.checksum_sha256,
 1141   1109   
            checksum_type: self.checksum_type,
 1142   1110   
            missing_meta: self.missing_meta,
 1143   1111   
            version_id: self.version_id,
 1144   1112   
            cache_control: self.cache_control,
 1145   1113   
            content_disposition: self.content_disposition,
 1146   1114   
            content_encoding: self.content_encoding,
 1147   1115   
            content_language: self.content_language,
 1148   1116   
            content_range: self.content_range,
 1149   1117   
            content_type: self.content_type,
 1150   1118   
            website_redirect_location: self.website_redirect_location,
 1151   1119   
            server_side_encryption: self.server_side_encryption,
 1152   1120   
            metadata: self.metadata,
 1153   1121   
            sse_customer_algorithm: self.sse_customer_algorithm,
 1154   1122   
            sse_customer_key_md5: self.sse_customer_key_md5,
 1155   1123   
            ssekms_key_id: self.ssekms_key_id,
 1156   1124   
            bucket_key_enabled: self.bucket_key_enabled,
 1157   1125   
            storage_class: self.storage_class,
 1158   1126   
            request_charged: self.request_charged,
 1159   1127   
            replication_status: self.replication_status,
 1160   1128   
            parts_count: self.parts_count,
 1161   1129   
            tag_count: self.tag_count,
 1162   1130   
            object_lock_mode: self.object_lock_mode,
 1163   1131   
            object_lock_retain_until_date: self.object_lock_retain_until_date,
 1164   1132   
            object_lock_legal_hold_status: self.object_lock_legal_hold_status,
 1165   1133   
            expires: self.expires,
 1166   1134   
            expires_string: self.expires_string,
 1167   1135   
            _extended_request_id: self._extended_request_id,
 1168   1136   
            _request_id: self._request_id,
 1169   1137   
        }
 1170   1138   
    }
 1171   1139   
}
 1172   1140   
impl ::std::fmt::Debug for GetObjectOutputBuilder {
 1173   1141   
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
 1174   1142   
        let mut formatter = f.debug_struct("GetObjectOutputBuilder");
 1175         -
        formatter.field("body", &self.body);
 1176   1143   
        formatter.field("delete_marker", &self.delete_marker);
 1177   1144   
        formatter.field("accept_ranges", &self.accept_ranges);
 1178   1145   
        formatter.field("expiration", &self.expiration);
 1179   1146   
        formatter.field("restore", &self.restore);
 1180   1147   
        formatter.field("last_modified", &self.last_modified);
 1181   1148   
        formatter.field("content_length", &self.content_length);
 1182   1149   
        formatter.field("e_tag", &self.e_tag);
 1183   1150   
        formatter.field("checksum_crc32", &self.checksum_crc32);
 1184   1151   
        formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
 1185   1152   
        formatter.field("checksum_crc64_nvme", &self.checksum_crc64_nvme);

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   
}