AWS SDK

AWS SDK

rev. e063993ca0ab793f44c575dbe707d50a5e3e2406 (ignoring whitespace)

Files changed:

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

@@ -1,1 +40,45 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Orchestration and serialization glue logic for `PutBucketRequestPayment`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct PutBucketRequestPayment;
    6      6   
impl PutBucketRequestPayment {
    7      7   
    /// Creates a new `PutBucketRequestPayment`
    8      8   
    pub fn new() -> Self {
    9      9   
        Self
   10     10   
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::put_bucket_request_payment::PutBucketRequestPaymentInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          15  +
        crate::operation::put_bucket_request_payment::PutBucketRequestPaymentOutput::SCHEMA;
   11     16   
    pub(crate) async fn orchestrate(
   12     17   
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13     18   
        input: crate::operation::put_bucket_request_payment::PutBucketRequestPaymentInput,
   14     19   
    ) -> ::std::result::Result<
   15     20   
        crate::operation::put_bucket_request_payment::PutBucketRequestPaymentOutput,
   16     21   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     22   
            crate::operation::put_bucket_request_payment::PutBucketRequestPaymentError,
   18     23   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     24   
        >,
   20     25   
    > {
@@ -186,191 +248,254 @@
  206    211   
                .build(),
  207    212   
            );
  208    213   
  209    214   
        ::std::borrow::Cow::Owned(rcb)
  210    215   
    }
  211    216   
}
  212    217   
  213    218   
#[derive(Debug)]
  214    219   
struct PutBucketRequestPaymentResponseDeserializer;
  215    220   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for PutBucketRequestPaymentResponseDeserializer {
  216         -
    fn deserialize_nonstreaming(
         221  +
    fn deserialize_nonstreaming_with_config(
  217    222   
        &self,
  218    223   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         224  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  219    225   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  220    226   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  221    227   
        let headers = response.headers();
  222    228   
        let body = response.body().bytes().expect("body loaded");
  223    229   
        #[allow(unused_mut)]
  224    230   
        let mut force_error = false;
  225    231   
        ::tracing::debug!(extended_request_id = ?crate::s3_request_id::RequestIdExt::extended_request_id(response));
  226    232   
        if matches!(crate::rest_xml_unwrapped_errors::body_is_error(body), Ok(true)) {
  227    233   
            force_error = true;
  228    234   
        }

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

@@ -25,25 +207,238 @@
   45     45   
    "com.amazonaws.s3.synthetic",
   46     46   
    "PutBucketRequestPaymentInput",
   47     47   
);
   48     48   
static PUTBUCKETREQUESTPAYMENTINPUT_MEMBER_BUCKET: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   49     49   
    ::aws_smithy_schema::ShapeId::from_static(
   50     50   
        "com.amazonaws.s3.synthetic#PutBucketRequestPaymentInput$Bucket",
   51     51   
        "com.amazonaws.s3.synthetic",
   52     52   
        "PutBucketRequestPaymentInput",
   53     53   
    ),
   54     54   
    ::aws_smithy_schema::ShapeType::String,
   55         -
    "bucket",
          55  +
    "Bucket",
   56     56   
    0,
   57     57   
)
   58     58   
.with_http_label();
   59     59   
static PUTBUCKETREQUESTPAYMENTINPUT_MEMBER_CONTENT_MD5: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   60     60   
    ::aws_smithy_schema::ShapeId::from_static(
   61     61   
        "com.amazonaws.s3.synthetic#PutBucketRequestPaymentInput$ContentMD5",
   62     62   
        "com.amazonaws.s3.synthetic",
   63     63   
        "PutBucketRequestPaymentInput",
   64     64   
    ),
   65     65   
    ::aws_smithy_schema::ShapeType::String,
   66         -
    "content_md5",
          66  +
    "ContentMD5",
   67     67   
    1,
   68     68   
)
   69     69   
.with_http_header("Content-MD5");
   70     70   
static PUTBUCKETREQUESTPAYMENTINPUT_MEMBER_CHECKSUM_ALGORITHM: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   71     71   
    ::aws_smithy_schema::ShapeId::from_static(
   72     72   
        "com.amazonaws.s3.synthetic#PutBucketRequestPaymentInput$ChecksumAlgorithm",
   73     73   
        "com.amazonaws.s3.synthetic",
   74     74   
        "PutBucketRequestPaymentInput",
   75     75   
    ),
   76     76   
    ::aws_smithy_schema::ShapeType::String,
   77         -
    "checksum_algorithm",
          77  +
    "ChecksumAlgorithm",
   78     78   
    2,
   79     79   
)
   80     80   
.with_http_header("x-amz-sdk-checksum-algorithm");
   81     81   
static PUTBUCKETREQUESTPAYMENTINPUT_MEMBER_REQUEST_PAYMENT_CONFIGURATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   82     82   
    ::aws_smithy_schema::ShapeId::from_static(
   83     83   
        "com.amazonaws.s3.synthetic#PutBucketRequestPaymentInput$RequestPaymentConfiguration",
   84     84   
        "com.amazonaws.s3.synthetic",
   85     85   
        "PutBucketRequestPaymentInput",
   86     86   
    ),
   87     87   
    ::aws_smithy_schema::ShapeType::Structure,
   88         -
    "request_payment_configuration",
          88  +
    "RequestPaymentConfiguration",
   89     89   
    3,
   90     90   
)
   91     91   
.with_xml_name("RequestPaymentConfiguration")
   92     92   
.with_http_payload();
   93     93   
static PUTBUCKETREQUESTPAYMENTINPUT_MEMBER_EXPECTED_BUCKET_OWNER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   94     94   
    ::aws_smithy_schema::ShapeId::from_static(
   95     95   
        "com.amazonaws.s3.synthetic#PutBucketRequestPaymentInput$ExpectedBucketOwner",
   96     96   
        "com.amazonaws.s3.synthetic",
   97     97   
        "PutBucketRequestPaymentInput",
   98     98   
    ),
   99     99   
    ::aws_smithy_schema::ShapeType::String,
  100         -
    "expected_bucket_owner",
         100  +
    "ExpectedBucketOwner",
  101    101   
    4,
  102    102   
)
  103    103   
.with_http_header("x-amz-expected-bucket-owner");
  104    104   
static PUTBUCKETREQUESTPAYMENTINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  105    105   
    PUTBUCKETREQUESTPAYMENTINPUT_SCHEMA_ID,
  106    106   
    ::aws_smithy_schema::ShapeType::Structure,
  107    107   
    &[
  108    108   
        &PUTBUCKETREQUESTPAYMENTINPUT_MEMBER_BUCKET,
  109    109   
        &PUTBUCKETREQUESTPAYMENTINPUT_MEMBER_CONTENT_MD5,
  110    110   
        &PUTBUCKETREQUESTPAYMENTINPUT_MEMBER_CHECKSUM_ALGORITHM,
  111    111   
        &PUTBUCKETREQUESTPAYMENTINPUT_MEMBER_REQUEST_PAYMENT_CONFIGURATION,
  112    112   
        &PUTBUCKETREQUESTPAYMENTINPUT_MEMBER_EXPECTED_BUCKET_OWNER,
  113    113   
    ],
  114         -
);
         114  +
)
         115  +
.with_http(aws_smithy_schema::traits::HttpTrait::new("PUT", "/?requestPayment", None));
  115    116   
impl PutBucketRequestPaymentInput {
  116    117   
    /// The schema for this shape.
  117    118   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &PUTBUCKETREQUESTPAYMENTINPUT_SCHEMA;
  118    119   
}
  119    120   
impl ::aws_smithy_schema::serde::SerializableStruct for PutBucketRequestPaymentInput {
  120    121   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  121    122   
    fn serialize_members(
  122    123   
        &self,
  123    124   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  124    125   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  125    126   
        if let Some(ref val) = self.bucket {
  126    127   
            ser.write_string(&PUTBUCKETREQUESTPAYMENTINPUT_MEMBER_BUCKET, val)?;
  127    128   
        }
  128    129   
        if let Some(ref val) = self.content_md5 {
  129    130   
            ser.write_string(&PUTBUCKETREQUESTPAYMENTINPUT_MEMBER_CONTENT_MD5, val)?;
  130    131   
        }
  131    132   
        if let Some(ref val) = self.checksum_algorithm {
  132    133   
            ser.write_string(&PUTBUCKETREQUESTPAYMENTINPUT_MEMBER_CHECKSUM_ALGORITHM, val.as_str())?;
  133    134   
        }
  134    135   
        if let Some(ref val) = self.request_payment_configuration {
  135    136   
            ser.write_struct(&PUTBUCKETREQUESTPAYMENTINPUT_MEMBER_REQUEST_PAYMENT_CONFIGURATION, val)?;
  136    137   
        }
  137    138   
        if let Some(ref val) = self.expected_bucket_owner {
  138    139   
            ser.write_string(&PUTBUCKETREQUESTPAYMENTINPUT_MEMBER_EXPECTED_BUCKET_OWNER, val)?;
  139    140   
        }
  140    141   
        Ok(())
  141    142   
    }
  142    143   
}
  143    144   
impl PutBucketRequestPaymentInput {
  144    145   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  145         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  146         -
        deserializer: &mut D,
         146  +
    pub fn deserialize(
         147  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  147    148   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  148    149   
        #[allow(unused_variables, unused_mut)]
  149    150   
        let mut builder = Self::builder();
  150    151   
        #[allow(
  151    152   
            unused_variables,
  152    153   
            unreachable_code,
  153    154   
            clippy::single_match,
  154    155   
            clippy::match_single_binding,
  155    156   
            clippy::diverging_sub_expression
  156    157   
        )]
  157         -
        deserializer.read_struct(&PUTBUCKETREQUESTPAYMENTINPUT_SCHEMA, (), |_, member, deser| {
         158  +
        deserializer.read_struct(&PUTBUCKETREQUESTPAYMENTINPUT_SCHEMA, &mut |member, deser| {
  158    159   
            match member.member_index() {
  159    160   
                Some(0) => {
  160    161   
                    builder.bucket = Some(deser.read_string(member)?);
  161    162   
                }
  162    163   
                Some(1) => {
  163    164   
                    builder.content_md5 = Some(deser.read_string(member)?);
  164    165   
                }
  165    166   
                Some(2) => {
  166    167   
                    builder.checksum_algorithm = Some(crate::types::ChecksumAlgorithm::from(deser.read_string(member)?.as_str()));
  167    168   
                }
  168    169   
                Some(3) => {
  169    170   
                    builder.request_payment_configuration = Some(crate::types::RequestPaymentConfiguration::deserialize(deser)?);
  170    171   
                }
  171    172   
                Some(4) => {
  172    173   
                    builder.expected_bucket_owner = Some(deser.read_string(member)?);
  173    174   
                }
  174    175   
                _ => {}
  175    176   
            }
  176    177   
            Ok(())
  177    178   
        })?;
         179  +
        builder.bucket = builder.bucket.or(Some(String::new()));
         180  +
        builder
         181  +
            .build()
         182  +
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
         183  +
    }
         184  +
}
         185  +
impl PutBucketRequestPaymentInput {
         186  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         187  +
    /// Header-bound members are read directly from headers, avoiding runtime
         188  +
    /// member iteration overhead. Body members are read via the deserializer.
         189  +
    pub fn deserialize_with_response(
         190  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         191  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         192  +
        _status: u16,
         193  +
        body: &[u8],
         194  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         195  +
        #[allow(unused_variables, unused_mut)]
         196  +
        let mut builder = Self::builder();
         197  +
        if let Some(val) = headers.get("Content-MD5") {
         198  +
            builder.content_md5 = Some(val.to_string());
         199  +
        }
         200  +
        if let Some(val) = headers.get("x-amz-sdk-checksum-algorithm") {
         201  +
            builder.checksum_algorithm = Some(crate::types::ChecksumAlgorithm::from(val));
         202  +
        }
         203  +
        if let Some(val) = headers.get("x-amz-expected-bucket-owner") {
         204  +
            builder.expected_bucket_owner = Some(val.to_string());
         205  +
        }
         206  +
        if !body.is_empty() {
         207  +
            builder.request_payment_configuration = Some(crate::types::RequestPaymentConfiguration::deserialize(deserializer)?);
         208  +
        }
  178    209   
        builder
  179    210   
            .build()
  180    211   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  181    212   
    }
  182    213   
}
  183    214   
impl PutBucketRequestPaymentInput {
  184    215   
    /// Creates a new builder-style object to manufacture [`PutBucketRequestPaymentInput`](crate::operation::put_bucket_request_payment::PutBucketRequestPaymentInput).
  185    216   
    pub fn builder() -> crate::operation::put_bucket_request_payment::builders::PutBucketRequestPaymentInputBuilder {
  186    217   
        crate::operation::put_bucket_request_payment::builders::PutBucketRequestPaymentInputBuilder::default()
  187    218   
    }

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

@@ -1,1 +81,112 @@
    4      4   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5      5   
pub struct PutBucketRequestPaymentOutput {
    6      6   
    _extended_request_id: Option<String>,
    7      7   
    _request_id: Option<String>,
    8      8   
}
    9      9   
static PUTBUCKETREQUESTPAYMENTOUTPUT_SCHEMA_ID: ::aws_smithy_schema::ShapeId = ::aws_smithy_schema::ShapeId::from_static(
   10     10   
    "com.amazonaws.s3.synthetic#PutBucketRequestPaymentOutput",
   11     11   
    "com.amazonaws.s3.synthetic",
   12     12   
    "PutBucketRequestPaymentOutput",
   13     13   
);
   14         -
static PUTBUCKETREQUESTPAYMENTOUTPUT_SCHEMA: ::aws_smithy_schema::Schema =
   15         -
    ::aws_smithy_schema::Schema::new_struct(PUTBUCKETREQUESTPAYMENTOUTPUT_SCHEMA_ID, ::aws_smithy_schema::ShapeType::Structure, &[]);
          14  +
static PUTBUCKETREQUESTPAYMENTOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
          15  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
          16  +
    ::aws_smithy_schema::ShapeType::String,
          17  +
    "request_id",
          18  +
    0,
          19  +
)
          20  +
.with_http_header("x-amzn-requestid");
          21  +
static PUTBUCKETREQUESTPAYMENTOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
          22  +
    PUTBUCKETREQUESTPAYMENTOUTPUT_SCHEMA_ID,
          23  +
    ::aws_smithy_schema::ShapeType::Structure,
          24  +
    &[&PUTBUCKETREQUESTPAYMENTOUTPUT_MEMBER__REQUEST_ID],
          25  +
);
   16     26   
impl PutBucketRequestPaymentOutput {
   17     27   
    /// The schema for this shape.
   18     28   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &PUTBUCKETREQUESTPAYMENTOUTPUT_SCHEMA;
   19     29   
}
   20     30   
impl ::aws_smithy_schema::serde::SerializableStruct for PutBucketRequestPaymentOutput {
   21     31   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   22     32   
    fn serialize_members(
   23     33   
        &self,
   24     34   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   25     35   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   26     36   
        Ok(())
   27     37   
    }
   28     38   
}
   29     39   
impl PutBucketRequestPaymentOutput {
   30     40   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   31         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   32         -
        deserializer: &mut D,
          41  +
    pub fn deserialize(
          42  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   33     43   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   34     44   
        #[allow(unused_variables, unused_mut)]
   35     45   
        let mut builder = Self::builder();
   36     46   
        #[allow(
   37     47   
            unused_variables,
   38     48   
            unreachable_code,
   39     49   
            clippy::single_match,
   40     50   
            clippy::match_single_binding,
   41     51   
            clippy::diverging_sub_expression
   42     52   
        )]
   43         -
        deserializer.read_struct(&PUTBUCKETREQUESTPAYMENTOUTPUT_SCHEMA, (), |_, member, deser| {
          53  +
        deserializer.read_struct(&PUTBUCKETREQUESTPAYMENTOUTPUT_SCHEMA, &mut |member, deser| {
   44     54   
            match member.member_index() {
          55  +
                Some(0) => {
          56  +
                    builder._request_id = Some(deser.read_string(member)?);
          57  +
                }
   45     58   
                _ => {}
   46     59   
            }
   47     60   
            Ok(())
   48     61   
        })?;
   49     62   
        Ok(builder.build())
   50     63   
    }
   51     64   
}
          65  +
impl PutBucketRequestPaymentOutput {
          66  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
          67  +
    /// Header-bound members are read directly from headers, avoiding runtime
          68  +
    /// member iteration overhead. Body members are read via the deserializer.
          69  +
    pub fn deserialize_with_response(
          70  +
        _deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          71  +
        headers: &::aws_smithy_runtime_api::http::Headers,
          72  +
        _status: u16,
          73  +
        _body: &[u8],
          74  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          75  +
        #[allow(unused_variables, unused_mut)]
          76  +
        let mut builder = Self::builder();
          77  +
        if let Some(val) = headers.get("x-amzn-requestid") {
          78  +
            builder._request_id = Some(val.to_string());
          79  +
        }
          80  +
        Ok(builder.build())
          81  +
    }
          82  +
}
   52     83   
impl crate::s3_request_id::RequestIdExt for PutBucketRequestPaymentOutput {
   53     84   
    fn extended_request_id(&self) -> Option<&str> {
   54     85   
        self._extended_request_id.as_deref()
   55     86   
    }
   56     87   
}
   57     88   
impl ::aws_types::request_id::RequestId for PutBucketRequestPaymentOutput {
   58     89   
    fn request_id(&self) -> Option<&str> {
   59     90   
        self._request_id.as_deref()
   60     91   
    }
   61     92   
}

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

@@ -1,1 +40,44 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Orchestration and serialization glue logic for `PutBucketTagging`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct PutBucketTagging;
    6      6   
impl PutBucketTagging {
    7      7   
    /// Creates a new `PutBucketTagging`
    8      8   
    pub fn new() -> Self {
    9      9   
        Self
   10     10   
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::put_bucket_tagging::PutBucketTaggingInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::put_bucket_tagging::PutBucketTaggingOutput::SCHEMA;
   11     15   
    pub(crate) async fn orchestrate(
   12     16   
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13     17   
        input: crate::operation::put_bucket_tagging::PutBucketTaggingInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::put_bucket_tagging::PutBucketTaggingOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::put_bucket_tagging::PutBucketTaggingError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -180,184 +242,247 @@
  200    204   
                    .build(),
  201    205   
            );
  202    206   
  203    207   
        ::std::borrow::Cow::Owned(rcb)
  204    208   
    }
  205    209   
}
  206    210   
  207    211   
#[derive(Debug)]
  208    212   
struct PutBucketTaggingResponseDeserializer;
  209    213   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for PutBucketTaggingResponseDeserializer {
  210         -
    fn deserialize_nonstreaming(
         214  +
    fn deserialize_nonstreaming_with_config(
  211    215   
        &self,
  212    216   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         217  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  213    218   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  214    219   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  215    220   
        let headers = response.headers();
  216    221   
        let body = response.body().bytes().expect("body loaded");
  217    222   
        #[allow(unused_mut)]
  218    223   
        let mut force_error = false;
  219    224   
        ::tracing::debug!(extended_request_id = ?crate::s3_request_id::RequestIdExt::extended_request_id(response));
  220    225   
        if matches!(crate::rest_xml_unwrapped_errors::body_is_error(body), Ok(true)) {
  221    226   
            force_error = true;
  222    227   
        }

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

@@ -25,25 +207,238 @@
   45     45   
    "com.amazonaws.s3.synthetic",
   46     46   
    "PutBucketTaggingInput",
   47     47   
);
   48     48   
static PUTBUCKETTAGGINGINPUT_MEMBER_BUCKET: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   49     49   
    ::aws_smithy_schema::ShapeId::from_static(
   50     50   
        "com.amazonaws.s3.synthetic#PutBucketTaggingInput$Bucket",
   51     51   
        "com.amazonaws.s3.synthetic",
   52     52   
        "PutBucketTaggingInput",
   53     53   
    ),
   54     54   
    ::aws_smithy_schema::ShapeType::String,
   55         -
    "bucket",
          55  +
    "Bucket",
   56     56   
    0,
   57     57   
)
   58     58   
.with_http_label();
   59     59   
static PUTBUCKETTAGGINGINPUT_MEMBER_CONTENT_MD5: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   60     60   
    ::aws_smithy_schema::ShapeId::from_static(
   61     61   
        "com.amazonaws.s3.synthetic#PutBucketTaggingInput$ContentMD5",
   62     62   
        "com.amazonaws.s3.synthetic",
   63     63   
        "PutBucketTaggingInput",
   64     64   
    ),
   65     65   
    ::aws_smithy_schema::ShapeType::String,
   66         -
    "content_md5",
          66  +
    "ContentMD5",
   67     67   
    1,
   68     68   
)
   69     69   
.with_http_header("Content-MD5");
   70     70   
static PUTBUCKETTAGGINGINPUT_MEMBER_CHECKSUM_ALGORITHM: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   71     71   
    ::aws_smithy_schema::ShapeId::from_static(
   72     72   
        "com.amazonaws.s3.synthetic#PutBucketTaggingInput$ChecksumAlgorithm",
   73     73   
        "com.amazonaws.s3.synthetic",
   74     74   
        "PutBucketTaggingInput",
   75     75   
    ),
   76     76   
    ::aws_smithy_schema::ShapeType::String,
   77         -
    "checksum_algorithm",
          77  +
    "ChecksumAlgorithm",
   78     78   
    2,
   79     79   
)
   80     80   
.with_http_header("x-amz-sdk-checksum-algorithm");
   81     81   
static PUTBUCKETTAGGINGINPUT_MEMBER_TAGGING: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   82     82   
    ::aws_smithy_schema::ShapeId::from_static(
   83     83   
        "com.amazonaws.s3.synthetic#PutBucketTaggingInput$Tagging",
   84     84   
        "com.amazonaws.s3.synthetic",
   85     85   
        "PutBucketTaggingInput",
   86     86   
    ),
   87     87   
    ::aws_smithy_schema::ShapeType::Structure,
   88         -
    "tagging",
          88  +
    "Tagging",
   89     89   
    3,
   90     90   
)
   91     91   
.with_xml_name("Tagging")
   92     92   
.with_http_payload();
   93     93   
static PUTBUCKETTAGGINGINPUT_MEMBER_EXPECTED_BUCKET_OWNER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   94     94   
    ::aws_smithy_schema::ShapeId::from_static(
   95     95   
        "com.amazonaws.s3.synthetic#PutBucketTaggingInput$ExpectedBucketOwner",
   96     96   
        "com.amazonaws.s3.synthetic",
   97     97   
        "PutBucketTaggingInput",
   98     98   
    ),
   99     99   
    ::aws_smithy_schema::ShapeType::String,
  100         -
    "expected_bucket_owner",
         100  +
    "ExpectedBucketOwner",
  101    101   
    4,
  102    102   
)
  103    103   
.with_http_header("x-amz-expected-bucket-owner");
  104    104   
static PUTBUCKETTAGGINGINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  105    105   
    PUTBUCKETTAGGINGINPUT_SCHEMA_ID,
  106    106   
    ::aws_smithy_schema::ShapeType::Structure,
  107    107   
    &[
  108    108   
        &PUTBUCKETTAGGINGINPUT_MEMBER_BUCKET,
  109    109   
        &PUTBUCKETTAGGINGINPUT_MEMBER_CONTENT_MD5,
  110    110   
        &PUTBUCKETTAGGINGINPUT_MEMBER_CHECKSUM_ALGORITHM,
  111    111   
        &PUTBUCKETTAGGINGINPUT_MEMBER_TAGGING,
  112    112   
        &PUTBUCKETTAGGINGINPUT_MEMBER_EXPECTED_BUCKET_OWNER,
  113    113   
    ],
  114         -
);
         114  +
)
         115  +
.with_http(aws_smithy_schema::traits::HttpTrait::new("PUT", "/?tagging", None));
  115    116   
impl PutBucketTaggingInput {
  116    117   
    /// The schema for this shape.
  117    118   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &PUTBUCKETTAGGINGINPUT_SCHEMA;
  118    119   
}
  119    120   
impl ::aws_smithy_schema::serde::SerializableStruct for PutBucketTaggingInput {
  120    121   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  121    122   
    fn serialize_members(
  122    123   
        &self,
  123    124   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  124    125   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  125    126   
        if let Some(ref val) = self.bucket {
  126    127   
            ser.write_string(&PUTBUCKETTAGGINGINPUT_MEMBER_BUCKET, val)?;
  127    128   
        }
  128    129   
        if let Some(ref val) = self.content_md5 {
  129    130   
            ser.write_string(&PUTBUCKETTAGGINGINPUT_MEMBER_CONTENT_MD5, val)?;
  130    131   
        }
  131    132   
        if let Some(ref val) = self.checksum_algorithm {
  132    133   
            ser.write_string(&PUTBUCKETTAGGINGINPUT_MEMBER_CHECKSUM_ALGORITHM, val.as_str())?;
  133    134   
        }
  134    135   
        if let Some(ref val) = self.tagging {
  135    136   
            ser.write_struct(&PUTBUCKETTAGGINGINPUT_MEMBER_TAGGING, val)?;
  136    137   
        }
  137    138   
        if let Some(ref val) = self.expected_bucket_owner {
  138    139   
            ser.write_string(&PUTBUCKETTAGGINGINPUT_MEMBER_EXPECTED_BUCKET_OWNER, val)?;
  139    140   
        }
  140    141   
        Ok(())
  141    142   
    }
  142    143   
}
  143    144   
impl PutBucketTaggingInput {
  144    145   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  145         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  146         -
        deserializer: &mut D,
         146  +
    pub fn deserialize(
         147  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  147    148   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  148    149   
        #[allow(unused_variables, unused_mut)]
  149    150   
        let mut builder = Self::builder();
  150    151   
        #[allow(
  151    152   
            unused_variables,
  152    153   
            unreachable_code,
  153    154   
            clippy::single_match,
  154    155   
            clippy::match_single_binding,
  155    156   
            clippy::diverging_sub_expression
  156    157   
        )]
  157         -
        deserializer.read_struct(&PUTBUCKETTAGGINGINPUT_SCHEMA, (), |_, member, deser| {
         158  +
        deserializer.read_struct(&PUTBUCKETTAGGINGINPUT_SCHEMA, &mut |member, deser| {
  158    159   
            match member.member_index() {
  159    160   
                Some(0) => {
  160    161   
                    builder.bucket = Some(deser.read_string(member)?);
  161    162   
                }
  162    163   
                Some(1) => {
  163    164   
                    builder.content_md5 = Some(deser.read_string(member)?);
  164    165   
                }
  165    166   
                Some(2) => {
  166    167   
                    builder.checksum_algorithm = Some(crate::types::ChecksumAlgorithm::from(deser.read_string(member)?.as_str()));
  167    168   
                }
  168    169   
                Some(3) => {
  169    170   
                    builder.tagging = Some(crate::types::Tagging::deserialize(deser)?);
  170    171   
                }
  171    172   
                Some(4) => {
  172    173   
                    builder.expected_bucket_owner = Some(deser.read_string(member)?);
  173    174   
                }
  174    175   
                _ => {}
  175    176   
            }
  176    177   
            Ok(())
  177    178   
        })?;
         179  +
        builder.bucket = builder.bucket.or(Some(String::new()));
         180  +
        builder
         181  +
            .build()
         182  +
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
         183  +
    }
         184  +
}
         185  +
impl PutBucketTaggingInput {
         186  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         187  +
    /// Header-bound members are read directly from headers, avoiding runtime
         188  +
    /// member iteration overhead. Body members are read via the deserializer.
         189  +
    pub fn deserialize_with_response(
         190  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         191  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         192  +
        _status: u16,
         193  +
        body: &[u8],
         194  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         195  +
        #[allow(unused_variables, unused_mut)]
         196  +
        let mut builder = Self::builder();
         197  +
        if let Some(val) = headers.get("Content-MD5") {
         198  +
            builder.content_md5 = Some(val.to_string());
         199  +
        }
         200  +
        if let Some(val) = headers.get("x-amz-sdk-checksum-algorithm") {
         201  +
            builder.checksum_algorithm = Some(crate::types::ChecksumAlgorithm::from(val));
         202  +
        }
         203  +
        if let Some(val) = headers.get("x-amz-expected-bucket-owner") {
         204  +
            builder.expected_bucket_owner = Some(val.to_string());
         205  +
        }
         206  +
        if !body.is_empty() {
         207  +
            builder.tagging = Some(crate::types::Tagging::deserialize(deserializer)?);
         208  +
        }
  178    209   
        builder
  179    210   
            .build()
  180    211   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  181    212   
    }
  182    213   
}
  183    214   
impl PutBucketTaggingInput {
  184    215   
    /// Creates a new builder-style object to manufacture [`PutBucketTaggingInput`](crate::operation::put_bucket_tagging::PutBucketTaggingInput).
  185    216   
    pub fn builder() -> crate::operation::put_bucket_tagging::builders::PutBucketTaggingInputBuilder {
  186    217   
        crate::operation::put_bucket_tagging::builders::PutBucketTaggingInputBuilder::default()
  187    218   
    }

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

@@ -1,1 +81,112 @@
    4      4   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5      5   
pub struct PutBucketTaggingOutput {
    6      6   
    _extended_request_id: Option<String>,
    7      7   
    _request_id: Option<String>,
    8      8   
}
    9      9   
static PUTBUCKETTAGGINGOUTPUT_SCHEMA_ID: ::aws_smithy_schema::ShapeId = ::aws_smithy_schema::ShapeId::from_static(
   10     10   
    "com.amazonaws.s3.synthetic#PutBucketTaggingOutput",
   11     11   
    "com.amazonaws.s3.synthetic",
   12     12   
    "PutBucketTaggingOutput",
   13     13   
);
   14         -
static PUTBUCKETTAGGINGOUTPUT_SCHEMA: ::aws_smithy_schema::Schema =
   15         -
    ::aws_smithy_schema::Schema::new_struct(PUTBUCKETTAGGINGOUTPUT_SCHEMA_ID, ::aws_smithy_schema::ShapeType::Structure, &[]);
          14  +
static PUTBUCKETTAGGINGOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
          15  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
          16  +
    ::aws_smithy_schema::ShapeType::String,
          17  +
    "request_id",
          18  +
    0,
          19  +
)
          20  +
.with_http_header("x-amzn-requestid");
          21  +
static PUTBUCKETTAGGINGOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
          22  +
    PUTBUCKETTAGGINGOUTPUT_SCHEMA_ID,
          23  +
    ::aws_smithy_schema::ShapeType::Structure,
          24  +
    &[&PUTBUCKETTAGGINGOUTPUT_MEMBER__REQUEST_ID],
          25  +
);
   16     26   
impl PutBucketTaggingOutput {
   17     27   
    /// The schema for this shape.
   18     28   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &PUTBUCKETTAGGINGOUTPUT_SCHEMA;
   19     29   
}
   20     30   
impl ::aws_smithy_schema::serde::SerializableStruct for PutBucketTaggingOutput {
   21     31   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   22     32   
    fn serialize_members(
   23     33   
        &self,
   24     34   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   25     35   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   26     36   
        Ok(())
   27     37   
    }
   28     38   
}
   29     39   
impl PutBucketTaggingOutput {
   30     40   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   31         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   32         -
        deserializer: &mut D,
          41  +
    pub fn deserialize(
          42  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   33     43   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   34     44   
        #[allow(unused_variables, unused_mut)]
   35     45   
        let mut builder = Self::builder();
   36     46   
        #[allow(
   37     47   
            unused_variables,
   38     48   
            unreachable_code,
   39     49   
            clippy::single_match,
   40     50   
            clippy::match_single_binding,
   41     51   
            clippy::diverging_sub_expression
   42     52   
        )]
   43         -
        deserializer.read_struct(&PUTBUCKETTAGGINGOUTPUT_SCHEMA, (), |_, member, deser| {
          53  +
        deserializer.read_struct(&PUTBUCKETTAGGINGOUTPUT_SCHEMA, &mut |member, deser| {
   44     54   
            match member.member_index() {
          55  +
                Some(0) => {
          56  +
                    builder._request_id = Some(deser.read_string(member)?);
          57  +
                }
   45     58   
                _ => {}
   46     59   
            }
   47     60   
            Ok(())
   48     61   
        })?;
   49     62   
        Ok(builder.build())
   50     63   
    }
   51     64   
}
          65  +
impl PutBucketTaggingOutput {
          66  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
          67  +
    /// Header-bound members are read directly from headers, avoiding runtime
          68  +
    /// member iteration overhead. Body members are read via the deserializer.
          69  +
    pub fn deserialize_with_response(
          70  +
        _deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          71  +
        headers: &::aws_smithy_runtime_api::http::Headers,
          72  +
        _status: u16,
          73  +
        _body: &[u8],
          74  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          75  +
        #[allow(unused_variables, unused_mut)]
          76  +
        let mut builder = Self::builder();
          77  +
        if let Some(val) = headers.get("x-amzn-requestid") {
          78  +
            builder._request_id = Some(val.to_string());
          79  +
        }
          80  +
        Ok(builder.build())
          81  +
    }
          82  +
}
   52     83   
impl crate::s3_request_id::RequestIdExt for PutBucketTaggingOutput {
   53     84   
    fn extended_request_id(&self) -> Option<&str> {
   54     85   
        self._extended_request_id.as_deref()
   55     86   
    }
   56     87   
}
   57     88   
impl ::aws_types::request_id::RequestId for PutBucketTaggingOutput {
   58     89   
    fn request_id(&self) -> Option<&str> {
   59     90   
        self._request_id.as_deref()
   60     91   
    }
   61     92   
}

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

@@ -1,1 +40,44 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Orchestration and serialization glue logic for `PutBucketVersioning`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct PutBucketVersioning;
    6      6   
impl PutBucketVersioning {
    7      7   
    /// Creates a new `PutBucketVersioning`
    8      8   
    pub fn new() -> Self {
    9      9   
        Self
   10     10   
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::put_bucket_versioning::PutBucketVersioningInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::put_bucket_versioning::PutBucketVersioningOutput::SCHEMA;
   11     15   
    pub(crate) async fn orchestrate(
   12     16   
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13     17   
        input: crate::operation::put_bucket_versioning::PutBucketVersioningInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::put_bucket_versioning::PutBucketVersioningOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::put_bucket_versioning::PutBucketVersioningError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -176,180 +238,243 @@
  196    200   
                                            ::std::borrow::Cow::Owned(transient_errors)
  197    201   
                                            }).build());
  198    202   
  199    203   
        ::std::borrow::Cow::Owned(rcb)
  200    204   
    }
  201    205   
}
  202    206   
  203    207   
#[derive(Debug)]
  204    208   
struct PutBucketVersioningResponseDeserializer;
  205    209   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for PutBucketVersioningResponseDeserializer {
  206         -
    fn deserialize_nonstreaming(
         210  +
    fn deserialize_nonstreaming_with_config(
  207    211   
        &self,
  208    212   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         213  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  209    214   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  210    215   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  211    216   
        let headers = response.headers();
  212    217   
        let body = response.body().bytes().expect("body loaded");
  213    218   
        #[allow(unused_mut)]
  214    219   
        let mut force_error = false;
  215    220   
        ::tracing::debug!(extended_request_id = ?crate::s3_request_id::RequestIdExt::extended_request_id(response));
  216    221   
        if matches!(crate::rest_xml_unwrapped_errors::body_is_error(body), Ok(true)) {
  217    222   
            force_error = true;
  218    223   
        }

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

@@ -31,31 +231,265 @@
   51     51   
    "com.amazonaws.s3.synthetic",
   52     52   
    "PutBucketVersioningInput",
   53     53   
);
   54     54   
static PUTBUCKETVERSIONINGINPUT_MEMBER_BUCKET: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   55     55   
    ::aws_smithy_schema::ShapeId::from_static(
   56     56   
        "com.amazonaws.s3.synthetic#PutBucketVersioningInput$Bucket",
   57     57   
        "com.amazonaws.s3.synthetic",
   58     58   
        "PutBucketVersioningInput",
   59     59   
    ),
   60     60   
    ::aws_smithy_schema::ShapeType::String,
   61         -
    "bucket",
          61  +
    "Bucket",
   62     62   
    0,
   63     63   
)
   64     64   
.with_http_label();
   65     65   
static PUTBUCKETVERSIONINGINPUT_MEMBER_CONTENT_MD5: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   66     66   
    ::aws_smithy_schema::ShapeId::from_static(
   67     67   
        "com.amazonaws.s3.synthetic#PutBucketVersioningInput$ContentMD5",
   68     68   
        "com.amazonaws.s3.synthetic",
   69     69   
        "PutBucketVersioningInput",
   70     70   
    ),
   71     71   
    ::aws_smithy_schema::ShapeType::String,
   72         -
    "content_md5",
          72  +
    "ContentMD5",
   73     73   
    1,
   74     74   
)
   75     75   
.with_http_header("Content-MD5");
   76     76   
static PUTBUCKETVERSIONINGINPUT_MEMBER_CHECKSUM_ALGORITHM: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   77     77   
    ::aws_smithy_schema::ShapeId::from_static(
   78     78   
        "com.amazonaws.s3.synthetic#PutBucketVersioningInput$ChecksumAlgorithm",
   79     79   
        "com.amazonaws.s3.synthetic",
   80     80   
        "PutBucketVersioningInput",
   81     81   
    ),
   82     82   
    ::aws_smithy_schema::ShapeType::String,
   83         -
    "checksum_algorithm",
          83  +
    "ChecksumAlgorithm",
   84     84   
    2,
   85     85   
)
   86     86   
.with_http_header("x-amz-sdk-checksum-algorithm");
   87     87   
static PUTBUCKETVERSIONINGINPUT_MEMBER_MFA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   88     88   
    ::aws_smithy_schema::ShapeId::from_static(
   89     89   
        "com.amazonaws.s3.synthetic#PutBucketVersioningInput$MFA",
   90     90   
        "com.amazonaws.s3.synthetic",
   91     91   
        "PutBucketVersioningInput",
   92     92   
    ),
   93     93   
    ::aws_smithy_schema::ShapeType::String,
   94         -
    "mfa",
          94  +
    "MFA",
   95     95   
    3,
   96     96   
)
   97     97   
.with_http_header("x-amz-mfa");
   98     98   
static PUTBUCKETVERSIONINGINPUT_MEMBER_VERSIONING_CONFIGURATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   99     99   
    ::aws_smithy_schema::ShapeId::from_static(
  100    100   
        "com.amazonaws.s3.synthetic#PutBucketVersioningInput$VersioningConfiguration",
  101    101   
        "com.amazonaws.s3.synthetic",
  102    102   
        "PutBucketVersioningInput",
  103    103   
    ),
  104    104   
    ::aws_smithy_schema::ShapeType::Structure,
  105         -
    "versioning_configuration",
         105  +
    "VersioningConfiguration",
  106    106   
    4,
  107    107   
)
  108    108   
.with_xml_name("VersioningConfiguration")
  109    109   
.with_http_payload();
  110    110   
static PUTBUCKETVERSIONINGINPUT_MEMBER_EXPECTED_BUCKET_OWNER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  111    111   
    ::aws_smithy_schema::ShapeId::from_static(
  112    112   
        "com.amazonaws.s3.synthetic#PutBucketVersioningInput$ExpectedBucketOwner",
  113    113   
        "com.amazonaws.s3.synthetic",
  114    114   
        "PutBucketVersioningInput",
  115    115   
    ),
  116    116   
    ::aws_smithy_schema::ShapeType::String,
  117         -
    "expected_bucket_owner",
         117  +
    "ExpectedBucketOwner",
  118    118   
    5,
  119    119   
)
  120    120   
.with_http_header("x-amz-expected-bucket-owner");
  121    121   
static PUTBUCKETVERSIONINGINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  122    122   
    PUTBUCKETVERSIONINGINPUT_SCHEMA_ID,
  123    123   
    ::aws_smithy_schema::ShapeType::Structure,
  124    124   
    &[
  125    125   
        &PUTBUCKETVERSIONINGINPUT_MEMBER_BUCKET,
  126    126   
        &PUTBUCKETVERSIONINGINPUT_MEMBER_CONTENT_MD5,
  127    127   
        &PUTBUCKETVERSIONINGINPUT_MEMBER_CHECKSUM_ALGORITHM,
  128    128   
        &PUTBUCKETVERSIONINGINPUT_MEMBER_MFA,
  129    129   
        &PUTBUCKETVERSIONINGINPUT_MEMBER_VERSIONING_CONFIGURATION,
  130    130   
        &PUTBUCKETVERSIONINGINPUT_MEMBER_EXPECTED_BUCKET_OWNER,
  131    131   
    ],
  132         -
);
         132  +
)
         133  +
.with_http(aws_smithy_schema::traits::HttpTrait::new("PUT", "/?versioning", None));
  133    134   
impl PutBucketVersioningInput {
  134    135   
    /// The schema for this shape.
  135    136   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &PUTBUCKETVERSIONINGINPUT_SCHEMA;
  136    137   
}
  137    138   
impl ::aws_smithy_schema::serde::SerializableStruct for PutBucketVersioningInput {
  138    139   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  139    140   
    fn serialize_members(
  140    141   
        &self,
  141    142   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  142    143   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  143    144   
        if let Some(ref val) = self.bucket {
  144    145   
            ser.write_string(&PUTBUCKETVERSIONINGINPUT_MEMBER_BUCKET, val)?;
  145    146   
        }
  146    147   
        if let Some(ref val) = self.content_md5 {
  147    148   
            ser.write_string(&PUTBUCKETVERSIONINGINPUT_MEMBER_CONTENT_MD5, val)?;
  148    149   
        }
  149    150   
        if let Some(ref val) = self.checksum_algorithm {
  150    151   
            ser.write_string(&PUTBUCKETVERSIONINGINPUT_MEMBER_CHECKSUM_ALGORITHM, val.as_str())?;
  151    152   
        }
  152    153   
        if let Some(ref val) = self.mfa {
  153    154   
            ser.write_string(&PUTBUCKETVERSIONINGINPUT_MEMBER_MFA, val)?;
  154    155   
        }
  155    156   
        if let Some(ref val) = self.versioning_configuration {
  156    157   
            ser.write_struct(&PUTBUCKETVERSIONINGINPUT_MEMBER_VERSIONING_CONFIGURATION, val)?;
  157    158   
        }
  158    159   
        if let Some(ref val) = self.expected_bucket_owner {
  159    160   
            ser.write_string(&PUTBUCKETVERSIONINGINPUT_MEMBER_EXPECTED_BUCKET_OWNER, val)?;
  160    161   
        }
  161    162   
        Ok(())
  162    163   
    }
  163    164   
}
  164    165   
impl PutBucketVersioningInput {
  165    166   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  166         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  167         -
        deserializer: &mut D,
         167  +
    pub fn deserialize(
         168  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  168    169   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  169    170   
        #[allow(unused_variables, unused_mut)]
  170    171   
        let mut builder = Self::builder();
  171    172   
        #[allow(
  172    173   
            unused_variables,
  173    174   
            unreachable_code,
  174    175   
            clippy::single_match,
  175    176   
            clippy::match_single_binding,
  176    177   
            clippy::diverging_sub_expression
  177    178   
        )]
  178         -
        deserializer.read_struct(&PUTBUCKETVERSIONINGINPUT_SCHEMA, (), |_, member, deser| {
         179  +
        deserializer.read_struct(&PUTBUCKETVERSIONINGINPUT_SCHEMA, &mut |member, deser| {
  179    180   
            match member.member_index() {
  180    181   
                Some(0) => {
  181    182   
                    builder.bucket = Some(deser.read_string(member)?);
  182    183   
                }
  183    184   
                Some(1) => {
  184    185   
                    builder.content_md5 = Some(deser.read_string(member)?);
  185    186   
                }
  186    187   
                Some(2) => {
  187    188   
                    builder.checksum_algorithm = Some(crate::types::ChecksumAlgorithm::from(deser.read_string(member)?.as_str()));
  188    189   
                }
  189    190   
                Some(3) => {
  190    191   
                    builder.mfa = Some(deser.read_string(member)?);
  191    192   
                }
  192    193   
                Some(4) => {
  193    194   
                    builder.versioning_configuration = Some(crate::types::VersioningConfiguration::deserialize(deser)?);
  194    195   
                }
  195    196   
                Some(5) => {
  196    197   
                    builder.expected_bucket_owner = Some(deser.read_string(member)?);
  197    198   
                }
  198    199   
                _ => {}
  199    200   
            }
  200    201   
            Ok(())
  201    202   
        })?;
         203  +
        builder.bucket = builder.bucket.or(Some(String::new()));
         204  +
        builder
         205  +
            .build()
         206  +
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
         207  +
    }
         208  +
}
         209  +
impl PutBucketVersioningInput {
         210  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         211  +
    /// Header-bound members are read directly from headers, avoiding runtime
         212  +
    /// member iteration overhead. Body members are read via the deserializer.
         213  +
    pub fn deserialize_with_response(
         214  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         215  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         216  +
        _status: u16,
         217  +
        body: &[u8],
         218  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         219  +
        #[allow(unused_variables, unused_mut)]
         220  +
        let mut builder = Self::builder();
         221  +
        if let Some(val) = headers.get("Content-MD5") {
         222  +
            builder.content_md5 = Some(val.to_string());
         223  +
        }
         224  +
        if let Some(val) = headers.get("x-amz-sdk-checksum-algorithm") {
         225  +
            builder.checksum_algorithm = Some(crate::types::ChecksumAlgorithm::from(val));
         226  +
        }
         227  +
        if let Some(val) = headers.get("x-amz-mfa") {
         228  +
            builder.mfa = Some(val.to_string());
         229  +
        }
         230  +
        if let Some(val) = headers.get("x-amz-expected-bucket-owner") {
         231  +
            builder.expected_bucket_owner = Some(val.to_string());
         232  +
        }
         233  +
        if !body.is_empty() {
         234  +
            builder.versioning_configuration = Some(crate::types::VersioningConfiguration::deserialize(deserializer)?);
         235  +
        }
  202    236   
        builder
  203    237   
            .build()
  204    238   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  205    239   
    }
  206    240   
}
  207    241   
impl PutBucketVersioningInput {
  208    242   
    /// Creates a new builder-style object to manufacture [`PutBucketVersioningInput`](crate::operation::put_bucket_versioning::PutBucketVersioningInput).
  209    243   
    pub fn builder() -> crate::operation::put_bucket_versioning::builders::PutBucketVersioningInputBuilder {
  210    244   
        crate::operation::put_bucket_versioning::builders::PutBucketVersioningInputBuilder::default()
  211    245   
    }

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

@@ -1,1 +81,112 @@
    4      4   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5      5   
pub struct PutBucketVersioningOutput {
    6      6   
    _extended_request_id: Option<String>,
    7      7   
    _request_id: Option<String>,
    8      8   
}
    9      9   
static PUTBUCKETVERSIONINGOUTPUT_SCHEMA_ID: ::aws_smithy_schema::ShapeId = ::aws_smithy_schema::ShapeId::from_static(
   10     10   
    "com.amazonaws.s3.synthetic#PutBucketVersioningOutput",
   11     11   
    "com.amazonaws.s3.synthetic",
   12     12   
    "PutBucketVersioningOutput",
   13     13   
);
   14         -
static PUTBUCKETVERSIONINGOUTPUT_SCHEMA: ::aws_smithy_schema::Schema =
   15         -
    ::aws_smithy_schema::Schema::new_struct(PUTBUCKETVERSIONINGOUTPUT_SCHEMA_ID, ::aws_smithy_schema::ShapeType::Structure, &[]);
          14  +
static PUTBUCKETVERSIONINGOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
          15  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
          16  +
    ::aws_smithy_schema::ShapeType::String,
          17  +
    "request_id",
          18  +
    0,
          19  +
)
          20  +
.with_http_header("x-amzn-requestid");
          21  +
static PUTBUCKETVERSIONINGOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
          22  +
    PUTBUCKETVERSIONINGOUTPUT_SCHEMA_ID,
          23  +
    ::aws_smithy_schema::ShapeType::Structure,
          24  +
    &[&PUTBUCKETVERSIONINGOUTPUT_MEMBER__REQUEST_ID],
          25  +
);
   16     26   
impl PutBucketVersioningOutput {
   17     27   
    /// The schema for this shape.
   18     28   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &PUTBUCKETVERSIONINGOUTPUT_SCHEMA;
   19     29   
}
   20     30   
impl ::aws_smithy_schema::serde::SerializableStruct for PutBucketVersioningOutput {
   21     31   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   22     32   
    fn serialize_members(
   23     33   
        &self,
   24     34   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   25     35   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   26     36   
        Ok(())
   27     37   
    }
   28     38   
}
   29     39   
impl PutBucketVersioningOutput {
   30     40   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   31         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   32         -
        deserializer: &mut D,
          41  +
    pub fn deserialize(
          42  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   33     43   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   34     44   
        #[allow(unused_variables, unused_mut)]
   35     45   
        let mut builder = Self::builder();
   36     46   
        #[allow(
   37     47   
            unused_variables,
   38     48   
            unreachable_code,
   39     49   
            clippy::single_match,
   40     50   
            clippy::match_single_binding,
   41     51   
            clippy::diverging_sub_expression
   42     52   
        )]
   43         -
        deserializer.read_struct(&PUTBUCKETVERSIONINGOUTPUT_SCHEMA, (), |_, member, deser| {
          53  +
        deserializer.read_struct(&PUTBUCKETVERSIONINGOUTPUT_SCHEMA, &mut |member, deser| {
   44     54   
            match member.member_index() {
          55  +
                Some(0) => {
          56  +
                    builder._request_id = Some(deser.read_string(member)?);
          57  +
                }
   45     58   
                _ => {}
   46     59   
            }
   47     60   
            Ok(())
   48     61   
        })?;
   49     62   
        Ok(builder.build())
   50     63   
    }
   51     64   
}
          65  +
impl PutBucketVersioningOutput {
          66  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
          67  +
    /// Header-bound members are read directly from headers, avoiding runtime
          68  +
    /// member iteration overhead. Body members are read via the deserializer.
          69  +
    pub fn deserialize_with_response(
          70  +
        _deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          71  +
        headers: &::aws_smithy_runtime_api::http::Headers,
          72  +
        _status: u16,
          73  +
        _body: &[u8],
          74  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          75  +
        #[allow(unused_variables, unused_mut)]
          76  +
        let mut builder = Self::builder();
          77  +
        if let Some(val) = headers.get("x-amzn-requestid") {
          78  +
            builder._request_id = Some(val.to_string());
          79  +
        }
          80  +
        Ok(builder.build())
          81  +
    }
          82  +
}
   52     83   
impl crate::s3_request_id::RequestIdExt for PutBucketVersioningOutput {
   53     84   
    fn extended_request_id(&self) -> Option<&str> {
   54     85   
        self._extended_request_id.as_deref()
   55     86   
    }
   56     87   
}
   57     88   
impl ::aws_types::request_id::RequestId for PutBucketVersioningOutput {
   58     89   
    fn request_id(&self) -> Option<&str> {
   59     90   
        self._request_id.as_deref()
   60     91   
    }
   61     92   
}

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

@@ -1,1 +40,44 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Orchestration and serialization glue logic for `PutBucketWebsite`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct PutBucketWebsite;
    6      6   
impl PutBucketWebsite {
    7      7   
    /// Creates a new `PutBucketWebsite`
    8      8   
    pub fn new() -> Self {
    9      9   
        Self
   10     10   
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::put_bucket_website::PutBucketWebsiteInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::put_bucket_website::PutBucketWebsiteOutput::SCHEMA;
   11     15   
    pub(crate) async fn orchestrate(
   12     16   
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13     17   
        input: crate::operation::put_bucket_website::PutBucketWebsiteInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::put_bucket_website::PutBucketWebsiteOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::put_bucket_website::PutBucketWebsiteError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -180,184 +242,247 @@
  200    204   
                    .build(),
  201    205   
            );
  202    206   
  203    207   
        ::std::borrow::Cow::Owned(rcb)
  204    208   
    }
  205    209   
}
  206    210   
  207    211   
#[derive(Debug)]
  208    212   
struct PutBucketWebsiteResponseDeserializer;
  209    213   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for PutBucketWebsiteResponseDeserializer {
  210         -
    fn deserialize_nonstreaming(
         214  +
    fn deserialize_nonstreaming_with_config(
  211    215   
        &self,
  212    216   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         217  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  213    218   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  214    219   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  215    220   
        let headers = response.headers();
  216    221   
        let body = response.body().bytes().expect("body loaded");
  217    222   
        #[allow(unused_mut)]
  218    223   
        let mut force_error = false;
  219    224   
        ::tracing::debug!(extended_request_id = ?crate::s3_request_id::RequestIdExt::extended_request_id(response));
  220    225   
        if matches!(crate::rest_xml_unwrapped_errors::body_is_error(body), Ok(true)) {
  221    226   
            force_error = true;
  222    227   
        }

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

@@ -25,25 +207,238 @@
   45     45   
    "com.amazonaws.s3.synthetic",
   46     46   
    "PutBucketWebsiteInput",
   47     47   
);
   48     48   
static PUTBUCKETWEBSITEINPUT_MEMBER_BUCKET: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   49     49   
    ::aws_smithy_schema::ShapeId::from_static(
   50     50   
        "com.amazonaws.s3.synthetic#PutBucketWebsiteInput$Bucket",
   51     51   
        "com.amazonaws.s3.synthetic",
   52     52   
        "PutBucketWebsiteInput",
   53     53   
    ),
   54     54   
    ::aws_smithy_schema::ShapeType::String,
   55         -
    "bucket",
          55  +
    "Bucket",
   56     56   
    0,
   57     57   
)
   58     58   
.with_http_label();
   59     59   
static PUTBUCKETWEBSITEINPUT_MEMBER_CONTENT_MD5: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   60     60   
    ::aws_smithy_schema::ShapeId::from_static(
   61     61   
        "com.amazonaws.s3.synthetic#PutBucketWebsiteInput$ContentMD5",
   62     62   
        "com.amazonaws.s3.synthetic",
   63     63   
        "PutBucketWebsiteInput",
   64     64   
    ),
   65     65   
    ::aws_smithy_schema::ShapeType::String,
   66         -
    "content_md5",
          66  +
    "ContentMD5",
   67     67   
    1,
   68     68   
)
   69     69   
.with_http_header("Content-MD5");
   70     70   
static PUTBUCKETWEBSITEINPUT_MEMBER_CHECKSUM_ALGORITHM: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   71     71   
    ::aws_smithy_schema::ShapeId::from_static(
   72     72   
        "com.amazonaws.s3.synthetic#PutBucketWebsiteInput$ChecksumAlgorithm",
   73     73   
        "com.amazonaws.s3.synthetic",
   74     74   
        "PutBucketWebsiteInput",
   75     75   
    ),
   76     76   
    ::aws_smithy_schema::ShapeType::String,
   77         -
    "checksum_algorithm",
          77  +
    "ChecksumAlgorithm",
   78     78   
    2,
   79     79   
)
   80     80   
.with_http_header("x-amz-sdk-checksum-algorithm");
   81     81   
static PUTBUCKETWEBSITEINPUT_MEMBER_WEBSITE_CONFIGURATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   82     82   
    ::aws_smithy_schema::ShapeId::from_static(
   83     83   
        "com.amazonaws.s3.synthetic#PutBucketWebsiteInput$WebsiteConfiguration",
   84     84   
        "com.amazonaws.s3.synthetic",
   85     85   
        "PutBucketWebsiteInput",
   86     86   
    ),
   87     87   
    ::aws_smithy_schema::ShapeType::Structure,
   88         -
    "website_configuration",
          88  +
    "WebsiteConfiguration",
   89     89   
    3,
   90     90   
)
   91     91   
.with_xml_name("WebsiteConfiguration")
   92     92   
.with_http_payload();
   93     93   
static PUTBUCKETWEBSITEINPUT_MEMBER_EXPECTED_BUCKET_OWNER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   94     94   
    ::aws_smithy_schema::ShapeId::from_static(
   95     95   
        "com.amazonaws.s3.synthetic#PutBucketWebsiteInput$ExpectedBucketOwner",
   96     96   
        "com.amazonaws.s3.synthetic",
   97     97   
        "PutBucketWebsiteInput",
   98     98   
    ),
   99     99   
    ::aws_smithy_schema::ShapeType::String,
  100         -
    "expected_bucket_owner",
         100  +
    "ExpectedBucketOwner",
  101    101   
    4,
  102    102   
)
  103    103   
.with_http_header("x-amz-expected-bucket-owner");
  104    104   
static PUTBUCKETWEBSITEINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  105    105   
    PUTBUCKETWEBSITEINPUT_SCHEMA_ID,
  106    106   
    ::aws_smithy_schema::ShapeType::Structure,
  107    107   
    &[
  108    108   
        &PUTBUCKETWEBSITEINPUT_MEMBER_BUCKET,
  109    109   
        &PUTBUCKETWEBSITEINPUT_MEMBER_CONTENT_MD5,
  110    110   
        &PUTBUCKETWEBSITEINPUT_MEMBER_CHECKSUM_ALGORITHM,
  111    111   
        &PUTBUCKETWEBSITEINPUT_MEMBER_WEBSITE_CONFIGURATION,
  112    112   
        &PUTBUCKETWEBSITEINPUT_MEMBER_EXPECTED_BUCKET_OWNER,
  113    113   
    ],
  114         -
);
         114  +
)
         115  +
.with_http(aws_smithy_schema::traits::HttpTrait::new("PUT", "/?website", None));
  115    116   
impl PutBucketWebsiteInput {
  116    117   
    /// The schema for this shape.
  117    118   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &PUTBUCKETWEBSITEINPUT_SCHEMA;
  118    119   
}
  119    120   
impl ::aws_smithy_schema::serde::SerializableStruct for PutBucketWebsiteInput {
  120    121   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  121    122   
    fn serialize_members(
  122    123   
        &self,
  123    124   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  124    125   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  125    126   
        if let Some(ref val) = self.bucket {
  126    127   
            ser.write_string(&PUTBUCKETWEBSITEINPUT_MEMBER_BUCKET, val)?;
  127    128   
        }
  128    129   
        if let Some(ref val) = self.content_md5 {
  129    130   
            ser.write_string(&PUTBUCKETWEBSITEINPUT_MEMBER_CONTENT_MD5, val)?;
  130    131   
        }
  131    132   
        if let Some(ref val) = self.checksum_algorithm {
  132    133   
            ser.write_string(&PUTBUCKETWEBSITEINPUT_MEMBER_CHECKSUM_ALGORITHM, val.as_str())?;
  133    134   
        }
  134    135   
        if let Some(ref val) = self.website_configuration {
  135    136   
            ser.write_struct(&PUTBUCKETWEBSITEINPUT_MEMBER_WEBSITE_CONFIGURATION, val)?;
  136    137   
        }
  137    138   
        if let Some(ref val) = self.expected_bucket_owner {
  138    139   
            ser.write_string(&PUTBUCKETWEBSITEINPUT_MEMBER_EXPECTED_BUCKET_OWNER, val)?;
  139    140   
        }
  140    141   
        Ok(())
  141    142   
    }
  142    143   
}
  143    144   
impl PutBucketWebsiteInput {
  144    145   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  145         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  146         -
        deserializer: &mut D,
         146  +
    pub fn deserialize(
         147  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  147    148   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  148    149   
        #[allow(unused_variables, unused_mut)]
  149    150   
        let mut builder = Self::builder();
  150    151   
        #[allow(
  151    152   
            unused_variables,
  152    153   
            unreachable_code,
  153    154   
            clippy::single_match,
  154    155   
            clippy::match_single_binding,
  155    156   
            clippy::diverging_sub_expression
  156    157   
        )]
  157         -
        deserializer.read_struct(&PUTBUCKETWEBSITEINPUT_SCHEMA, (), |_, member, deser| {
         158  +
        deserializer.read_struct(&PUTBUCKETWEBSITEINPUT_SCHEMA, &mut |member, deser| {
  158    159   
            match member.member_index() {
  159    160   
                Some(0) => {
  160    161   
                    builder.bucket = Some(deser.read_string(member)?);
  161    162   
                }
  162    163   
                Some(1) => {
  163    164   
                    builder.content_md5 = Some(deser.read_string(member)?);
  164    165   
                }
  165    166   
                Some(2) => {
  166    167   
                    builder.checksum_algorithm = Some(crate::types::ChecksumAlgorithm::from(deser.read_string(member)?.as_str()));
  167    168   
                }
  168    169   
                Some(3) => {
  169    170   
                    builder.website_configuration = Some(crate::types::WebsiteConfiguration::deserialize(deser)?);
  170    171   
                }
  171    172   
                Some(4) => {
  172    173   
                    builder.expected_bucket_owner = Some(deser.read_string(member)?);
  173    174   
                }
  174    175   
                _ => {}
  175    176   
            }
  176    177   
            Ok(())
  177    178   
        })?;
         179  +
        builder.bucket = builder.bucket.or(Some(String::new()));
         180  +
        builder
         181  +
            .build()
         182  +
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
         183  +
    }
         184  +
}
         185  +
impl PutBucketWebsiteInput {
         186  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         187  +
    /// Header-bound members are read directly from headers, avoiding runtime
         188  +
    /// member iteration overhead. Body members are read via the deserializer.
         189  +
    pub fn deserialize_with_response(
         190  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         191  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         192  +
        _status: u16,
         193  +
        body: &[u8],
         194  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         195  +
        #[allow(unused_variables, unused_mut)]
         196  +
        let mut builder = Self::builder();
         197  +
        if let Some(val) = headers.get("Content-MD5") {
         198  +
            builder.content_md5 = Some(val.to_string());
         199  +
        }
         200  +
        if let Some(val) = headers.get("x-amz-sdk-checksum-algorithm") {
         201  +
            builder.checksum_algorithm = Some(crate::types::ChecksumAlgorithm::from(val));
         202  +
        }
         203  +
        if let Some(val) = headers.get("x-amz-expected-bucket-owner") {
         204  +
            builder.expected_bucket_owner = Some(val.to_string());
         205  +
        }
         206  +
        if !body.is_empty() {
         207  +
            builder.website_configuration = Some(crate::types::WebsiteConfiguration::deserialize(deserializer)?);
         208  +
        }
  178    209   
        builder
  179    210   
            .build()
  180    211   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  181    212   
    }
  182    213   
}
  183    214   
impl PutBucketWebsiteInput {
  184    215   
    /// Creates a new builder-style object to manufacture [`PutBucketWebsiteInput`](crate::operation::put_bucket_website::PutBucketWebsiteInput).
  185    216   
    pub fn builder() -> crate::operation::put_bucket_website::builders::PutBucketWebsiteInputBuilder {
  186    217   
        crate::operation::put_bucket_website::builders::PutBucketWebsiteInputBuilder::default()
  187    218   
    }

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

@@ -1,1 +81,112 @@
    4      4   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5      5   
pub struct PutBucketWebsiteOutput {
    6      6   
    _extended_request_id: Option<String>,
    7      7   
    _request_id: Option<String>,
    8      8   
}
    9      9   
static PUTBUCKETWEBSITEOUTPUT_SCHEMA_ID: ::aws_smithy_schema::ShapeId = ::aws_smithy_schema::ShapeId::from_static(
   10     10   
    "com.amazonaws.s3.synthetic#PutBucketWebsiteOutput",
   11     11   
    "com.amazonaws.s3.synthetic",
   12     12   
    "PutBucketWebsiteOutput",
   13     13   
);
   14         -
static PUTBUCKETWEBSITEOUTPUT_SCHEMA: ::aws_smithy_schema::Schema =
   15         -
    ::aws_smithy_schema::Schema::new_struct(PUTBUCKETWEBSITEOUTPUT_SCHEMA_ID, ::aws_smithy_schema::ShapeType::Structure, &[]);
          14  +
static PUTBUCKETWEBSITEOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
          15  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
          16  +
    ::aws_smithy_schema::ShapeType::String,
          17  +
    "request_id",
          18  +
    0,
          19  +
)
          20  +
.with_http_header("x-amzn-requestid");
          21  +
static PUTBUCKETWEBSITEOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
          22  +
    PUTBUCKETWEBSITEOUTPUT_SCHEMA_ID,
          23  +
    ::aws_smithy_schema::ShapeType::Structure,
          24  +
    &[&PUTBUCKETWEBSITEOUTPUT_MEMBER__REQUEST_ID],
          25  +
);
   16     26   
impl PutBucketWebsiteOutput {
   17     27   
    /// The schema for this shape.
   18     28   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &PUTBUCKETWEBSITEOUTPUT_SCHEMA;
   19     29   
}
   20     30   
impl ::aws_smithy_schema::serde::SerializableStruct for PutBucketWebsiteOutput {
   21     31   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   22     32   
    fn serialize_members(
   23     33   
        &self,
   24     34   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   25     35   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   26     36   
        Ok(())
   27     37   
    }
   28     38   
}
   29     39   
impl PutBucketWebsiteOutput {
   30     40   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   31         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   32         -
        deserializer: &mut D,
          41  +
    pub fn deserialize(
          42  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   33     43   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   34     44   
        #[allow(unused_variables, unused_mut)]
   35     45   
        let mut builder = Self::builder();
   36     46   
        #[allow(
   37     47   
            unused_variables,
   38     48   
            unreachable_code,
   39     49   
            clippy::single_match,
   40     50   
            clippy::match_single_binding,
   41     51   
            clippy::diverging_sub_expression
   42     52   
        )]
   43         -
        deserializer.read_struct(&PUTBUCKETWEBSITEOUTPUT_SCHEMA, (), |_, member, deser| {
          53  +
        deserializer.read_struct(&PUTBUCKETWEBSITEOUTPUT_SCHEMA, &mut |member, deser| {
   44     54   
            match member.member_index() {
          55  +
                Some(0) => {
          56  +
                    builder._request_id = Some(deser.read_string(member)?);
          57  +
                }
   45     58   
                _ => {}
   46     59   
            }
   47     60   
            Ok(())
   48     61   
        })?;
   49     62   
        Ok(builder.build())
   50     63   
    }
   51     64   
}
          65  +
impl PutBucketWebsiteOutput {
          66  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
          67  +
    /// Header-bound members are read directly from headers, avoiding runtime
          68  +
    /// member iteration overhead. Body members are read via the deserializer.
          69  +
    pub fn deserialize_with_response(
          70  +
        _deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          71  +
        headers: &::aws_smithy_runtime_api::http::Headers,
          72  +
        _status: u16,
          73  +
        _body: &[u8],
          74  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          75  +
        #[allow(unused_variables, unused_mut)]
          76  +
        let mut builder = Self::builder();
          77  +
        if let Some(val) = headers.get("x-amzn-requestid") {
          78  +
            builder._request_id = Some(val.to_string());
          79  +
        }
          80  +
        Ok(builder.build())
          81  +
    }
          82  +
}
   52     83   
impl crate::s3_request_id::RequestIdExt for PutBucketWebsiteOutput {
   53     84   
    fn extended_request_id(&self) -> Option<&str> {
   54     85   
        self._extended_request_id.as_deref()
   55     86   
    }
   56     87   
}
   57     88   
impl ::aws_types::request_id::RequestId for PutBucketWebsiteOutput {
   58     89   
    fn request_id(&self) -> Option<&str> {
   59     90   
        self._request_id.as_deref()
   60     91   
    }
   61     92   
}

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

@@ -1,1 +40,44 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Orchestration and serialization glue logic for `PutObject`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct PutObject;
    6      6   
impl PutObject {
    7      7   
    /// Creates a new `PutObject`
    8      8   
    pub fn new() -> Self {
    9      9   
        Self
   10     10   
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::put_object::PutObjectInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::put_object::PutObjectOutput::SCHEMA;
   11     15   
    pub(crate) async fn orchestrate(
   12     16   
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13     17   
        input: crate::operation::put_object::PutObjectInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::put_object::PutObjectOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::put_object::PutObjectError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -181,185 +243,248 @@
  201    205   
                    .build(),
  202    206   
            );
  203    207   
  204    208   
        ::std::borrow::Cow::Owned(rcb)
  205    209   
    }
  206    210   
}
  207    211   
  208    212   
#[derive(Debug)]
  209    213   
struct PutObjectResponseDeserializer;
  210    214   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for PutObjectResponseDeserializer {
  211         -
    fn deserialize_nonstreaming(
         215  +
    fn deserialize_nonstreaming_with_config(
  212    216   
        &self,
  213    217   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         218  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  214    219   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  215    220   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  216    221   
        let headers = response.headers();
  217    222   
        let body = response.body().bytes().expect("body loaded");
  218    223   
        #[allow(unused_mut)]
  219    224   
        let mut force_error = false;
  220    225   
        ::tracing::debug!(extended_request_id = ?crate::s3_request_id::RequestIdExt::extended_request_id(response));
  221    226   
        if matches!(crate::rest_xml_unwrapped_errors::body_is_error(body), Ok(true)) {
  222    227   
            force_error = true;
  223    228   
        }

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

@@ -521,521 +1088,1086 @@
  541    541   
    "com.amazonaws.s3.synthetic",
  542    542   
    "PutObjectInput",
  543    543   
);
  544    544   
static PUTOBJECTINPUT_MEMBER_ACL: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  545    545   
    ::aws_smithy_schema::ShapeId::from_static(
  546    546   
        "com.amazonaws.s3.synthetic#PutObjectInput$ACL",
  547    547   
        "com.amazonaws.s3.synthetic",
  548    548   
        "PutObjectInput",
  549    549   
    ),
  550    550   
    ::aws_smithy_schema::ShapeType::String,
  551         -
    "acl",
         551  +
    "ACL",
  552    552   
    0,
  553    553   
)
  554    554   
.with_http_header("x-amz-acl");
  555    555   
static PUTOBJECTINPUT_MEMBER_BODY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  556    556   
    ::aws_smithy_schema::ShapeId::from_static(
  557    557   
        "com.amazonaws.s3.synthetic#PutObjectInput$Body",
  558    558   
        "com.amazonaws.s3.synthetic",
  559    559   
        "PutObjectInput",
  560    560   
    ),
  561    561   
    ::aws_smithy_schema::ShapeType::Blob,
  562         -
    "body",
         562  +
    "Body",
  563    563   
    1,
  564    564   
)
  565    565   
.with_http_payload();
  566    566   
static PUTOBJECTINPUT_MEMBER_BUCKET: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  567    567   
    ::aws_smithy_schema::ShapeId::from_static(
  568    568   
        "com.amazonaws.s3.synthetic#PutObjectInput$Bucket",
  569    569   
        "com.amazonaws.s3.synthetic",
  570    570   
        "PutObjectInput",
  571    571   
    ),
  572    572   
    ::aws_smithy_schema::ShapeType::String,
  573         -
    "bucket",
         573  +
    "Bucket",
  574    574   
    2,
  575    575   
)
  576    576   
.with_http_label();
  577    577   
static PUTOBJECTINPUT_MEMBER_CACHE_CONTROL: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  578    578   
    ::aws_smithy_schema::ShapeId::from_static(
  579    579   
        "com.amazonaws.s3.synthetic#PutObjectInput$CacheControl",
  580    580   
        "com.amazonaws.s3.synthetic",
  581    581   
        "PutObjectInput",
  582    582   
    ),
  583    583   
    ::aws_smithy_schema::ShapeType::String,
  584         -
    "cache_control",
         584  +
    "CacheControl",
  585    585   
    3,
  586    586   
)
  587    587   
.with_http_header("Cache-Control");
  588    588   
static PUTOBJECTINPUT_MEMBER_CONTENT_DISPOSITION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  589    589   
    ::aws_smithy_schema::ShapeId::from_static(
  590    590   
        "com.amazonaws.s3.synthetic#PutObjectInput$ContentDisposition",
  591    591   
        "com.amazonaws.s3.synthetic",
  592    592   
        "PutObjectInput",
  593    593   
    ),
  594    594   
    ::aws_smithy_schema::ShapeType::String,
  595         -
    "content_disposition",
         595  +
    "ContentDisposition",
  596    596   
    4,
  597    597   
)
  598    598   
.with_http_header("Content-Disposition");
  599    599   
static PUTOBJECTINPUT_MEMBER_CONTENT_ENCODING: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  600    600   
    ::aws_smithy_schema::ShapeId::from_static(
  601    601   
        "com.amazonaws.s3.synthetic#PutObjectInput$ContentEncoding",
  602    602   
        "com.amazonaws.s3.synthetic",
  603    603   
        "PutObjectInput",
  604    604   
    ),
  605    605   
    ::aws_smithy_schema::ShapeType::String,
  606         -
    "content_encoding",
         606  +
    "ContentEncoding",
  607    607   
    5,
  608    608   
)
  609    609   
.with_http_header("Content-Encoding");
  610    610   
static PUTOBJECTINPUT_MEMBER_CONTENT_LANGUAGE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  611    611   
    ::aws_smithy_schema::ShapeId::from_static(
  612    612   
        "com.amazonaws.s3.synthetic#PutObjectInput$ContentLanguage",
  613    613   
        "com.amazonaws.s3.synthetic",
  614    614   
        "PutObjectInput",
  615    615   
    ),
  616    616   
    ::aws_smithy_schema::ShapeType::String,
  617         -
    "content_language",
         617  +
    "ContentLanguage",
  618    618   
    6,
  619    619   
)
  620    620   
.with_http_header("Content-Language");
  621    621   
static PUTOBJECTINPUT_MEMBER_CONTENT_LENGTH: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  622    622   
    ::aws_smithy_schema::ShapeId::from_static(
  623    623   
        "com.amazonaws.s3.synthetic#PutObjectInput$ContentLength",
  624    624   
        "com.amazonaws.s3.synthetic",
  625    625   
        "PutObjectInput",
  626    626   
    ),
  627    627   
    ::aws_smithy_schema::ShapeType::Long,
  628         -
    "content_length",
         628  +
    "ContentLength",
  629    629   
    7,
  630    630   
)
  631    631   
.with_http_header("Content-Length");
  632    632   
static PUTOBJECTINPUT_MEMBER_CONTENT_MD5: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  633    633   
    ::aws_smithy_schema::ShapeId::from_static(
  634    634   
        "com.amazonaws.s3.synthetic#PutObjectInput$ContentMD5",
  635    635   
        "com.amazonaws.s3.synthetic",
  636    636   
        "PutObjectInput",
  637    637   
    ),
  638    638   
    ::aws_smithy_schema::ShapeType::String,
  639         -
    "content_md5",
         639  +
    "ContentMD5",
  640    640   
    8,
  641    641   
)
  642    642   
.with_http_header("Content-MD5");
  643    643   
static PUTOBJECTINPUT_MEMBER_CONTENT_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  644    644   
    ::aws_smithy_schema::ShapeId::from_static(
  645    645   
        "com.amazonaws.s3.synthetic#PutObjectInput$ContentType",
  646    646   
        "com.amazonaws.s3.synthetic",
  647    647   
        "PutObjectInput",
  648    648   
    ),
  649    649   
    ::aws_smithy_schema::ShapeType::String,
  650         -
    "content_type",
         650  +
    "ContentType",
  651    651   
    9,
  652    652   
)
  653    653   
.with_http_header("Content-Type");
  654    654   
static PUTOBJECTINPUT_MEMBER_CHECKSUM_ALGORITHM: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  655    655   
    ::aws_smithy_schema::ShapeId::from_static(
  656    656   
        "com.amazonaws.s3.synthetic#PutObjectInput$ChecksumAlgorithm",
  657    657   
        "com.amazonaws.s3.synthetic",
  658    658   
        "PutObjectInput",
  659    659   
    ),
  660    660   
    ::aws_smithy_schema::ShapeType::String,
  661         -
    "checksum_algorithm",
         661  +
    "ChecksumAlgorithm",
  662    662   
    10,
  663    663   
)
  664    664   
.with_http_header("x-amz-sdk-checksum-algorithm");
  665    665   
static PUTOBJECTINPUT_MEMBER_CHECKSUM_CRC32: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  666    666   
    ::aws_smithy_schema::ShapeId::from_static(
  667    667   
        "com.amazonaws.s3.synthetic#PutObjectInput$ChecksumCRC32",
  668    668   
        "com.amazonaws.s3.synthetic",
  669    669   
        "PutObjectInput",
  670    670   
    ),
  671    671   
    ::aws_smithy_schema::ShapeType::String,
  672         -
    "checksum_crc32",
         672  +
    "ChecksumCRC32",
  673    673   
    11,
  674    674   
)
  675    675   
.with_http_header("x-amz-checksum-crc32");
  676    676   
static PUTOBJECTINPUT_MEMBER_CHECKSUM_CRC32_C: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  677    677   
    ::aws_smithy_schema::ShapeId::from_static(
  678    678   
        "com.amazonaws.s3.synthetic#PutObjectInput$ChecksumCRC32C",
  679    679   
        "com.amazonaws.s3.synthetic",
  680    680   
        "PutObjectInput",
  681    681   
    ),
  682    682   
    ::aws_smithy_schema::ShapeType::String,
  683         -
    "checksum_crc32_c",
         683  +
    "ChecksumCRC32C",
  684    684   
    12,
  685    685   
)
  686    686   
.with_http_header("x-amz-checksum-crc32c");
  687    687   
static PUTOBJECTINPUT_MEMBER_CHECKSUM_CRC64_NVME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  688    688   
    ::aws_smithy_schema::ShapeId::from_static(
  689    689   
        "com.amazonaws.s3.synthetic#PutObjectInput$ChecksumCRC64NVME",
  690    690   
        "com.amazonaws.s3.synthetic",
  691    691   
        "PutObjectInput",
  692    692   
    ),
  693    693   
    ::aws_smithy_schema::ShapeType::String,
  694         -
    "checksum_crc64_nvme",
         694  +
    "ChecksumCRC64NVME",
  695    695   
    13,
  696    696   
)
  697    697   
.with_http_header("x-amz-checksum-crc64nvme");
  698    698   
static PUTOBJECTINPUT_MEMBER_CHECKSUM_SHA1: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  699    699   
    ::aws_smithy_schema::ShapeId::from_static(
  700    700   
        "com.amazonaws.s3.synthetic#PutObjectInput$ChecksumSHA1",
  701    701   
        "com.amazonaws.s3.synthetic",
  702    702   
        "PutObjectInput",
  703    703   
    ),
  704    704   
    ::aws_smithy_schema::ShapeType::String,
  705         -
    "checksum_sha1",
         705  +
    "ChecksumSHA1",
  706    706   
    14,
  707    707   
)
  708    708   
.with_http_header("x-amz-checksum-sha1");
  709    709   
static PUTOBJECTINPUT_MEMBER_CHECKSUM_SHA256: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  710    710   
    ::aws_smithy_schema::ShapeId::from_static(
  711    711   
        "com.amazonaws.s3.synthetic#PutObjectInput$ChecksumSHA256",
  712    712   
        "com.amazonaws.s3.synthetic",
  713    713   
        "PutObjectInput",
  714    714   
    ),
  715    715   
    ::aws_smithy_schema::ShapeType::String,
  716         -
    "checksum_sha256",
         716  +
    "ChecksumSHA256",
  717    717   
    15,
  718    718   
)
  719    719   
.with_http_header("x-amz-checksum-sha256");
  720    720   
static PUTOBJECTINPUT_MEMBER_EXPIRES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  721    721   
    ::aws_smithy_schema::ShapeId::from_static(
  722    722   
        "com.amazonaws.s3.synthetic#PutObjectInput$Expires",
  723    723   
        "com.amazonaws.s3.synthetic",
  724    724   
        "PutObjectInput",
  725    725   
    ),
  726    726   
    ::aws_smithy_schema::ShapeType::Timestamp,
  727         -
    "expires",
         727  +
    "Expires",
  728    728   
    16,
  729    729   
)
  730    730   
.with_http_header("Expires");
  731    731   
static PUTOBJECTINPUT_MEMBER_IF_MATCH: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  732    732   
    ::aws_smithy_schema::ShapeId::from_static(
  733    733   
        "com.amazonaws.s3.synthetic#PutObjectInput$IfMatch",
  734    734   
        "com.amazonaws.s3.synthetic",
  735    735   
        "PutObjectInput",
  736    736   
    ),
  737    737   
    ::aws_smithy_schema::ShapeType::String,
  738         -
    "if_match",
         738  +
    "IfMatch",
  739    739   
    17,
  740    740   
)
  741    741   
.with_http_header("If-Match");
  742    742   
static PUTOBJECTINPUT_MEMBER_IF_NONE_MATCH: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  743    743   
    ::aws_smithy_schema::ShapeId::from_static(
  744    744   
        "com.amazonaws.s3.synthetic#PutObjectInput$IfNoneMatch",
  745    745   
        "com.amazonaws.s3.synthetic",
  746    746   
        "PutObjectInput",
  747    747   
    ),
  748    748   
    ::aws_smithy_schema::ShapeType::String,
  749         -
    "if_none_match",
         749  +
    "IfNoneMatch",
  750    750   
    18,
  751    751   
)
  752    752   
.with_http_header("If-None-Match");
  753    753   
static PUTOBJECTINPUT_MEMBER_GRANT_FULL_CONTROL: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  754    754   
    ::aws_smithy_schema::ShapeId::from_static(
  755    755   
        "com.amazonaws.s3.synthetic#PutObjectInput$GrantFullControl",
  756    756   
        "com.amazonaws.s3.synthetic",
  757    757   
        "PutObjectInput",
  758    758   
    ),
  759    759   
    ::aws_smithy_schema::ShapeType::String,
  760         -
    "grant_full_control",
         760  +
    "GrantFullControl",
  761    761   
    19,
  762    762   
)
  763    763   
.with_http_header("x-amz-grant-full-control");
  764    764   
static PUTOBJECTINPUT_MEMBER_GRANT_READ: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  765    765   
    ::aws_smithy_schema::ShapeId::from_static(
  766    766   
        "com.amazonaws.s3.synthetic#PutObjectInput$GrantRead",
  767    767   
        "com.amazonaws.s3.synthetic",
  768    768   
        "PutObjectInput",
  769    769   
    ),
  770    770   
    ::aws_smithy_schema::ShapeType::String,
  771         -
    "grant_read",
         771  +
    "GrantRead",
  772    772   
    20,
  773    773   
)
  774    774   
.with_http_header("x-amz-grant-read");
  775    775   
static PUTOBJECTINPUT_MEMBER_GRANT_READ_ACP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  776    776   
    ::aws_smithy_schema::ShapeId::from_static(
  777    777   
        "com.amazonaws.s3.synthetic#PutObjectInput$GrantReadACP",
  778    778   
        "com.amazonaws.s3.synthetic",
  779    779   
        "PutObjectInput",
  780    780   
    ),
  781    781   
    ::aws_smithy_schema::ShapeType::String,
  782         -
    "grant_read_acp",
         782  +
    "GrantReadACP",
  783    783   
    21,
  784    784   
)
  785    785   
.with_http_header("x-amz-grant-read-acp");
  786    786   
static PUTOBJECTINPUT_MEMBER_GRANT_WRITE_ACP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  787    787   
    ::aws_smithy_schema::ShapeId::from_static(
  788    788   
        "com.amazonaws.s3.synthetic#PutObjectInput$GrantWriteACP",
  789    789   
        "com.amazonaws.s3.synthetic",
  790    790   
        "PutObjectInput",
  791    791   
    ),
  792    792   
    ::aws_smithy_schema::ShapeType::String,
  793         -
    "grant_write_acp",
         793  +
    "GrantWriteACP",
  794    794   
    22,
  795    795   
)
  796    796   
.with_http_header("x-amz-grant-write-acp");
  797    797   
static PUTOBJECTINPUT_MEMBER_KEY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  798    798   
    ::aws_smithy_schema::ShapeId::from_static(
  799    799   
        "com.amazonaws.s3.synthetic#PutObjectInput$Key",
  800    800   
        "com.amazonaws.s3.synthetic",
  801    801   
        "PutObjectInput",
  802    802   
    ),
  803    803   
    ::aws_smithy_schema::ShapeType::String,
  804         -
    "key",
         804  +
    "Key",
  805    805   
    23,
  806    806   
)
  807    807   
.with_http_label();
  808    808   
static PUTOBJECTINPUT_MEMBER_WRITE_OFFSET_BYTES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  809    809   
    ::aws_smithy_schema::ShapeId::from_static(
  810    810   
        "com.amazonaws.s3.synthetic#PutObjectInput$WriteOffsetBytes",
  811    811   
        "com.amazonaws.s3.synthetic",
  812    812   
        "PutObjectInput",
  813    813   
    ),
  814    814   
    ::aws_smithy_schema::ShapeType::Long,
  815         -
    "write_offset_bytes",
         815  +
    "WriteOffsetBytes",
  816    816   
    24,
  817    817   
)
  818    818   
.with_http_header("x-amz-write-offset-bytes");
  819    819   
static PUTOBJECTINPUT_MEMBER_METADATA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  820    820   
    ::aws_smithy_schema::ShapeId::from_static(
  821    821   
        "com.amazonaws.s3.synthetic#PutObjectInput$Metadata",
  822    822   
        "com.amazonaws.s3.synthetic",
  823    823   
        "PutObjectInput",
  824    824   
    ),
  825    825   
    ::aws_smithy_schema::ShapeType::Map,
  826         -
    "metadata",
         826  +
    "Metadata",
  827    827   
    25,
  828    828   
)
  829    829   
.with_http_prefix_headers("x-amz-meta-");
  830    830   
static PUTOBJECTINPUT_MEMBER_SERVER_SIDE_ENCRYPTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  831    831   
    ::aws_smithy_schema::ShapeId::from_static(
  832    832   
        "com.amazonaws.s3.synthetic#PutObjectInput$ServerSideEncryption",
  833    833   
        "com.amazonaws.s3.synthetic",
  834    834   
        "PutObjectInput",
  835    835   
    ),
  836    836   
    ::aws_smithy_schema::ShapeType::String,
  837         -
    "server_side_encryption",
         837  +
    "ServerSideEncryption",
  838    838   
    26,
  839    839   
)
  840    840   
.with_http_header("x-amz-server-side-encryption");
  841    841   
static PUTOBJECTINPUT_MEMBER_STORAGE_CLASS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  842    842   
    ::aws_smithy_schema::ShapeId::from_static(
  843    843   
        "com.amazonaws.s3.synthetic#PutObjectInput$StorageClass",
  844    844   
        "com.amazonaws.s3.synthetic",
  845    845   
        "PutObjectInput",
  846    846   
    ),
  847    847   
    ::aws_smithy_schema::ShapeType::String,
  848         -
    "storage_class",
         848  +
    "StorageClass",
  849    849   
    27,
  850    850   
)
  851    851   
.with_http_header("x-amz-storage-class");
  852    852   
static PUTOBJECTINPUT_MEMBER_WEBSITE_REDIRECT_LOCATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  853    853   
    ::aws_smithy_schema::ShapeId::from_static(
  854    854   
        "com.amazonaws.s3.synthetic#PutObjectInput$WebsiteRedirectLocation",
  855    855   
        "com.amazonaws.s3.synthetic",
  856    856   
        "PutObjectInput",
  857    857   
    ),
  858    858   
    ::aws_smithy_schema::ShapeType::String,
  859         -
    "website_redirect_location",
         859  +
    "WebsiteRedirectLocation",
  860    860   
    28,
  861    861   
)
  862    862   
.with_http_header("x-amz-website-redirect-location");
  863    863   
static PUTOBJECTINPUT_MEMBER_SSE_CUSTOMER_ALGORITHM: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  864    864   
    ::aws_smithy_schema::ShapeId::from_static(
  865    865   
        "com.amazonaws.s3.synthetic#PutObjectInput$SSECustomerAlgorithm",
  866    866   
        "com.amazonaws.s3.synthetic",
  867    867   
        "PutObjectInput",
  868    868   
    ),
  869    869   
    ::aws_smithy_schema::ShapeType::String,
  870         -
    "sse_customer_algorithm",
         870  +
    "SSECustomerAlgorithm",
  871    871   
    29,
  872    872   
)
  873    873   
.with_http_header("x-amz-server-side-encryption-customer-algorithm");
  874    874   
static PUTOBJECTINPUT_MEMBER_SSE_CUSTOMER_KEY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  875    875   
    ::aws_smithy_schema::ShapeId::from_static(
  876    876   
        "com.amazonaws.s3.synthetic#PutObjectInput$SSECustomerKey",
  877    877   
        "com.amazonaws.s3.synthetic",
  878    878   
        "PutObjectInput",
  879    879   
    ),
  880    880   
    ::aws_smithy_schema::ShapeType::String,
  881         -
    "sse_customer_key",
         881  +
    "SSECustomerKey",
  882    882   
    30,
  883    883   
)
  884    884   
.with_http_header("x-amz-server-side-encryption-customer-key");
  885    885   
static PUTOBJECTINPUT_MEMBER_SSE_CUSTOMER_KEY_MD5: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  886    886   
    ::aws_smithy_schema::ShapeId::from_static(
  887    887   
        "com.amazonaws.s3.synthetic#PutObjectInput$SSECustomerKeyMD5",
  888    888   
        "com.amazonaws.s3.synthetic",
  889    889   
        "PutObjectInput",
  890    890   
    ),
  891    891   
    ::aws_smithy_schema::ShapeType::String,
  892         -
    "sse_customer_key_md5",
         892  +
    "SSECustomerKeyMD5",
  893    893   
    31,
  894    894   
)
  895    895   
.with_http_header("x-amz-server-side-encryption-customer-key-MD5");
  896    896   
static PUTOBJECTINPUT_MEMBER_SSEKMS_KEY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  897    897   
    ::aws_smithy_schema::ShapeId::from_static(
  898    898   
        "com.amazonaws.s3.synthetic#PutObjectInput$SSEKMSKeyId",
  899    899   
        "com.amazonaws.s3.synthetic",
  900    900   
        "PutObjectInput",
  901    901   
    ),
  902    902   
    ::aws_smithy_schema::ShapeType::String,
  903         -
    "ssekms_key_id",
         903  +
    "SSEKMSKeyId",
  904    904   
    32,
  905    905   
)
  906    906   
.with_http_header("x-amz-server-side-encryption-aws-kms-key-id");
  907    907   
static PUTOBJECTINPUT_MEMBER_SSEKMS_ENCRYPTION_CONTEXT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  908    908   
    ::aws_smithy_schema::ShapeId::from_static(
  909    909   
        "com.amazonaws.s3.synthetic#PutObjectInput$SSEKMSEncryptionContext",
  910    910   
        "com.amazonaws.s3.synthetic",
  911    911   
        "PutObjectInput",
  912    912   
    ),
  913    913   
    ::aws_smithy_schema::ShapeType::String,
  914         -
    "ssekms_encryption_context",
         914  +
    "SSEKMSEncryptionContext",
  915    915   
    33,
  916    916   
)
  917    917   
.with_http_header("x-amz-server-side-encryption-context");
  918    918   
static PUTOBJECTINPUT_MEMBER_BUCKET_KEY_ENABLED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  919    919   
    ::aws_smithy_schema::ShapeId::from_static(
  920    920   
        "com.amazonaws.s3.synthetic#PutObjectInput$BucketKeyEnabled",
  921    921   
        "com.amazonaws.s3.synthetic",
  922    922   
        "PutObjectInput",
  923    923   
    ),
  924    924   
    ::aws_smithy_schema::ShapeType::Boolean,
  925         -
    "bucket_key_enabled",
         925  +
    "BucketKeyEnabled",
  926    926   
    34,
  927    927   
)
  928    928   
.with_http_header("x-amz-server-side-encryption-bucket-key-enabled");
  929    929   
static PUTOBJECTINPUT_MEMBER_REQUEST_PAYER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  930    930   
    ::aws_smithy_schema::ShapeId::from_static(
  931    931   
        "com.amazonaws.s3.synthetic#PutObjectInput$RequestPayer",
  932    932   
        "com.amazonaws.s3.synthetic",
  933    933   
        "PutObjectInput",
  934    934   
    ),
  935    935   
    ::aws_smithy_schema::ShapeType::String,
  936         -
    "request_payer",
         936  +
    "RequestPayer",
  937    937   
    35,
  938    938   
)
  939    939   
.with_http_header("x-amz-request-payer");
  940    940   
static PUTOBJECTINPUT_MEMBER_TAGGING: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  941    941   
    ::aws_smithy_schema::ShapeId::from_static(
  942    942   
        "com.amazonaws.s3.synthetic#PutObjectInput$Tagging",
  943    943   
        "com.amazonaws.s3.synthetic",
  944    944   
        "PutObjectInput",
  945    945   
    ),
  946    946   
    ::aws_smithy_schema::ShapeType::String,
  947         -
    "tagging",
         947  +
    "Tagging",
  948    948   
    36,
  949    949   
)
  950    950   
.with_http_header("x-amz-tagging");
  951    951   
static PUTOBJECTINPUT_MEMBER_OBJECT_LOCK_MODE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  952    952   
    ::aws_smithy_schema::ShapeId::from_static(
  953    953   
        "com.amazonaws.s3.synthetic#PutObjectInput$ObjectLockMode",
  954    954   
        "com.amazonaws.s3.synthetic",
  955    955   
        "PutObjectInput",
  956    956   
    ),
  957    957   
    ::aws_smithy_schema::ShapeType::String,
  958         -
    "object_lock_mode",
         958  +
    "ObjectLockMode",
  959    959   
    37,
  960    960   
)
  961    961   
.with_http_header("x-amz-object-lock-mode");
  962    962   
static PUTOBJECTINPUT_MEMBER_OBJECT_LOCK_RETAIN_UNTIL_DATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  963    963   
    ::aws_smithy_schema::ShapeId::from_static(
  964    964   
        "com.amazonaws.s3.synthetic#PutObjectInput$ObjectLockRetainUntilDate",
  965    965   
        "com.amazonaws.s3.synthetic",
  966    966   
        "PutObjectInput",
  967    967   
    ),
  968    968   
    ::aws_smithy_schema::ShapeType::Timestamp,
  969         -
    "object_lock_retain_until_date",
         969  +
    "ObjectLockRetainUntilDate",
  970    970   
    38,
  971    971   
)
  972         -
.with_http_header("x-amz-object-lock-retain-until-date");
         972  +
.with_http_header("x-amz-object-lock-retain-until-date")
         973  +
.with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::DateTime);
  973    974   
static PUTOBJECTINPUT_MEMBER_OBJECT_LOCK_LEGAL_HOLD_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  974    975   
    ::aws_smithy_schema::ShapeId::from_static(
  975    976   
        "com.amazonaws.s3.synthetic#PutObjectInput$ObjectLockLegalHoldStatus",
  976    977   
        "com.amazonaws.s3.synthetic",
  977    978   
        "PutObjectInput",
  978    979   
    ),
  979    980   
    ::aws_smithy_schema::ShapeType::String,
  980         -
    "object_lock_legal_hold_status",
         981  +
    "ObjectLockLegalHoldStatus",
  981    982   
    39,
  982    983   
)
  983    984   
.with_http_header("x-amz-object-lock-legal-hold");
  984    985   
static PUTOBJECTINPUT_MEMBER_EXPECTED_BUCKET_OWNER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  985    986   
    ::aws_smithy_schema::ShapeId::from_static(
  986    987   
        "com.amazonaws.s3.synthetic#PutObjectInput$ExpectedBucketOwner",
  987    988   
        "com.amazonaws.s3.synthetic",
  988    989   
        "PutObjectInput",
  989    990   
    ),
  990    991   
    ::aws_smithy_schema::ShapeType::String,
  991         -
    "expected_bucket_owner",
         992  +
    "ExpectedBucketOwner",
  992    993   
    40,
  993    994   
)
  994    995   
.with_http_header("x-amz-expected-bucket-owner");
  995    996   
static PUTOBJECTINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  996    997   
    PUTOBJECTINPUT_SCHEMA_ID,
  997    998   
    ::aws_smithy_schema::ShapeType::Structure,
  998    999   
    &[
  999   1000   
        &PUTOBJECTINPUT_MEMBER_ACL,
 1000   1001   
        &PUTOBJECTINPUT_MEMBER_BODY,
 1001   1002   
        &PUTOBJECTINPUT_MEMBER_BUCKET,
 1002   1003   
        &PUTOBJECTINPUT_MEMBER_CACHE_CONTROL,
 1003   1004   
        &PUTOBJECTINPUT_MEMBER_CONTENT_DISPOSITION,
 1004   1005   
        &PUTOBJECTINPUT_MEMBER_CONTENT_ENCODING,
 1005   1006   
        &PUTOBJECTINPUT_MEMBER_CONTENT_LANGUAGE,
 1006   1007   
        &PUTOBJECTINPUT_MEMBER_CONTENT_LENGTH,
 1007   1008   
        &PUTOBJECTINPUT_MEMBER_CONTENT_MD5,
 1008   1009   
        &PUTOBJECTINPUT_MEMBER_CONTENT_TYPE,
 1009   1010   
        &PUTOBJECTINPUT_MEMBER_CHECKSUM_ALGORITHM,
 1010   1011   
        &PUTOBJECTINPUT_MEMBER_CHECKSUM_CRC32,
 1011   1012   
        &PUTOBJECTINPUT_MEMBER_CHECKSUM_CRC32_C,
 1012   1013   
        &PUTOBJECTINPUT_MEMBER_CHECKSUM_CRC64_NVME,
 1013   1014   
        &PUTOBJECTINPUT_MEMBER_CHECKSUM_SHA1,
 1014   1015   
        &PUTOBJECTINPUT_MEMBER_CHECKSUM_SHA256,
 1015   1016   
        &PUTOBJECTINPUT_MEMBER_EXPIRES,
 1016   1017   
        &PUTOBJECTINPUT_MEMBER_IF_MATCH,
 1017   1018   
        &PUTOBJECTINPUT_MEMBER_IF_NONE_MATCH,
 1018   1019   
        &PUTOBJECTINPUT_MEMBER_GRANT_FULL_CONTROL,
 1019   1020   
        &PUTOBJECTINPUT_MEMBER_GRANT_READ,
 1020   1021   
        &PUTOBJECTINPUT_MEMBER_GRANT_READ_ACP,
 1021   1022   
        &PUTOBJECTINPUT_MEMBER_GRANT_WRITE_ACP,
 1022   1023   
        &PUTOBJECTINPUT_MEMBER_KEY,
 1023   1024   
        &PUTOBJECTINPUT_MEMBER_WRITE_OFFSET_BYTES,
 1024   1025   
        &PUTOBJECTINPUT_MEMBER_METADATA,
 1025   1026   
        &PUTOBJECTINPUT_MEMBER_SERVER_SIDE_ENCRYPTION,
 1026   1027   
        &PUTOBJECTINPUT_MEMBER_STORAGE_CLASS,
 1027   1028   
        &PUTOBJECTINPUT_MEMBER_WEBSITE_REDIRECT_LOCATION,
 1028   1029   
        &PUTOBJECTINPUT_MEMBER_SSE_CUSTOMER_ALGORITHM,
 1029   1030   
        &PUTOBJECTINPUT_MEMBER_SSE_CUSTOMER_KEY,
 1030   1031   
        &PUTOBJECTINPUT_MEMBER_SSE_CUSTOMER_KEY_MD5,
 1031   1032   
        &PUTOBJECTINPUT_MEMBER_SSEKMS_KEY_ID,
 1032   1033   
        &PUTOBJECTINPUT_MEMBER_SSEKMS_ENCRYPTION_CONTEXT,
 1033   1034   
        &PUTOBJECTINPUT_MEMBER_BUCKET_KEY_ENABLED,
 1034   1035   
        &PUTOBJECTINPUT_MEMBER_REQUEST_PAYER,
 1035   1036   
        &PUTOBJECTINPUT_MEMBER_TAGGING,
 1036   1037   
        &PUTOBJECTINPUT_MEMBER_OBJECT_LOCK_MODE,
 1037   1038   
        &PUTOBJECTINPUT_MEMBER_OBJECT_LOCK_RETAIN_UNTIL_DATE,
 1038   1039   
        &PUTOBJECTINPUT_MEMBER_OBJECT_LOCK_LEGAL_HOLD_STATUS,
 1039   1040   
        &PUTOBJECTINPUT_MEMBER_EXPECTED_BUCKET_OWNER,
 1040   1041   
    ],
 1041         -
);
        1042  +
)
        1043  +
.with_http(aws_smithy_schema::traits::HttpTrait::new("PUT", "/{Key+}?x-id=PutObject", None));
 1042   1044   
impl PutObjectInput {
 1043   1045   
    /// The schema for this shape.
 1044   1046   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &PUTOBJECTINPUT_SCHEMA;
 1045   1047   
}
 1046   1048   
impl ::aws_smithy_schema::serde::SerializableStruct for PutObjectInput {
 1047   1049   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
 1048   1050   
    fn serialize_members(
 1049   1051   
        &self,
 1050   1052   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
 1051   1053   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
 1052   1054   
        if let Some(ref val) = self.acl {
 1053   1055   
            ser.write_string(&PUTOBJECTINPUT_MEMBER_ACL, val.as_str())?;
 1054   1056   
        }
 1055         -
        {
 1056         -
            let val = &self.body;
 1057         -
            // streaming blob is serialized as the HTTP body by the protocol, not the codec
 1058         -
        }
 1059   1057   
        if let Some(ref val) = self.bucket {
 1060   1058   
            ser.write_string(&PUTOBJECTINPUT_MEMBER_BUCKET, val)?;
 1061   1059   
        }
 1062   1060   
        if let Some(ref val) = self.cache_control {
 1063   1061   
            ser.write_string(&PUTOBJECTINPUT_MEMBER_CACHE_CONTROL, val)?;
 1064   1062   
        }
 1065   1063   
        if let Some(ref val) = self.content_disposition {
 1066   1064   
            ser.write_string(&PUTOBJECTINPUT_MEMBER_CONTENT_DISPOSITION, val)?;
 1067   1065   
        }
 1068   1066   
        if let Some(ref val) = self.content_encoding {
@@ -1160,1158 +1232,1230 @@
 1180   1178   
            ser.write_string(&PUTOBJECTINPUT_MEMBER_OBJECT_LOCK_LEGAL_HOLD_STATUS, val.as_str())?;
 1181   1179   
        }
 1182   1180   
        if let Some(ref val) = self.expected_bucket_owner {
 1183   1181   
            ser.write_string(&PUTOBJECTINPUT_MEMBER_EXPECTED_BUCKET_OWNER, val)?;
 1184   1182   
        }
 1185   1183   
        Ok(())
 1186   1184   
    }
 1187   1185   
}
 1188   1186   
impl PutObjectInput {
 1189   1187   
    /// Deserializes this structure from a [`ShapeDeserializer`].
 1190         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
 1191         -
        deserializer: &mut D,
        1188  +
    pub fn deserialize(
        1189  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
 1192   1190   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
 1193   1191   
        #[allow(unused_variables, unused_mut)]
 1194   1192   
        let mut builder = Self::builder();
 1195   1193   
        #[allow(
 1196   1194   
            unused_variables,
 1197   1195   
            unreachable_code,
 1198   1196   
            clippy::single_match,
 1199   1197   
            clippy::match_single_binding,
 1200   1198   
            clippy::diverging_sub_expression
 1201   1199   
        )]
 1202         -
        deserializer.read_struct(&PUTOBJECTINPUT_SCHEMA, (), |_, member, deser| {
        1200  +
        deserializer.read_struct(&PUTOBJECTINPUT_SCHEMA, &mut |member, deser| {
 1203   1201   
            match member.member_index() {
 1204   1202   
                Some(0) => {
 1205   1203   
                    builder.acl = Some(crate::types::ObjectCannedAcl::from(deser.read_string(member)?.as_str()));
 1206   1204   
                }
 1207   1205   
                Some(1) => {
 1208   1206   
                    builder.body = Some({
 1209   1207   
                        let _ = member;
 1210   1208   
                        ::aws_smithy_types::byte_stream::ByteStream::new(::aws_smithy_types::body::SdkBody::empty())
 1211   1209   
                    });
 1212   1210   
                }
@@ -1253,1251 +1373,1565 @@
 1273   1271   
                Some(22) => {
 1274   1272   
                    builder.grant_write_acp = Some(deser.read_string(member)?);
 1275   1273   
                }
 1276   1274   
                Some(23) => {
 1277   1275   
                    builder.key = Some(deser.read_string(member)?);
 1278   1276   
                }
 1279   1277   
                Some(24) => {
 1280   1278   
                    builder.write_offset_bytes = Some(deser.read_long(member)?);
 1281   1279   
                }
 1282   1280   
                Some(25) => {
 1283         -
                    builder.metadata = Some({
 1284         -
                        let container = if let Some(cap) = deser.container_size() {
 1285         -
                            std::collections::HashMap::with_capacity(cap)
 1286         -
                        } else {
 1287         -
                            std::collections::HashMap::new()
 1288         -
                        };
 1289         -
                        deser.read_map(member, container, |mut map, key, deser| {
 1290         -
                            map.insert(key, deser.read_string(member)?);
 1291         -
                            Ok(map)
 1292         -
                        })?
 1293         -
                    });
        1281  +
                    builder.metadata = Some(deser.read_string_string_map(member)?);
 1294   1282   
                }
 1295   1283   
                Some(26) => {
 1296   1284   
                    builder.server_side_encryption = Some(crate::types::ServerSideEncryption::from(deser.read_string(member)?.as_str()));
 1297   1285   
                }
 1298   1286   
                Some(27) => {
 1299   1287   
                    builder.storage_class = Some(crate::types::StorageClass::from(deser.read_string(member)?.as_str()));
 1300   1288   
                }
 1301   1289   
                Some(28) => {
 1302   1290   
                    builder.website_redirect_location = Some(deser.read_string(member)?);
 1303   1291   
                }
 1304   1292   
                Some(29) => {
 1305   1293   
                    builder.sse_customer_algorithm = Some(deser.read_string(member)?);
 1306   1294   
                }
 1307   1295   
                Some(30) => {
 1308   1296   
                    builder.sse_customer_key = Some(deser.read_string(member)?);
 1309   1297   
                }
 1310   1298   
                Some(31) => {
 1311   1299   
                    builder.sse_customer_key_md5 = Some(deser.read_string(member)?);
 1312   1300   
                }
 1313   1301   
                Some(32) => {
 1314   1302   
                    builder.ssekms_key_id = Some(deser.read_string(member)?);
 1315   1303   
                }
 1316   1304   
                Some(33) => {
 1317   1305   
                    builder.ssekms_encryption_context = Some(deser.read_string(member)?);
 1318   1306   
                }
 1319   1307   
                Some(34) => {
 1320   1308   
                    builder.bucket_key_enabled = Some(deser.read_boolean(member)?);
 1321   1309   
                }
 1322   1310   
                Some(35) => {
 1323   1311   
                    builder.request_payer = Some(crate::types::RequestPayer::from(deser.read_string(member)?.as_str()));
 1324   1312   
                }
 1325   1313   
                Some(36) => {
 1326   1314   
                    builder.tagging = Some(deser.read_string(member)?);
 1327   1315   
                }
 1328   1316   
                Some(37) => {
 1329   1317   
                    builder.object_lock_mode = Some(crate::types::ObjectLockMode::from(deser.read_string(member)?.as_str()));
 1330   1318   
                }
 1331   1319   
                Some(38) => {
 1332   1320   
                    builder.object_lock_retain_until_date = Some(deser.read_timestamp(member)?);
 1333   1321   
                }
 1334   1322   
                Some(39) => {
 1335   1323   
                    builder.object_lock_legal_hold_status = Some(crate::types::ObjectLockLegalHoldStatus::from(deser.read_string(member)?.as_str()));
 1336   1324   
                }
 1337   1325   
                Some(40) => {
 1338   1326   
                    builder.expected_bucket_owner = Some(deser.read_string(member)?);
 1339   1327   
                }
 1340   1328   
                _ => {}
 1341   1329   
            }
 1342   1330   
            Ok(())
 1343   1331   
        })?;
        1332  +
        builder.bucket = builder.bucket.or(Some(String::new()));
        1333  +
        builder.key = builder.key.or(Some(String::new()));
        1334  +
        builder
        1335  +
            .build()
        1336  +
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
        1337  +
    }
        1338  +
}
        1339  +
impl PutObjectInput {
        1340  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
        1341  +
    /// Header-bound members are read directly from headers, avoiding runtime
        1342  +
    /// member iteration overhead. Body members are read via the deserializer.
        1343  +
    pub fn deserialize_with_response(
        1344  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
        1345  +
        headers: &::aws_smithy_runtime_api::http::Headers,
        1346  +
        _status: u16,
        1347  +
        _body: &[u8],
        1348  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
        1349  +
        #[allow(unused_variables, unused_mut)]
        1350  +
        let mut builder = Self::builder();
        1351  +
        if let Some(val) = headers.get("x-amz-acl") {
        1352  +
            builder.acl = Some(crate::types::ObjectCannedAcl::from(val));
        1353  +
        }
        1354  +
        if let Some(val) = headers.get("Cache-Control") {
        1355  +
            builder.cache_control = Some(val.to_string());
        1356  +
        }
        1357  +
        if let Some(val) = headers.get("Content-Disposition") {
        1358  +
            builder.content_disposition = Some(val.to_string());
        1359  +
        }
        1360  +
        if let Some(val) = headers.get("Content-Encoding") {
        1361  +
            builder.content_encoding = Some(val.to_string());
        1362  +
        }
        1363  +
        if let Some(val) = headers.get("Content-Language") {
        1364  +
            builder.content_language = Some(val.to_string());
        1365  +
        }
        1366  +
        if let Some(val) = headers.get("Content-Length") {
        1367  +
            builder.content_length = val.parse::<i64>().ok();
        1368  +
        }
        1369  +
        if let Some(val) = headers.get("Content-MD5") {
        1370  +
            builder.content_md5 = Some(val.to_string());
        1371  +
        }
        1372  +
        if let Some(val) = headers.get("Content-Type") {
        1373  +
            builder.content_type = Some(val.to_string());
        1374  +
        }
        1375  +
        if let Some(val) = headers.get("x-amz-sdk-checksum-algorithm") {
        1376  +
            builder.checksum_algorithm = Some(crate::types::ChecksumAlgorithm::from(val));
        1377  +
        }
        1378  +
        if let Some(val) = headers.get("x-amz-checksum-crc32") {
        1379  +
            builder.checksum_crc32 = Some(val.to_string());
        1380  +
        }
        1381  +
        if let Some(val) = headers.get("x-amz-checksum-crc32c") {
        1382  +
            builder.checksum_crc32_c = Some(val.to_string());
        1383  +
        }
        1384  +
        if let Some(val) = headers.get("x-amz-checksum-crc64nvme") {
        1385  +
            builder.checksum_crc64_nvme = Some(val.to_string());
        1386  +
        }
        1387  +
        if let Some(val) = headers.get("x-amz-checksum-sha1") {
        1388  +
            builder.checksum_sha1 = Some(val.to_string());
        1389  +
        }
        1390  +
        if let Some(val) = headers.get("x-amz-checksum-sha256") {
        1391  +
            builder.checksum_sha256 = Some(val.to_string());
        1392  +
        }
        1393  +
        if let Some(val) = headers.get("Expires") {
        1394  +
            builder.expires = ::aws_smithy_types::DateTime::from_str(val, ::aws_smithy_types::date_time::Format::HttpDate).ok();
        1395  +
        }
        1396  +
        if let Some(val) = headers.get("If-Match") {
        1397  +
            builder.if_match = Some(val.to_string());
        1398  +
        }
        1399  +
        if let Some(val) = headers.get("If-None-Match") {
        1400  +
            builder.if_none_match = Some(val.to_string());
        1401  +
        }
        1402  +
        if let Some(val) = headers.get("x-amz-grant-full-control") {
        1403  +
            builder.grant_full_control = Some(val.to_string());
        1404  +
        }
        1405  +
        if let Some(val) = headers.get("x-amz-grant-read") {
        1406  +
            builder.grant_read = Some(val.to_string());
        1407  +
        }
        1408  +
        if let Some(val) = headers.get("x-amz-grant-read-acp") {
        1409  +
            builder.grant_read_acp = Some(val.to_string());
        1410  +
        }
        1411  +
        if let Some(val) = headers.get("x-amz-grant-write-acp") {
        1412  +
            builder.grant_write_acp = Some(val.to_string());
        1413  +
        }
        1414  +
        if let Some(val) = headers.get("x-amz-write-offset-bytes") {
        1415  +
            builder.write_offset_bytes = val.parse::<i64>().ok();
        1416  +
        }
        1417  +
        if let Some(val) = headers.get("x-amz-server-side-encryption") {
        1418  +
            builder.server_side_encryption = Some(crate::types::ServerSideEncryption::from(val));
        1419  +
        }
        1420  +
        if let Some(val) = headers.get("x-amz-storage-class") {
        1421  +
            builder.storage_class = Some(crate::types::StorageClass::from(val));
        1422  +
        }
        1423  +
        if let Some(val) = headers.get("x-amz-website-redirect-location") {
        1424  +
            builder.website_redirect_location = Some(val.to_string());
        1425  +
        }
        1426  +
        if let Some(val) = headers.get("x-amz-server-side-encryption-customer-algorithm") {
        1427  +
            builder.sse_customer_algorithm = Some(val.to_string());
        1428  +
        }
        1429  +
        if let Some(val) = headers.get("x-amz-server-side-encryption-customer-key") {
        1430  +
            builder.sse_customer_key = Some(val.to_string());
        1431  +
        }
        1432  +
        if let Some(val) = headers.get("x-amz-server-side-encryption-customer-key-MD5") {
        1433  +
            builder.sse_customer_key_md5 = Some(val.to_string());
        1434  +
        }
        1435  +
        if let Some(val) = headers.get("x-amz-server-side-encryption-aws-kms-key-id") {
        1436  +
            builder.ssekms_key_id = Some(val.to_string());
        1437  +
        }
        1438  +
        if let Some(val) = headers.get("x-amz-server-side-encryption-context") {
        1439  +
            builder.ssekms_encryption_context = Some(val.to_string());
        1440  +
        }
        1441  +
        if let Some(val) = headers.get("x-amz-server-side-encryption-bucket-key-enabled") {
        1442  +
            builder.bucket_key_enabled = val.parse::<bool>().ok();
        1443  +
        }
        1444  +
        if let Some(val) = headers.get("x-amz-request-payer") {
        1445  +
            builder.request_payer = Some(crate::types::RequestPayer::from(val));
        1446  +
        }
        1447  +
        if let Some(val) = headers.get("x-amz-tagging") {
        1448  +
            builder.tagging = Some(val.to_string());
        1449  +
        }
        1450  +
        if let Some(val) = headers.get("x-amz-object-lock-mode") {
        1451  +
            builder.object_lock_mode = Some(crate::types::ObjectLockMode::from(val));
        1452  +
        }
        1453  +
        if let Some(val) = headers.get("x-amz-object-lock-retain-until-date") {
        1454  +
            builder.object_lock_retain_until_date = ::aws_smithy_types::DateTime::from_str(val, ::aws_smithy_types::date_time::Format::DateTime).ok();
        1455  +
        }
        1456  +
        if let Some(val) = headers.get("x-amz-object-lock-legal-hold") {
        1457  +
            builder.object_lock_legal_hold_status = Some(crate::types::ObjectLockLegalHoldStatus::from(val));
        1458  +
        }
        1459  +
        if let Some(val) = headers.get("x-amz-expected-bucket-owner") {
        1460  +
            builder.expected_bucket_owner = Some(val.to_string());
        1461  +
        }
        1462  +
        {
        1463  +
            let mut map = ::std::collections::HashMap::new();
        1464  +
            for (key, val) in headers.iter() {
        1465  +
                if let Some(suffix) = key.strip_prefix("x-amz-meta-") {
        1466  +
                    map.insert(suffix.to_string(), val.to_string());
        1467  +
                }
        1468  +
            }
        1469  +
            if !map.is_empty() {
        1470  +
                builder.metadata = Some(map);
        1471  +
            }
        1472  +
        }
        1473  +
        #[allow(
        1474  +
            unused_variables,
        1475  +
            unreachable_code,
        1476  +
            clippy::single_match,
        1477  +
            clippy::match_single_binding,
        1478  +
            clippy::diverging_sub_expression
        1479  +
        )]
        1480  +
        deserializer.read_struct(&PUTOBJECTINPUT_SCHEMA, &mut |member, deser| {
        1481  +
            match member.member_index() {
        1482  +
                Some(0) => { /* read from headers above */ }
        1483  +
                Some(1) => {
        1484  +
                    builder.body = Some({
        1485  +
                        let _ = member;
        1486  +
                        ::aws_smithy_types::byte_stream::ByteStream::new(::aws_smithy_types::body::SdkBody::empty())
        1487  +
                    });
        1488  +
                }
        1489  +
                Some(2) => {
        1490  +
                    builder.bucket = Some(deser.read_string(member)?);
        1491  +
                }
        1492  +
                Some(3) => { /* read from headers above */ }
        1493  +
                Some(4) => { /* read from headers above */ }
        1494  +
                Some(5) => { /* read from headers above */ }
        1495  +
                Some(6) => { /* read from headers above */ }
        1496  +
                Some(7) => { /* read from headers above */ }
        1497  +
                Some(8) => { /* read from headers above */ }
        1498  +
                Some(9) => { /* read from headers above */ }
        1499  +
                Some(10) => { /* read from headers above */ }
        1500  +
                Some(11) => { /* read from headers above */ }
        1501  +
                Some(12) => { /* read from headers above */ }
        1502  +
                Some(13) => { /* read from headers above */ }
        1503  +
                Some(14) => { /* read from headers above */ }
        1504  +
                Some(15) => { /* read from headers above */ }
        1505  +
                Some(16) => { /* read from headers above */ }
        1506  +
                Some(17) => { /* read from headers above */ }
        1507  +
                Some(18) => { /* read from headers above */ }
        1508  +
                Some(19) => { /* read from headers above */ }
        1509  +
                Some(20) => { /* read from headers above */ }
        1510  +
                Some(21) => { /* read from headers above */ }
        1511  +
                Some(22) => { /* read from headers above */ }
        1512  +
                Some(23) => {
        1513  +
                    builder.key = Some(deser.read_string(member)?);
        1514  +
                }
        1515  +
                Some(24) => { /* read from headers above */ }
        1516  +
                Some(25) => { /* read from headers above */ }
        1517  +
                Some(26) => { /* read from headers above */ }
        1518  +
                Some(27) => { /* read from headers above */ }
        1519  +
                Some(28) => { /* read from headers above */ }
        1520  +
                Some(29) => { /* read from headers above */ }
        1521  +
                Some(30) => { /* read from headers above */ }
        1522  +
                Some(31) => { /* read from headers above */ }
        1523  +
                Some(32) => { /* read from headers above */ }
        1524  +
                Some(33) => { /* read from headers above */ }
        1525  +
                Some(34) => { /* read from headers above */ }
        1526  +
                Some(35) => { /* read from headers above */ }
        1527  +
                Some(36) => { /* read from headers above */ }
        1528  +
                Some(37) => { /* read from headers above */ }
        1529  +
                Some(38) => { /* read from headers above */ }
        1530  +
                Some(39) => { /* read from headers above */ }
        1531  +
                Some(40) => { /* read from headers above */ }
        1532  +
                _ => {}
        1533  +
            }
        1534  +
            Ok(())
        1535  +
        })?;
 1344   1536   
        builder
 1345   1537   
            .build()
 1346   1538   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
 1347   1539   
    }
 1348   1540   
}
 1349   1541   
impl PutObjectInput {
 1350   1542   
    /// Creates a new builder-style object to manufacture [`PutObjectInput`](crate::operation::put_object::PutObjectInput).
 1351   1543   
    pub fn builder() -> crate::operation::put_object::builders::PutObjectInputBuilder {
 1352   1544   
        crate::operation::put_object::builders::PutObjectInputBuilder::default()
 1353   1545   
    }

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

@@ -154,154 +414,422 @@
  174    174   
    "com.amazonaws.s3.synthetic",
  175    175   
    "PutObjectOutput",
  176    176   
);
  177    177   
static PUTOBJECTOUTPUT_MEMBER_EXPIRATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  178    178   
    ::aws_smithy_schema::ShapeId::from_static(
  179    179   
        "com.amazonaws.s3.synthetic#PutObjectOutput$Expiration",
  180    180   
        "com.amazonaws.s3.synthetic",
  181    181   
        "PutObjectOutput",
  182    182   
    ),
  183    183   
    ::aws_smithy_schema::ShapeType::String,
  184         -
    "expiration",
         184  +
    "Expiration",
  185    185   
    0,
  186    186   
)
  187    187   
.with_http_header("x-amz-expiration");
  188    188   
static PUTOBJECTOUTPUT_MEMBER_E_TAG: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  189    189   
    ::aws_smithy_schema::ShapeId::from_static(
  190    190   
        "com.amazonaws.s3.synthetic#PutObjectOutput$ETag",
  191    191   
        "com.amazonaws.s3.synthetic",
  192    192   
        "PutObjectOutput",
  193    193   
    ),
  194    194   
    ::aws_smithy_schema::ShapeType::String,
  195         -
    "e_tag",
         195  +
    "ETag",
  196    196   
    1,
  197    197   
)
  198    198   
.with_http_header("ETag");
  199    199   
static PUTOBJECTOUTPUT_MEMBER_CHECKSUM_CRC32: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  200    200   
    ::aws_smithy_schema::ShapeId::from_static(
  201    201   
        "com.amazonaws.s3.synthetic#PutObjectOutput$ChecksumCRC32",
  202    202   
        "com.amazonaws.s3.synthetic",
  203    203   
        "PutObjectOutput",
  204    204   
    ),
  205    205   
    ::aws_smithy_schema::ShapeType::String,
  206         -
    "checksum_crc32",
         206  +
    "ChecksumCRC32",
  207    207   
    2,
  208    208   
)
  209    209   
.with_http_header("x-amz-checksum-crc32");
  210    210   
static PUTOBJECTOUTPUT_MEMBER_CHECKSUM_CRC32_C: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  211    211   
    ::aws_smithy_schema::ShapeId::from_static(
  212    212   
        "com.amazonaws.s3.synthetic#PutObjectOutput$ChecksumCRC32C",
  213    213   
        "com.amazonaws.s3.synthetic",
  214    214   
        "PutObjectOutput",
  215    215   
    ),
  216    216   
    ::aws_smithy_schema::ShapeType::String,
  217         -
    "checksum_crc32_c",
         217  +
    "ChecksumCRC32C",
  218    218   
    3,
  219    219   
)
  220    220   
.with_http_header("x-amz-checksum-crc32c");
  221    221   
static PUTOBJECTOUTPUT_MEMBER_CHECKSUM_CRC64_NVME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  222    222   
    ::aws_smithy_schema::ShapeId::from_static(
  223    223   
        "com.amazonaws.s3.synthetic#PutObjectOutput$ChecksumCRC64NVME",
  224    224   
        "com.amazonaws.s3.synthetic",
  225    225   
        "PutObjectOutput",
  226    226   
    ),
  227    227   
    ::aws_smithy_schema::ShapeType::String,
  228         -
    "checksum_crc64_nvme",
         228  +
    "ChecksumCRC64NVME",
  229    229   
    4,
  230    230   
)
  231    231   
.with_http_header("x-amz-checksum-crc64nvme");
  232    232   
static PUTOBJECTOUTPUT_MEMBER_CHECKSUM_SHA1: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  233    233   
    ::aws_smithy_schema::ShapeId::from_static(
  234    234   
        "com.amazonaws.s3.synthetic#PutObjectOutput$ChecksumSHA1",
  235    235   
        "com.amazonaws.s3.synthetic",
  236    236   
        "PutObjectOutput",
  237    237   
    ),
  238    238   
    ::aws_smithy_schema::ShapeType::String,
  239         -
    "checksum_sha1",
         239  +
    "ChecksumSHA1",
  240    240   
    5,
  241    241   
)
  242    242   
.with_http_header("x-amz-checksum-sha1");
  243    243   
static PUTOBJECTOUTPUT_MEMBER_CHECKSUM_SHA256: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  244    244   
    ::aws_smithy_schema::ShapeId::from_static(
  245    245   
        "com.amazonaws.s3.synthetic#PutObjectOutput$ChecksumSHA256",
  246    246   
        "com.amazonaws.s3.synthetic",
  247    247   
        "PutObjectOutput",
  248    248   
    ),
  249    249   
    ::aws_smithy_schema::ShapeType::String,
  250         -
    "checksum_sha256",
         250  +
    "ChecksumSHA256",
  251    251   
    6,
  252    252   
)
  253    253   
.with_http_header("x-amz-checksum-sha256");
  254    254   
static PUTOBJECTOUTPUT_MEMBER_CHECKSUM_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  255    255   
    ::aws_smithy_schema::ShapeId::from_static(
  256    256   
        "com.amazonaws.s3.synthetic#PutObjectOutput$ChecksumType",
  257    257   
        "com.amazonaws.s3.synthetic",
  258    258   
        "PutObjectOutput",
  259    259   
    ),
  260    260   
    ::aws_smithy_schema::ShapeType::String,
  261         -
    "checksum_type",
         261  +
    "ChecksumType",
  262    262   
    7,
  263    263   
)
  264    264   
.with_http_header("x-amz-checksum-type");
  265    265   
static PUTOBJECTOUTPUT_MEMBER_SERVER_SIDE_ENCRYPTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  266    266   
    ::aws_smithy_schema::ShapeId::from_static(
  267    267   
        "com.amazonaws.s3.synthetic#PutObjectOutput$ServerSideEncryption",
  268    268   
        "com.amazonaws.s3.synthetic",
  269    269   
        "PutObjectOutput",
  270    270   
    ),
  271    271   
    ::aws_smithy_schema::ShapeType::String,
  272         -
    "server_side_encryption",
         272  +
    "ServerSideEncryption",
  273    273   
    8,
  274    274   
)
  275    275   
.with_http_header("x-amz-server-side-encryption");
  276    276   
static PUTOBJECTOUTPUT_MEMBER_VERSION_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  277    277   
    ::aws_smithy_schema::ShapeId::from_static(
  278    278   
        "com.amazonaws.s3.synthetic#PutObjectOutput$VersionId",
  279    279   
        "com.amazonaws.s3.synthetic",
  280    280   
        "PutObjectOutput",
  281    281   
    ),
  282    282   
    ::aws_smithy_schema::ShapeType::String,
  283         -
    "version_id",
         283  +
    "VersionId",
  284    284   
    9,
  285    285   
)
  286    286   
.with_http_header("x-amz-version-id");
  287    287   
static PUTOBJECTOUTPUT_MEMBER_SSE_CUSTOMER_ALGORITHM: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  288    288   
    ::aws_smithy_schema::ShapeId::from_static(
  289    289   
        "com.amazonaws.s3.synthetic#PutObjectOutput$SSECustomerAlgorithm",
  290    290   
        "com.amazonaws.s3.synthetic",
  291    291   
        "PutObjectOutput",
  292    292   
    ),
  293    293   
    ::aws_smithy_schema::ShapeType::String,
  294         -
    "sse_customer_algorithm",
         294  +
    "SSECustomerAlgorithm",
  295    295   
    10,
  296    296   
)
  297    297   
.with_http_header("x-amz-server-side-encryption-customer-algorithm");
  298    298   
static PUTOBJECTOUTPUT_MEMBER_SSE_CUSTOMER_KEY_MD5: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  299    299   
    ::aws_smithy_schema::ShapeId::from_static(
  300    300   
        "com.amazonaws.s3.synthetic#PutObjectOutput$SSECustomerKeyMD5",
  301    301   
        "com.amazonaws.s3.synthetic",
  302    302   
        "PutObjectOutput",
  303    303   
    ),
  304    304   
    ::aws_smithy_schema::ShapeType::String,
  305         -
    "sse_customer_key_md5",
         305  +
    "SSECustomerKeyMD5",
  306    306   
    11,
  307    307   
)
  308    308   
.with_http_header("x-amz-server-side-encryption-customer-key-MD5");
  309    309   
static PUTOBJECTOUTPUT_MEMBER_SSEKMS_KEY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  310    310   
    ::aws_smithy_schema::ShapeId::from_static(
  311    311   
        "com.amazonaws.s3.synthetic#PutObjectOutput$SSEKMSKeyId",
  312    312   
        "com.amazonaws.s3.synthetic",
  313    313   
        "PutObjectOutput",
  314    314   
    ),
  315    315   
    ::aws_smithy_schema::ShapeType::String,
  316         -
    "ssekms_key_id",
         316  +
    "SSEKMSKeyId",
  317    317   
    12,
  318    318   
)
  319    319   
.with_http_header("x-amz-server-side-encryption-aws-kms-key-id");
  320    320   
static PUTOBJECTOUTPUT_MEMBER_SSEKMS_ENCRYPTION_CONTEXT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  321    321   
    ::aws_smithy_schema::ShapeId::from_static(
  322    322   
        "com.amazonaws.s3.synthetic#PutObjectOutput$SSEKMSEncryptionContext",
  323    323   
        "com.amazonaws.s3.synthetic",
  324    324   
        "PutObjectOutput",
  325    325   
    ),
  326    326   
    ::aws_smithy_schema::ShapeType::String,
  327         -
    "ssekms_encryption_context",
         327  +
    "SSEKMSEncryptionContext",
  328    328   
    13,
  329    329   
)
  330    330   
.with_http_header("x-amz-server-side-encryption-context");
  331    331   
static PUTOBJECTOUTPUT_MEMBER_BUCKET_KEY_ENABLED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  332    332   
    ::aws_smithy_schema::ShapeId::from_static(
  333    333   
        "com.amazonaws.s3.synthetic#PutObjectOutput$BucketKeyEnabled",
  334    334   
        "com.amazonaws.s3.synthetic",
  335    335   
        "PutObjectOutput",
  336    336   
    ),
  337    337   
    ::aws_smithy_schema::ShapeType::Boolean,
  338         -
    "bucket_key_enabled",
         338  +
    "BucketKeyEnabled",
  339    339   
    14,
  340    340   
)
  341    341   
.with_http_header("x-amz-server-side-encryption-bucket-key-enabled");
  342    342   
static PUTOBJECTOUTPUT_MEMBER_SIZE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  343    343   
    ::aws_smithy_schema::ShapeId::from_static(
  344    344   
        "com.amazonaws.s3.synthetic#PutObjectOutput$Size",
  345    345   
        "com.amazonaws.s3.synthetic",
  346    346   
        "PutObjectOutput",
  347    347   
    ),
  348    348   
    ::aws_smithy_schema::ShapeType::Long,
  349         -
    "size",
         349  +
    "Size",
  350    350   
    15,
  351    351   
)
  352    352   
.with_http_header("x-amz-object-size");
  353    353   
static PUTOBJECTOUTPUT_MEMBER_REQUEST_CHARGED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  354    354   
    ::aws_smithy_schema::ShapeId::from_static(
  355    355   
        "com.amazonaws.s3.synthetic#PutObjectOutput$RequestCharged",
  356    356   
        "com.amazonaws.s3.synthetic",
  357    357   
        "PutObjectOutput",
  358    358   
    ),
  359    359   
    ::aws_smithy_schema::ShapeType::String,
  360         -
    "request_charged",
         360  +
    "RequestCharged",
  361    361   
    16,
  362    362   
)
  363    363   
.with_http_header("x-amz-request-charged");
         364  +
static PUTOBJECTOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
         365  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
         366  +
    ::aws_smithy_schema::ShapeType::String,
         367  +
    "request_id",
         368  +
    17,
         369  +
)
         370  +
.with_http_header("x-amzn-requestid");
  364    371   
static PUTOBJECTOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  365    372   
    PUTOBJECTOUTPUT_SCHEMA_ID,
  366    373   
    ::aws_smithy_schema::ShapeType::Structure,
  367    374   
    &[
  368    375   
        &PUTOBJECTOUTPUT_MEMBER_EXPIRATION,
  369    376   
        &PUTOBJECTOUTPUT_MEMBER_E_TAG,
  370    377   
        &PUTOBJECTOUTPUT_MEMBER_CHECKSUM_CRC32,
  371    378   
        &PUTOBJECTOUTPUT_MEMBER_CHECKSUM_CRC32_C,
  372    379   
        &PUTOBJECTOUTPUT_MEMBER_CHECKSUM_CRC64_NVME,
  373    380   
        &PUTOBJECTOUTPUT_MEMBER_CHECKSUM_SHA1,
  374    381   
        &PUTOBJECTOUTPUT_MEMBER_CHECKSUM_SHA256,
  375    382   
        &PUTOBJECTOUTPUT_MEMBER_CHECKSUM_TYPE,
  376    383   
        &PUTOBJECTOUTPUT_MEMBER_SERVER_SIDE_ENCRYPTION,
  377    384   
        &PUTOBJECTOUTPUT_MEMBER_VERSION_ID,
  378    385   
        &PUTOBJECTOUTPUT_MEMBER_SSE_CUSTOMER_ALGORITHM,
  379    386   
        &PUTOBJECTOUTPUT_MEMBER_SSE_CUSTOMER_KEY_MD5,
  380    387   
        &PUTOBJECTOUTPUT_MEMBER_SSEKMS_KEY_ID,
  381    388   
        &PUTOBJECTOUTPUT_MEMBER_SSEKMS_ENCRYPTION_CONTEXT,
  382    389   
        &PUTOBJECTOUTPUT_MEMBER_BUCKET_KEY_ENABLED,
  383    390   
        &PUTOBJECTOUTPUT_MEMBER_SIZE,
  384    391   
        &PUTOBJECTOUTPUT_MEMBER_REQUEST_CHARGED,
         392  +
        &PUTOBJECTOUTPUT_MEMBER__REQUEST_ID,
  385    393   
    ],
  386    394   
);
  387    395   
impl PutObjectOutput {
  388    396   
    /// The schema for this shape.
  389    397   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &PUTOBJECTOUTPUT_SCHEMA;
  390    398   
}
  391    399   
impl ::aws_smithy_schema::serde::SerializableStruct for PutObjectOutput {
  392    400   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  393    401   
    fn serialize_members(
  394    402   
        &self,
@@ -423,431 +554,634 @@
  443    451   
            ser.write_long(&PUTOBJECTOUTPUT_MEMBER_SIZE, *val)?;
  444    452   
        }
  445    453   
        if let Some(ref val) = self.request_charged {
  446    454   
            ser.write_string(&PUTOBJECTOUTPUT_MEMBER_REQUEST_CHARGED, val.as_str())?;
  447    455   
        }
  448    456   
        Ok(())
  449    457   
    }
  450    458   
}
  451    459   
impl PutObjectOutput {
  452    460   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  453         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  454         -
        deserializer: &mut D,
         461  +
    pub fn deserialize(
         462  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  455    463   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  456    464   
        #[allow(unused_variables, unused_mut)]
  457    465   
        let mut builder = Self::builder();
  458    466   
        #[allow(
  459    467   
            unused_variables,
  460    468   
            unreachable_code,
  461    469   
            clippy::single_match,
  462    470   
            clippy::match_single_binding,
  463    471   
            clippy::diverging_sub_expression
  464    472   
        )]
  465         -
        deserializer.read_struct(&PUTOBJECTOUTPUT_SCHEMA, (), |_, member, deser| {
         473  +
        deserializer.read_struct(&PUTOBJECTOUTPUT_SCHEMA, &mut |member, deser| {
  466    474   
            match member.member_index() {
  467    475   
                Some(0) => {
  468    476   
                    builder.expiration = Some(deser.read_string(member)?);
  469    477   
                }
  470    478   
                Some(1) => {
  471    479   
                    builder.e_tag = Some(deser.read_string(member)?);
  472    480   
                }
  473    481   
                Some(2) => {
  474    482   
                    builder.checksum_crc32 = Some(deser.read_string(member)?);
  475    483   
                }
  476    484   
                Some(3) => {
  477    485   
                    builder.checksum_crc32_c = Some(deser.read_string(member)?);
  478    486   
                }
  479    487   
                Some(4) => {
  480    488   
                    builder.checksum_crc64_nvme = Some(deser.read_string(member)?);
  481    489   
                }
  482    490   
                Some(5) => {
  483    491   
                    builder.checksum_sha1 = Some(deser.read_string(member)?);
  484    492   
                }
  485    493   
                Some(6) => {
  486    494   
                    builder.checksum_sha256 = Some(deser.read_string(member)?);
  487    495   
                }
  488    496   
                Some(7) => {
  489    497   
                    builder.checksum_type = Some(crate::types::ChecksumType::from(deser.read_string(member)?.as_str()));
  490    498   
                }
  491    499   
                Some(8) => {
  492    500   
                    builder.server_side_encryption = Some(crate::types::ServerSideEncryption::from(deser.read_string(member)?.as_str()));
  493    501   
                }
  494    502   
                Some(9) => {
  495    503   
                    builder.version_id = Some(deser.read_string(member)?);
  496    504   
                }
  497    505   
                Some(10) => {
  498    506   
                    builder.sse_customer_algorithm = Some(deser.read_string(member)?);
  499    507   
                }
  500    508   
                Some(11) => {
  501    509   
                    builder.sse_customer_key_md5 = Some(deser.read_string(member)?);
  502    510   
                }
  503    511   
                Some(12) => {
  504    512   
                    builder.ssekms_key_id = Some(deser.read_string(member)?);
  505    513   
                }
  506    514   
                Some(13) => {
  507    515   
                    builder.ssekms_encryption_context = Some(deser.read_string(member)?);
  508    516   
                }
  509    517   
                Some(14) => {
  510    518   
                    builder.bucket_key_enabled = Some(deser.read_boolean(member)?);
  511    519   
                }
  512    520   
                Some(15) => {
  513    521   
                    builder.size = Some(deser.read_long(member)?);
  514    522   
                }
  515    523   
                Some(16) => {
  516    524   
                    builder.request_charged = Some(crate::types::RequestCharged::from(deser.read_string(member)?.as_str()));
  517    525   
                }
         526  +
                Some(17) => {
         527  +
                    builder._request_id = Some(deser.read_string(member)?);
         528  +
                }
  518    529   
                _ => {}
  519    530   
            }
  520    531   
            Ok(())
  521    532   
        })?;
  522    533   
        Ok(builder.build())
  523    534   
    }
  524    535   
}
         536  +
impl PutObjectOutput {
         537  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         538  +
    /// Header-bound members are read directly from headers, avoiding runtime
         539  +
    /// member iteration overhead. Body members are read via the deserializer.
         540  +
    pub fn deserialize_with_response(
         541  +
        _deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         542  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         543  +
        _status: u16,
         544  +
        _body: &[u8],
         545  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         546  +
        #[allow(unused_variables, unused_mut)]
         547  +
        let mut builder = Self::builder();
         548  +
        if let Some(val) = headers.get("x-amz-expiration") {
         549  +
            builder.expiration = Some(val.to_string());
         550  +
        }
         551  +
        if let Some(val) = headers.get("ETag") {
         552  +
            builder.e_tag = Some(val.to_string());
         553  +
        }
         554  +
        if let Some(val) = headers.get("x-amz-checksum-crc32") {
         555  +
            builder.checksum_crc32 = Some(val.to_string());
         556  +
        }
         557  +
        if let Some(val) = headers.get("x-amz-checksum-crc32c") {
         558  +
            builder.checksum_crc32_c = Some(val.to_string());
         559  +
        }
         560  +
        if let Some(val) = headers.get("x-amz-checksum-crc64nvme") {
         561  +
            builder.checksum_crc64_nvme = Some(val.to_string());
         562  +
        }
         563  +
        if let Some(val) = headers.get("x-amz-checksum-sha1") {
         564  +
            builder.checksum_sha1 = Some(val.to_string());
         565  +
        }
         566  +
        if let Some(val) = headers.get("x-amz-checksum-sha256") {
         567  +
            builder.checksum_sha256 = Some(val.to_string());
         568  +
        }
         569  +
        if let Some(val) = headers.get("x-amz-checksum-type") {
         570  +
            builder.checksum_type = Some(crate::types::ChecksumType::from(val));
         571  +
        }
         572  +
        if let Some(val) = headers.get("x-amz-server-side-encryption") {
         573  +
            builder.server_side_encryption = Some(crate::types::ServerSideEncryption::from(val));
         574  +
        }
         575  +
        if let Some(val) = headers.get("x-amz-version-id") {
         576  +
            builder.version_id = Some(val.to_string());
         577  +
        }
         578  +
        if let Some(val) = headers.get("x-amz-server-side-encryption-customer-algorithm") {
         579  +
            builder.sse_customer_algorithm = Some(val.to_string());
         580  +
        }
         581  +
        if let Some(val) = headers.get("x-amz-server-side-encryption-customer-key-MD5") {
         582  +
            builder.sse_customer_key_md5 = Some(val.to_string());
         583  +
        }
         584  +
        if let Some(val) = headers.get("x-amz-server-side-encryption-aws-kms-key-id") {
         585  +
            builder.ssekms_key_id = Some(val.to_string());
         586  +
        }
         587  +
        if let Some(val) = headers.get("x-amz-server-side-encryption-context") {
         588  +
            builder.ssekms_encryption_context = Some(val.to_string());
         589  +
        }
         590  +
        if let Some(val) = headers.get("x-amz-server-side-encryption-bucket-key-enabled") {
         591  +
            builder.bucket_key_enabled = val.parse::<bool>().ok();
         592  +
        }
         593  +
        if let Some(val) = headers.get("x-amz-object-size") {
         594  +
            builder.size = val.parse::<i64>().ok();
         595  +
        }
         596  +
        if let Some(val) = headers.get("x-amz-request-charged") {
         597  +
            builder.request_charged = Some(crate::types::RequestCharged::from(val));
         598  +
        }
         599  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         600  +
            builder._request_id = Some(val.to_string());
         601  +
        }
         602  +
        Ok(builder.build())
         603  +
    }
         604  +
}
  525    605   
impl crate::s3_request_id::RequestIdExt for PutObjectOutput {
  526    606   
    fn extended_request_id(&self) -> Option<&str> {
  527    607   
        self._extended_request_id.as_deref()
  528    608   
    }
  529    609   
}
  530    610   
impl ::aws_types::request_id::RequestId for PutObjectOutput {
  531    611   
    fn request_id(&self) -> Option<&str> {
  532    612   
        self._request_id.as_deref()
  533    613   
    }
  534    614   
}

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

@@ -1,1 +40,44 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Orchestration and serialization glue logic for `PutObjectAcl`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct PutObjectAcl;
    6      6   
impl PutObjectAcl {
    7      7   
    /// Creates a new `PutObjectAcl`
    8      8   
    pub fn new() -> Self {
    9      9   
        Self
   10     10   
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::put_object_acl::PutObjectAclInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::put_object_acl::PutObjectAclOutput::SCHEMA;
   11     15   
    pub(crate) async fn orchestrate(
   12     16   
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13     17   
        input: crate::operation::put_object_acl::PutObjectAclInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::put_object_acl::PutObjectAclOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::put_object_acl::PutObjectAclError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -180,184 +242,247 @@
  200    204   
                    .build(),
  201    205   
            );
  202    206   
  203    207   
        ::std::borrow::Cow::Owned(rcb)
  204    208   
    }
  205    209   
}
  206    210   
  207    211   
#[derive(Debug)]
  208    212   
struct PutObjectAclResponseDeserializer;
  209    213   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for PutObjectAclResponseDeserializer {
  210         -
    fn deserialize_nonstreaming(
         214  +
    fn deserialize_nonstreaming_with_config(
  211    215   
        &self,
  212    216   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         217  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  213    218   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  214    219   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  215    220   
        let headers = response.headers();
  216    221   
        let body = response.body().bytes().expect("body loaded");
  217    222   
        #[allow(unused_mut)]
  218    223   
        let mut force_error = false;
  219    224   
        ::tracing::debug!(extended_request_id = ?crate::s3_request_id::RequestIdExt::extended_request_id(response));
  220    225   
        if matches!(crate::rest_xml_unwrapped_errors::body_is_error(body), Ok(true)) {
  221    226   
            force_error = true;
  222    227   
        }