AWS SDK

AWS SDK

rev. e063993ca0ab793f44c575dbe707d50a5e3e2406 (ignoring whitespace)

Files changed:

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

@@ -53,53 +0,166 @@
   73     73   
    }
   74     74   
    /// Returns true if this is a [`Tag`](crate::types::MetricsFilter::Tag).
   75     75   
    pub fn is_tag(&self) -> bool {
   76     76   
        self.as_tag().is_ok()
   77     77   
    }
   78     78   
    /// Returns true if the enum instance is the `Unknown` variant.
   79     79   
    pub fn is_unknown(&self) -> bool {
   80     80   
        matches!(self, Self::Unknown)
   81     81   
    }
   82     82   
}
          83  +
static METRICSFILTER_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
          84  +
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#MetricsFilter", "com.amazonaws.s3", "MetricsFilter");
          85  +
static METRICSFILTER_MEMBER_PREFIX: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
          86  +
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#MetricsFilter$Prefix", "com.amazonaws.s3", "MetricsFilter"),
          87  +
    ::aws_smithy_schema::ShapeType::String,
          88  +
    "Prefix",
          89  +
    0,
          90  +
);
          91  +
static METRICSFILTER_MEMBER_TAG: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
          92  +
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#MetricsFilter$Tag", "com.amazonaws.s3", "MetricsFilter"),
          93  +
    ::aws_smithy_schema::ShapeType::Structure,
          94  +
    "Tag",
          95  +
    1,
          96  +
);
          97  +
static METRICSFILTER_MEMBER_ACCESSPOINTARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
          98  +
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#MetricsFilter$AccessPointArn", "com.amazonaws.s3", "MetricsFilter"),
          99  +
    ::aws_smithy_schema::ShapeType::String,
         100  +
    "AccessPointArn",
         101  +
    2,
         102  +
);
         103  +
static METRICSFILTER_MEMBER_AND: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
         104  +
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#MetricsFilter$And", "com.amazonaws.s3", "MetricsFilter"),
         105  +
    ::aws_smithy_schema::ShapeType::Structure,
         106  +
    "And",
         107  +
    3,
         108  +
);
         109  +
static METRICSFILTER_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
         110  +
    METRICSFILTER_SCHEMA_ID,
         111  +
    ::aws_smithy_schema::ShapeType::Union,
         112  +
    &[
         113  +
        &METRICSFILTER_MEMBER_PREFIX,
         114  +
        &METRICSFILTER_MEMBER_TAG,
         115  +
        &METRICSFILTER_MEMBER_ACCESSPOINTARN,
         116  +
        &METRICSFILTER_MEMBER_AND,
         117  +
    ],
         118  +
);
         119  +
impl MetricsFilter {
         120  +
    /// The schema for this shape.
         121  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &METRICSFILTER_SCHEMA;
         122  +
}
         123  +
impl ::aws_smithy_schema::serde::SerializableStruct for MetricsFilter {
         124  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
         125  +
    fn serialize_members(
         126  +
        &self,
         127  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
         128  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
         129  +
        match self {
         130  +
            Self::Prefix(val) => {
         131  +
                ser.write_string(&METRICSFILTER_MEMBER_PREFIX, val)?;
         132  +
            }
         133  +
            Self::Tag(val) => {
         134  +
                ser.write_struct(&METRICSFILTER_MEMBER_TAG, val)?;
         135  +
            }
         136  +
            Self::AccessPointArn(val) => {
         137  +
                ser.write_string(&METRICSFILTER_MEMBER_ACCESSPOINTARN, val)?;
         138  +
            }
         139  +
            Self::And(val) => {
         140  +
                ser.write_struct(&METRICSFILTER_MEMBER_AND, val)?;
         141  +
            }
         142  +
            Self::Unknown => return Err(::aws_smithy_schema::serde::SerdeError::custom("cannot serialize unknown union variant")),
         143  +
        }
         144  +
        Ok(())
         145  +
    }
         146  +
}
         147  +
impl MetricsFilter {
         148  +
    /// Deserializes this union from a [`ShapeDeserializer`].
         149  +
    pub fn deserialize(
         150  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         151  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         152  +
        let mut result: ::std::option::Option<Self> = ::std::option::Option::None;
         153  +
        #[allow(unused_variables, unreachable_code, clippy::single_match, clippy::match_single_binding)]
         154  +
        deserializer.read_struct(&METRICSFILTER_SCHEMA, &mut |member, deser| {
         155  +
            result = ::std::option::Option::Some(match member.member_index() {
         156  +
                Some(0) => Self::Prefix(deser.read_string(member)?),
         157  +
                Some(1) => Self::Tag(crate::types::Tag::deserialize(deser)?),
         158  +
                Some(2) => Self::AccessPointArn(deser.read_string(member)?),
         159  +
                Some(3) => Self::And(crate::types::MetricsAndOperator::deserialize(deser)?),
         160  +
                _ => Self::Unknown,
         161  +
            });
         162  +
            Ok(())
         163  +
        })?;
         164  +
        result.ok_or_else(|| ::aws_smithy_schema::serde::SerdeError::custom("expected a union variant"))
         165  +
    }
         166  +
}

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

@@ -41,41 +247,258 @@
   61     61   
    /// <p>The checksum type that is used to calculate the object’s checksum value. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
   62     62   
    pub fn checksum_type(&self) -> ::std::option::Option<&crate::types::ChecksumType> {
   63     63   
        self.checksum_type.as_ref()
   64     64   
    }
   65     65   
}
   66     66   
static MULTIPARTUPLOAD_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   67     67   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#MultipartUpload", "com.amazonaws.s3", "MultipartUpload");
   68     68   
static MULTIPARTUPLOAD_MEMBER_UPLOAD_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   69     69   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#MultipartUpload$UploadId", "com.amazonaws.s3", "MultipartUpload"),
   70     70   
    ::aws_smithy_schema::ShapeType::String,
   71         -
    "upload_id",
          71  +
    "UploadId",
   72     72   
    0,
   73     73   
);
   74     74   
static MULTIPARTUPLOAD_MEMBER_KEY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   75     75   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#MultipartUpload$Key", "com.amazonaws.s3", "MultipartUpload"),
   76     76   
    ::aws_smithy_schema::ShapeType::String,
   77         -
    "key",
          77  +
    "Key",
   78     78   
    1,
   79     79   
);
   80     80   
static MULTIPARTUPLOAD_MEMBER_INITIATED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   81     81   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#MultipartUpload$Initiated", "com.amazonaws.s3", "MultipartUpload"),
   82     82   
    ::aws_smithy_schema::ShapeType::Timestamp,
   83         -
    "initiated",
          83  +
    "Initiated",
   84     84   
    2,
   85     85   
);
   86     86   
static MULTIPARTUPLOAD_MEMBER_STORAGE_CLASS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   87     87   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#MultipartUpload$StorageClass", "com.amazonaws.s3", "MultipartUpload"),
   88     88   
    ::aws_smithy_schema::ShapeType::String,
   89         -
    "storage_class",
          89  +
    "StorageClass",
   90     90   
    3,
   91     91   
);
   92     92   
static MULTIPARTUPLOAD_MEMBER_OWNER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   93     93   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#MultipartUpload$Owner", "com.amazonaws.s3", "MultipartUpload"),
   94     94   
    ::aws_smithy_schema::ShapeType::Structure,
   95         -
    "owner",
          95  +
    "Owner",
   96     96   
    4,
   97     97   
);
   98     98   
static MULTIPARTUPLOAD_MEMBER_INITIATOR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   99     99   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#MultipartUpload$Initiator", "com.amazonaws.s3", "MultipartUpload"),
  100    100   
    ::aws_smithy_schema::ShapeType::Structure,
  101         -
    "initiator",
         101  +
    "Initiator",
  102    102   
    5,
  103    103   
);
  104    104   
static MULTIPARTUPLOAD_MEMBER_CHECKSUM_ALGORITHM: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  105    105   
    ::aws_smithy_schema::ShapeId::from_static(
  106    106   
        "com.amazonaws.s3#MultipartUpload$ChecksumAlgorithm",
  107    107   
        "com.amazonaws.s3",
  108    108   
        "MultipartUpload",
  109    109   
    ),
  110    110   
    ::aws_smithy_schema::ShapeType::String,
  111         -
    "checksum_algorithm",
         111  +
    "ChecksumAlgorithm",
  112    112   
    6,
  113    113   
);
  114    114   
static MULTIPARTUPLOAD_MEMBER_CHECKSUM_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  115    115   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#MultipartUpload$ChecksumType", "com.amazonaws.s3", "MultipartUpload"),
  116    116   
    ::aws_smithy_schema::ShapeType::String,
  117         -
    "checksum_type",
         117  +
    "ChecksumType",
  118    118   
    7,
  119    119   
);
  120    120   
static MULTIPARTUPLOAD_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  121    121   
    MULTIPARTUPLOAD_SCHEMA_ID,
  122    122   
    ::aws_smithy_schema::ShapeType::Structure,
  123    123   
    &[
  124    124   
        &MULTIPARTUPLOAD_MEMBER_UPLOAD_ID,
  125    125   
        &MULTIPARTUPLOAD_MEMBER_KEY,
  126    126   
        &MULTIPARTUPLOAD_MEMBER_INITIATED,
  127    127   
        &MULTIPARTUPLOAD_MEMBER_STORAGE_CLASS,
  128    128   
        &MULTIPARTUPLOAD_MEMBER_OWNER,
  129    129   
        &MULTIPARTUPLOAD_MEMBER_INITIATOR,
  130    130   
        &MULTIPARTUPLOAD_MEMBER_CHECKSUM_ALGORITHM,
  131    131   
        &MULTIPARTUPLOAD_MEMBER_CHECKSUM_TYPE,
  132    132   
    ],
  133    133   
);
  134    134   
impl MultipartUpload {
  135    135   
    /// The schema for this shape.
  136    136   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &MULTIPARTUPLOAD_SCHEMA;
  137    137   
}
  138    138   
impl ::aws_smithy_schema::serde::SerializableStruct for MultipartUpload {
  139    139   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  140    140   
    fn serialize_members(
  141    141   
        &self,
  142    142   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  143    143   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  144    144   
        if let Some(ref val) = self.upload_id {
  145    145   
            ser.write_string(&MULTIPARTUPLOAD_MEMBER_UPLOAD_ID, val)?;
  146    146   
        }
  147    147   
        if let Some(ref val) = self.key {
  148    148   
            ser.write_string(&MULTIPARTUPLOAD_MEMBER_KEY, val)?;
  149    149   
        }
  150    150   
        if let Some(ref val) = self.initiated {
  151    151   
            ser.write_timestamp(&MULTIPARTUPLOAD_MEMBER_INITIATED, val)?;
  152    152   
        }
  153    153   
        if let Some(ref val) = self.storage_class {
  154    154   
            ser.write_string(&MULTIPARTUPLOAD_MEMBER_STORAGE_CLASS, val.as_str())?;
  155    155   
        }
  156    156   
        if let Some(ref val) = self.owner {
  157    157   
            ser.write_struct(&MULTIPARTUPLOAD_MEMBER_OWNER, val)?;
  158    158   
        }
  159    159   
        if let Some(ref val) = self.initiator {
  160    160   
            ser.write_struct(&MULTIPARTUPLOAD_MEMBER_INITIATOR, val)?;
  161    161   
        }
  162    162   
        if let Some(ref val) = self.checksum_algorithm {
  163    163   
            ser.write_string(&MULTIPARTUPLOAD_MEMBER_CHECKSUM_ALGORITHM, val.as_str())?;
  164    164   
        }
  165    165   
        if let Some(ref val) = self.checksum_type {
  166    166   
            ser.write_string(&MULTIPARTUPLOAD_MEMBER_CHECKSUM_TYPE, val.as_str())?;
  167    167   
        }
  168    168   
        Ok(())
  169    169   
    }
  170    170   
}
  171    171   
impl MultipartUpload {
  172    172   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  173         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  174         -
        deserializer: &mut D,
         173  +
    pub fn deserialize(
         174  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  175    175   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  176    176   
        #[allow(unused_variables, unused_mut)]
  177    177   
        let mut builder = Self::builder();
  178    178   
        #[allow(
  179    179   
            unused_variables,
  180    180   
            unreachable_code,
  181    181   
            clippy::single_match,
  182    182   
            clippy::match_single_binding,
  183    183   
            clippy::diverging_sub_expression
  184    184   
        )]
  185         -
        deserializer.read_struct(&MULTIPARTUPLOAD_SCHEMA, (), |_, member, deser| {
         185  +
        deserializer.read_struct(&MULTIPARTUPLOAD_SCHEMA, &mut |member, deser| {
  186    186   
            match member.member_index() {
  187    187   
                Some(0) => {
  188    188   
                    builder.upload_id = Some(deser.read_string(member)?);
  189    189   
                }
  190    190   
                Some(1) => {
  191    191   
                    builder.key = Some(deser.read_string(member)?);
  192    192   
                }
  193    193   
                Some(2) => {
  194    194   
                    builder.initiated = Some(deser.read_timestamp(member)?);
  195    195   
                }
  196    196   
                Some(3) => {
  197    197   
                    builder.storage_class = Some(crate::types::StorageClass::from(deser.read_string(member)?.as_str()));
  198    198   
                }
  199    199   
                Some(4) => {
  200    200   
                    builder.owner = Some(crate::types::Owner::deserialize(deser)?);
  201    201   
                }
  202    202   
                Some(5) => {
  203    203   
                    builder.initiator = Some(crate::types::Initiator::deserialize(deser)?);
  204    204   
                }
  205    205   
                Some(6) => {
  206    206   
                    builder.checksum_algorithm = Some(crate::types::ChecksumAlgorithm::from(deser.read_string(member)?.as_str()));
  207    207   
                }
  208    208   
                Some(7) => {
  209    209   
                    builder.checksum_type = Some(crate::types::ChecksumType::from(deser.read_string(member)?.as_str()));
  210    210   
                }
  211    211   
                _ => {}
  212    212   
            }
  213    213   
            Ok(())
  214    214   
        })?;
  215    215   
        Ok(builder.build())
  216    216   
    }
  217    217   
}
         218  +
impl MultipartUpload {
         219  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         220  +
    pub fn deserialize_with_response(
         221  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         222  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         223  +
        _status: u16,
         224  +
        _body: &[u8],
         225  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         226  +
        Self::deserialize(deserializer)
         227  +
    }
         228  +
}
  218    229   
impl MultipartUpload {
  219    230   
    /// Creates a new builder-style object to manufacture [`MultipartUpload`](crate::types::MultipartUpload).
  220    231   
    pub fn builder() -> crate::types::builders::MultipartUploadBuilder {
  221    232   
        crate::types::builders::MultipartUploadBuilder::default()
  222    233   
    }
  223    234   
}
  224    235   
  225    236   
/// A builder for [`MultipartUpload`](crate::types::MultipartUpload).
  226    237   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  227    238   
#[non_exhaustive]

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

@@ -14,14 +142,153 @@
   34     34   
    "com.amazonaws.s3",
   35     35   
    "NoncurrentVersionExpiration",
   36     36   
);
   37     37   
static NONCURRENTVERSIONEXPIRATION_MEMBER_NONCURRENT_DAYS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   38     38   
    ::aws_smithy_schema::ShapeId::from_static(
   39     39   
        "com.amazonaws.s3#NoncurrentVersionExpiration$NoncurrentDays",
   40     40   
        "com.amazonaws.s3",
   41     41   
        "NoncurrentVersionExpiration",
   42     42   
    ),
   43     43   
    ::aws_smithy_schema::ShapeType::Integer,
   44         -
    "noncurrent_days",
          44  +
    "NoncurrentDays",
   45     45   
    0,
   46     46   
);
   47     47   
static NONCURRENTVERSIONEXPIRATION_MEMBER_NEWER_NONCURRENT_VERSIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   48     48   
    ::aws_smithy_schema::ShapeId::from_static(
   49     49   
        "com.amazonaws.s3#NoncurrentVersionExpiration$NewerNoncurrentVersions",
   50     50   
        "com.amazonaws.s3",
   51     51   
        "NoncurrentVersionExpiration",
   52     52   
    ),
   53     53   
    ::aws_smithy_schema::ShapeType::Integer,
   54         -
    "newer_noncurrent_versions",
          54  +
    "NewerNoncurrentVersions",
   55     55   
    1,
   56     56   
);
   57     57   
static NONCURRENTVERSIONEXPIRATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   58     58   
    NONCURRENTVERSIONEXPIRATION_SCHEMA_ID,
   59     59   
    ::aws_smithy_schema::ShapeType::Structure,
   60     60   
    &[
   61     61   
        &NONCURRENTVERSIONEXPIRATION_MEMBER_NONCURRENT_DAYS,
   62     62   
        &NONCURRENTVERSIONEXPIRATION_MEMBER_NEWER_NONCURRENT_VERSIONS,
   63     63   
    ],
   64     64   
);
   65     65   
impl NoncurrentVersionExpiration {
   66     66   
    /// The schema for this shape.
   67     67   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &NONCURRENTVERSIONEXPIRATION_SCHEMA;
   68     68   
}
   69     69   
impl ::aws_smithy_schema::serde::SerializableStruct for NoncurrentVersionExpiration {
   70     70   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   71     71   
    fn serialize_members(
   72     72   
        &self,
   73     73   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   74     74   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   75     75   
        if let Some(ref val) = self.noncurrent_days {
   76     76   
            ser.write_integer(&NONCURRENTVERSIONEXPIRATION_MEMBER_NONCURRENT_DAYS, *val)?;
   77     77   
        }
   78     78   
        if let Some(ref val) = self.newer_noncurrent_versions {
   79     79   
            ser.write_integer(&NONCURRENTVERSIONEXPIRATION_MEMBER_NEWER_NONCURRENT_VERSIONS, *val)?;
   80     80   
        }
   81     81   
        Ok(())
   82     82   
    }
   83     83   
}
   84     84   
impl NoncurrentVersionExpiration {
   85     85   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   86         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   87         -
        deserializer: &mut D,
          86  +
    pub fn deserialize(
          87  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   88     88   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   89     89   
        #[allow(unused_variables, unused_mut)]
   90     90   
        let mut builder = Self::builder();
   91     91   
        #[allow(
   92     92   
            unused_variables,
   93     93   
            unreachable_code,
   94     94   
            clippy::single_match,
   95     95   
            clippy::match_single_binding,
   96     96   
            clippy::diverging_sub_expression
   97     97   
        )]
   98         -
        deserializer.read_struct(&NONCURRENTVERSIONEXPIRATION_SCHEMA, (), |_, member, deser| {
          98  +
        deserializer.read_struct(&NONCURRENTVERSIONEXPIRATION_SCHEMA, &mut |member, deser| {
   99     99   
            match member.member_index() {
  100    100   
                Some(0) => {
  101    101   
                    builder.noncurrent_days = Some(deser.read_integer(member)?);
  102    102   
                }
  103    103   
                Some(1) => {
  104    104   
                    builder.newer_noncurrent_versions = Some(deser.read_integer(member)?);
  105    105   
                }
  106    106   
                _ => {}
  107    107   
            }
  108    108   
            Ok(())
  109    109   
        })?;
  110    110   
        Ok(builder.build())
  111    111   
    }
  112    112   
}
         113  +
impl NoncurrentVersionExpiration {
         114  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         115  +
    pub fn deserialize_with_response(
         116  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         117  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         118  +
        _status: u16,
         119  +
        _body: &[u8],
         120  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         121  +
        Self::deserialize(deserializer)
         122  +
    }
         123  +
}
  113    124   
impl NoncurrentVersionExpiration {
  114    125   
    /// Creates a new builder-style object to manufacture [`NoncurrentVersionExpiration`](crate::types::NoncurrentVersionExpiration).
  115    126   
    pub fn builder() -> crate::types::builders::NoncurrentVersionExpirationBuilder {
  116    127   
        crate::types::builders::NoncurrentVersionExpirationBuilder::default()
  117    128   
    }
  118    129   
}
  119    130   
  120    131   
/// A builder for [`NoncurrentVersionExpiration`](crate::types::NoncurrentVersionExpiration).
  121    132   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  122    133   
#[non_exhaustive]

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

@@ -10,10 +155,166 @@
   30     30   
    "com.amazonaws.s3",
   31     31   
    "NoncurrentVersionTransition",
   32     32   
);
   33     33   
static NONCURRENTVERSIONTRANSITION_MEMBER_NONCURRENT_DAYS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   34     34   
    ::aws_smithy_schema::ShapeId::from_static(
   35     35   
        "com.amazonaws.s3#NoncurrentVersionTransition$NoncurrentDays",
   36     36   
        "com.amazonaws.s3",
   37     37   
        "NoncurrentVersionTransition",
   38     38   
    ),
   39     39   
    ::aws_smithy_schema::ShapeType::Integer,
   40         -
    "noncurrent_days",
          40  +
    "NoncurrentDays",
   41     41   
    0,
   42     42   
);
   43     43   
static NONCURRENTVERSIONTRANSITION_MEMBER_STORAGE_CLASS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   44     44   
    ::aws_smithy_schema::ShapeId::from_static(
   45     45   
        "com.amazonaws.s3#NoncurrentVersionTransition$StorageClass",
   46     46   
        "com.amazonaws.s3",
   47     47   
        "NoncurrentVersionTransition",
   48     48   
    ),
   49     49   
    ::aws_smithy_schema::ShapeType::String,
   50         -
    "storage_class",
          50  +
    "StorageClass",
   51     51   
    1,
   52     52   
);
   53     53   
static NONCURRENTVERSIONTRANSITION_MEMBER_NEWER_NONCURRENT_VERSIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   54     54   
    ::aws_smithy_schema::ShapeId::from_static(
   55     55   
        "com.amazonaws.s3#NoncurrentVersionTransition$NewerNoncurrentVersions",
   56     56   
        "com.amazonaws.s3",
   57     57   
        "NoncurrentVersionTransition",
   58     58   
    ),
   59     59   
    ::aws_smithy_schema::ShapeType::Integer,
   60         -
    "newer_noncurrent_versions",
          60  +
    "NewerNoncurrentVersions",
   61     61   
    2,
   62     62   
);
   63     63   
static NONCURRENTVERSIONTRANSITION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   64     64   
    NONCURRENTVERSIONTRANSITION_SCHEMA_ID,
   65     65   
    ::aws_smithy_schema::ShapeType::Structure,
   66     66   
    &[
   67     67   
        &NONCURRENTVERSIONTRANSITION_MEMBER_NONCURRENT_DAYS,
   68     68   
        &NONCURRENTVERSIONTRANSITION_MEMBER_STORAGE_CLASS,
   69     69   
        &NONCURRENTVERSIONTRANSITION_MEMBER_NEWER_NONCURRENT_VERSIONS,
   70     70   
    ],
   71     71   
);
   72     72   
impl NoncurrentVersionTransition {
   73     73   
    /// The schema for this shape.
   74     74   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &NONCURRENTVERSIONTRANSITION_SCHEMA;
   75     75   
}
   76     76   
impl ::aws_smithy_schema::serde::SerializableStruct for NoncurrentVersionTransition {
   77     77   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   78     78   
    fn serialize_members(
   79     79   
        &self,
   80     80   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   81     81   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   82     82   
        if let Some(ref val) = self.noncurrent_days {
   83     83   
            ser.write_integer(&NONCURRENTVERSIONTRANSITION_MEMBER_NONCURRENT_DAYS, *val)?;
   84     84   
        }
   85     85   
        if let Some(ref val) = self.storage_class {
   86     86   
            ser.write_string(&NONCURRENTVERSIONTRANSITION_MEMBER_STORAGE_CLASS, val.as_str())?;
   87     87   
        }
   88     88   
        if let Some(ref val) = self.newer_noncurrent_versions {
   89     89   
            ser.write_integer(&NONCURRENTVERSIONTRANSITION_MEMBER_NEWER_NONCURRENT_VERSIONS, *val)?;
   90     90   
        }
   91     91   
        Ok(())
   92     92   
    }
   93     93   
}
   94     94   
impl NoncurrentVersionTransition {
   95     95   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   96         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   97         -
        deserializer: &mut D,
          96  +
    pub fn deserialize(
          97  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   98     98   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   99     99   
        #[allow(unused_variables, unused_mut)]
  100    100   
        let mut builder = Self::builder();
  101    101   
        #[allow(
  102    102   
            unused_variables,
  103    103   
            unreachable_code,
  104    104   
            clippy::single_match,
  105    105   
            clippy::match_single_binding,
  106    106   
            clippy::diverging_sub_expression
  107    107   
        )]
  108         -
        deserializer.read_struct(&NONCURRENTVERSIONTRANSITION_SCHEMA, (), |_, member, deser| {
         108  +
        deserializer.read_struct(&NONCURRENTVERSIONTRANSITION_SCHEMA, &mut |member, deser| {
  109    109   
            match member.member_index() {
  110    110   
                Some(0) => {
  111    111   
                    builder.noncurrent_days = Some(deser.read_integer(member)?);
  112    112   
                }
  113    113   
                Some(1) => {
  114    114   
                    builder.storage_class = Some(crate::types::TransitionStorageClass::from(deser.read_string(member)?.as_str()));
  115    115   
                }
  116    116   
                Some(2) => {
  117    117   
                    builder.newer_noncurrent_versions = Some(deser.read_integer(member)?);
  118    118   
                }
  119    119   
                _ => {}
  120    120   
            }
  121    121   
            Ok(())
  122    122   
        })?;
  123    123   
        Ok(builder.build())
  124    124   
    }
  125    125   
}
         126  +
impl NoncurrentVersionTransition {
         127  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         128  +
    pub fn deserialize_with_response(
         129  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         130  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         131  +
        _status: u16,
         132  +
        _body: &[u8],
         133  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         134  +
        Self::deserialize(deserializer)
         135  +
    }
         136  +
}
  126    137   
impl NoncurrentVersionTransition {
  127    138   
    /// Creates a new builder-style object to manufacture [`NoncurrentVersionTransition`](crate::types::NoncurrentVersionTransition).
  128    139   
    pub fn builder() -> crate::types::builders::NoncurrentVersionTransitionBuilder {
  129    140   
        crate::types::builders::NoncurrentVersionTransitionBuilder::default()
  130    141   
    }
  131    142   
}
  132    143   
  133    144   
/// A builder for [`NoncurrentVersionTransition`](crate::types::NoncurrentVersionTransition).
  134    145   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  135    146   
#[non_exhaustive]

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

@@ -22,22 +118,118 @@
   42     42   
    "com.amazonaws.s3",
   43     43   
    "NotificationConfiguration",
   44     44   
);
   45     45   
static NOTIFICATIONCONFIGURATION_MEMBER_TOPIC_CONFIGURATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   46     46   
    ::aws_smithy_schema::ShapeId::from_static(
   47     47   
        "com.amazonaws.s3#NotificationConfiguration$TopicConfigurations",
   48     48   
        "com.amazonaws.s3",
   49     49   
        "NotificationConfiguration",
   50     50   
    ),
   51     51   
    ::aws_smithy_schema::ShapeType::List,
   52         -
    "topic_configurations",
          52  +
    "TopicConfigurations",
   53     53   
    0,
   54     54   
)
   55     55   
.with_xml_name("TopicConfiguration")
   56     56   
.with_xml_flattened();
   57     57   
static NOTIFICATIONCONFIGURATION_MEMBER_QUEUE_CONFIGURATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   58     58   
    ::aws_smithy_schema::ShapeId::from_static(
   59     59   
        "com.amazonaws.s3#NotificationConfiguration$QueueConfigurations",
   60     60   
        "com.amazonaws.s3",
   61     61   
        "NotificationConfiguration",
   62     62   
    ),
   63     63   
    ::aws_smithy_schema::ShapeType::List,
   64         -
    "queue_configurations",
          64  +
    "QueueConfigurations",
   65     65   
    1,
   66     66   
)
   67     67   
.with_xml_name("QueueConfiguration")
   68     68   
.with_xml_flattened();
   69     69   
static NOTIFICATIONCONFIGURATION_MEMBER_LAMBDA_FUNCTION_CONFIGURATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   70     70   
    ::aws_smithy_schema::ShapeId::from_static(
   71     71   
        "com.amazonaws.s3#NotificationConfiguration$LambdaFunctionConfigurations",
   72     72   
        "com.amazonaws.s3",
   73     73   
        "NotificationConfiguration",
   74     74   
    ),
   75     75   
    ::aws_smithy_schema::ShapeType::List,
   76         -
    "lambda_function_configurations",
          76  +
    "LambdaFunctionConfigurations",
   77     77   
    2,
   78     78   
)
   79     79   
.with_xml_name("CloudFunctionConfiguration")
   80     80   
.with_xml_flattened();
   81     81   
static NOTIFICATIONCONFIGURATION_MEMBER_EVENT_BRIDGE_CONFIGURATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   82     82   
    ::aws_smithy_schema::ShapeId::from_static(
   83     83   
        "com.amazonaws.s3#NotificationConfiguration$EventBridgeConfiguration",
   84     84   
        "com.amazonaws.s3",
   85     85   
        "NotificationConfiguration",
   86     86   
    ),
   87     87   
    ::aws_smithy_schema::ShapeType::Structure,
   88         -
    "event_bridge_configuration",
          88  +
    "EventBridgeConfiguration",
   89     89   
    3,
   90     90   
);
   91     91   
static NOTIFICATIONCONFIGURATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   92     92   
    NOTIFICATIONCONFIGURATION_SCHEMA_ID,
   93     93   
    ::aws_smithy_schema::ShapeType::Structure,
   94     94   
    &[
   95     95   
        &NOTIFICATIONCONFIGURATION_MEMBER_TOPIC_CONFIGURATIONS,
   96     96   
        &NOTIFICATIONCONFIGURATION_MEMBER_QUEUE_CONFIGURATIONS,
   97     97   
        &NOTIFICATIONCONFIGURATION_MEMBER_LAMBDA_FUNCTION_CONFIGURATIONS,
   98     98   
        &NOTIFICATIONCONFIGURATION_MEMBER_EVENT_BRIDGE_CONFIGURATION,
@@ -122,122 +244,246 @@
  142    142   
            )?;
  143    143   
        }
  144    144   
        if let Some(ref val) = self.event_bridge_configuration {
  145    145   
            ser.write_struct(&NOTIFICATIONCONFIGURATION_MEMBER_EVENT_BRIDGE_CONFIGURATION, val)?;
  146    146   
        }
  147    147   
        Ok(())
  148    148   
    }
  149    149   
}
  150    150   
impl NotificationConfiguration {
  151    151   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  152         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  153         -
        deserializer: &mut D,
         152  +
    pub fn deserialize(
         153  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  154    154   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  155    155   
        #[allow(unused_variables, unused_mut)]
  156    156   
        let mut builder = Self::builder();
  157    157   
        #[allow(
  158    158   
            unused_variables,
  159    159   
            unreachable_code,
  160    160   
            clippy::single_match,
  161    161   
            clippy::match_single_binding,
  162    162   
            clippy::diverging_sub_expression
  163    163   
        )]
  164         -
        deserializer.read_struct(&NOTIFICATIONCONFIGURATION_SCHEMA, (), |_, member, deser| {
         164  +
        deserializer.read_struct(&NOTIFICATIONCONFIGURATION_SCHEMA, &mut |member, deser| {
  165    165   
            match member.member_index() {
  166    166   
                Some(0) => {
  167    167   
                    builder.topic_configurations = Some({
  168         -
                        let container = if let Some(cap) = deser.container_size() {
  169         -
                            Vec::with_capacity(cap)
  170         -
                        } else {
  171         -
                            Vec::new()
  172         -
                        };
  173         -
                        deser.read_list(member, container, |mut list, deser| {
  174         -
                            list.push(crate::types::TopicConfiguration::deserialize(deser)?);
  175         -
                            Ok(list)
  176         -
                        })?
         168  +
                        let mut container = Vec::new();
         169  +
                        deser.read_list(member, &mut |deser| {
         170  +
                            container.push(crate::types::TopicConfiguration::deserialize(deser)?);
         171  +
                            Ok(())
         172  +
                        })?;
         173  +
                        container
  177    174   
                    });
  178    175   
                }
  179    176   
                Some(1) => {
  180    177   
                    builder.queue_configurations = Some({
  181         -
                        let container = if let Some(cap) = deser.container_size() {
  182         -
                            Vec::with_capacity(cap)
  183         -
                        } else {
  184         -
                            Vec::new()
  185         -
                        };
  186         -
                        deser.read_list(member, container, |mut list, deser| {
  187         -
                            list.push(crate::types::QueueConfiguration::deserialize(deser)?);
  188         -
                            Ok(list)
  189         -
                        })?
         178  +
                        let mut container = Vec::new();
         179  +
                        deser.read_list(member, &mut |deser| {
         180  +
                            container.push(crate::types::QueueConfiguration::deserialize(deser)?);
         181  +
                            Ok(())
         182  +
                        })?;
         183  +
                        container
  190    184   
                    });
  191    185   
                }
  192    186   
                Some(2) => {
  193    187   
                    builder.lambda_function_configurations = Some({
  194         -
                        let container = if let Some(cap) = deser.container_size() {
  195         -
                            Vec::with_capacity(cap)
  196         -
                        } else {
  197         -
                            Vec::new()
  198         -
                        };
  199         -
                        deser.read_list(member, container, |mut list, deser| {
  200         -
                            list.push(crate::types::LambdaFunctionConfiguration::deserialize(deser)?);
  201         -
                            Ok(list)
  202         -
                        })?
         188  +
                        let mut container = Vec::new();
         189  +
                        deser.read_list(member, &mut |deser| {
         190  +
                            container.push(crate::types::LambdaFunctionConfiguration::deserialize(deser)?);
         191  +
                            Ok(())
         192  +
                        })?;
         193  +
                        container
  203    194   
                    });
  204    195   
                }
  205    196   
                Some(3) => {
  206    197   
                    builder.event_bridge_configuration = Some(crate::types::EventBridgeConfiguration::deserialize(deser)?);
  207    198   
                }
  208    199   
                _ => {}
  209    200   
            }
  210    201   
            Ok(())
  211    202   
        })?;
  212    203   
        Ok(builder.build())
  213    204   
    }
  214    205   
}
         206  +
impl NotificationConfiguration {
         207  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         208  +
    pub fn deserialize_with_response(
         209  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         210  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         211  +
        _status: u16,
         212  +
        _body: &[u8],
         213  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         214  +
        Self::deserialize(deserializer)
         215  +
    }
         216  +
}
  215    217   
impl NotificationConfiguration {
  216    218   
    /// Creates a new builder-style object to manufacture [`NotificationConfiguration`](crate::types::NotificationConfiguration).
  217    219   
    pub fn builder() -> crate::types::builders::NotificationConfigurationBuilder {
  218    220   
        crate::types::builders::NotificationConfigurationBuilder::default()
  219    221   
    }
  220    222   
}
  221    223   
  222    224   
/// A builder for [`NotificationConfiguration`](crate::types::NotificationConfiguration).
  223    225   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  224    226   
#[non_exhaustive]

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

@@ -1,1 +108,119 @@
   18     18   
    "com.amazonaws.s3",
   19     19   
    "NotificationConfigurationFilter",
   20     20   
);
   21     21   
static NOTIFICATIONCONFIGURATIONFILTER_MEMBER_KEY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   22     22   
    ::aws_smithy_schema::ShapeId::from_static(
   23     23   
        "com.amazonaws.s3#NotificationConfigurationFilter$Key",
   24     24   
        "com.amazonaws.s3",
   25     25   
        "NotificationConfigurationFilter",
   26     26   
    ),
   27     27   
    ::aws_smithy_schema::ShapeType::Structure,
   28         -
    "key",
          28  +
    "Key",
   29     29   
    0,
   30     30   
)
   31     31   
.with_xml_name("S3Key");
   32     32   
static NOTIFICATIONCONFIGURATIONFILTER_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   33     33   
    NOTIFICATIONCONFIGURATIONFILTER_SCHEMA_ID,
   34     34   
    ::aws_smithy_schema::ShapeType::Structure,
   35     35   
    &[&NOTIFICATIONCONFIGURATIONFILTER_MEMBER_KEY],
   36     36   
);
   37     37   
impl NotificationConfigurationFilter {
   38     38   
    /// The schema for this shape.
   39     39   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &NOTIFICATIONCONFIGURATIONFILTER_SCHEMA;
   40     40   
}
   41     41   
impl ::aws_smithy_schema::serde::SerializableStruct for NotificationConfigurationFilter {
   42     42   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   43     43   
    fn serialize_members(
   44     44   
        &self,
   45     45   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   46     46   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   47     47   
        if let Some(ref val) = self.key {
   48     48   
            ser.write_struct(&NOTIFICATIONCONFIGURATIONFILTER_MEMBER_KEY, val)?;
   49     49   
        }
   50     50   
        Ok(())
   51     51   
    }
   52     52   
}
   53     53   
impl NotificationConfigurationFilter {
   54     54   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   55         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   56         -
        deserializer: &mut D,
          55  +
    pub fn deserialize(
          56  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   57     57   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   58     58   
        #[allow(unused_variables, unused_mut)]
   59     59   
        let mut builder = Self::builder();
   60     60   
        #[allow(
   61     61   
            unused_variables,
   62     62   
            unreachable_code,
   63     63   
            clippy::single_match,
   64     64   
            clippy::match_single_binding,
   65     65   
            clippy::diverging_sub_expression
   66     66   
        )]
   67         -
        deserializer.read_struct(&NOTIFICATIONCONFIGURATIONFILTER_SCHEMA, (), |_, member, deser| {
          67  +
        deserializer.read_struct(&NOTIFICATIONCONFIGURATIONFILTER_SCHEMA, &mut |member, deser| {
   68     68   
            match member.member_index() {
   69     69   
                Some(0) => {
   70     70   
                    builder.key = Some(crate::types::S3KeyFilter::deserialize(deser)?);
   71     71   
                }
   72     72   
                _ => {}
   73     73   
            }
   74     74   
            Ok(())
   75     75   
        })?;
   76     76   
        Ok(builder.build())
   77     77   
    }
   78     78   
}
          79  +
impl NotificationConfigurationFilter {
          80  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          81  +
    pub fn deserialize_with_response(
          82  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          83  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          84  +
        _status: u16,
          85  +
        _body: &[u8],
          86  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          87  +
        Self::deserialize(deserializer)
          88  +
    }
          89  +
}
   79     90   
impl NotificationConfigurationFilter {
   80     91   
    /// Creates a new builder-style object to manufacture [`NotificationConfigurationFilter`](crate::types::NotificationConfigurationFilter).
   81     92   
    pub fn builder() -> crate::types::builders::NotificationConfigurationFilterBuilder {
   82     93   
        crate::types::builders::NotificationConfigurationFilterBuilder::default()
   83     94   
    }
   84     95   
}
   85     96   
   86     97   
/// A builder for [`NotificationConfigurationFilter`](crate::types::NotificationConfigurationFilter).
   87     98   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   88     99   
#[non_exhaustive]

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

@@ -73,73 +182,182 @@
   93     93   
    /// </note>
   94     94   
    pub fn restore_status(&self) -> ::std::option::Option<&crate::types::RestoreStatus> {
   95     95   
        self.restore_status.as_ref()
   96     96   
    }
   97     97   
}
   98     98   
static OBJECT_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   99     99   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#Object", "com.amazonaws.s3", "Object");
  100    100   
static OBJECT_MEMBER_KEY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  101    101   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#Object$Key", "com.amazonaws.s3", "Object"),
  102    102   
    ::aws_smithy_schema::ShapeType::String,
  103         -
    "key",
         103  +
    "Key",
  104    104   
    0,
  105    105   
);
  106    106   
static OBJECT_MEMBER_LAST_MODIFIED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  107    107   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#Object$LastModified", "com.amazonaws.s3", "Object"),
  108    108   
    ::aws_smithy_schema::ShapeType::Timestamp,
  109         -
    "last_modified",
         109  +
    "LastModified",
  110    110   
    1,
  111    111   
);
  112    112   
static OBJECT_MEMBER_E_TAG: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  113    113   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#Object$ETag", "com.amazonaws.s3", "Object"),
  114    114   
    ::aws_smithy_schema::ShapeType::String,
  115         -
    "e_tag",
         115  +
    "ETag",
  116    116   
    2,
  117    117   
);
  118    118   
static OBJECT_MEMBER_CHECKSUM_ALGORITHM: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  119    119   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#Object$ChecksumAlgorithm", "com.amazonaws.s3", "Object"),
  120    120   
    ::aws_smithy_schema::ShapeType::List,
  121         -
    "checksum_algorithm",
         121  +
    "ChecksumAlgorithm",
  122    122   
    3,
  123    123   
)
  124    124   
.with_xml_flattened();
  125    125   
static OBJECT_MEMBER_CHECKSUM_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  126    126   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#Object$ChecksumType", "com.amazonaws.s3", "Object"),
  127    127   
    ::aws_smithy_schema::ShapeType::String,
  128         -
    "checksum_type",
         128  +
    "ChecksumType",
  129    129   
    4,
  130    130   
);
  131    131   
static OBJECT_MEMBER_SIZE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  132    132   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#Object$Size", "com.amazonaws.s3", "Object"),
  133    133   
    ::aws_smithy_schema::ShapeType::Long,
  134         -
    "size",
         134  +
    "Size",
  135    135   
    5,
  136    136   
);
  137    137   
static OBJECT_MEMBER_STORAGE_CLASS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  138    138   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#Object$StorageClass", "com.amazonaws.s3", "Object"),
  139    139   
    ::aws_smithy_schema::ShapeType::String,
  140         -
    "storage_class",
         140  +
    "StorageClass",
  141    141   
    6,
  142    142   
);
  143    143   
static OBJECT_MEMBER_OWNER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  144    144   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#Object$Owner", "com.amazonaws.s3", "Object"),
  145    145   
    ::aws_smithy_schema::ShapeType::Structure,
  146         -
    "owner",
         146  +
    "Owner",
  147    147   
    7,
  148    148   
);
  149    149   
static OBJECT_MEMBER_RESTORE_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  150    150   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#Object$RestoreStatus", "com.amazonaws.s3", "Object"),
  151    151   
    ::aws_smithy_schema::ShapeType::Structure,
  152         -
    "restore_status",
         152  +
    "RestoreStatus",
  153    153   
    8,
  154    154   
);
  155    155   
static OBJECT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  156    156   
    OBJECT_SCHEMA_ID,
  157    157   
    ::aws_smithy_schema::ShapeType::Structure,
  158    158   
    &[
  159    159   
        &OBJECT_MEMBER_KEY,
  160    160   
        &OBJECT_MEMBER_LAST_MODIFIED,
  161    161   
        &OBJECT_MEMBER_E_TAG,
  162    162   
        &OBJECT_MEMBER_CHECKSUM_ALGORITHM,
@@ -190,190 +307,315 @@
  210    210   
            ser.write_struct(&OBJECT_MEMBER_OWNER, val)?;
  211    211   
        }
  212    212   
        if let Some(ref val) = self.restore_status {
  213    213   
            ser.write_struct(&OBJECT_MEMBER_RESTORE_STATUS, val)?;
  214    214   
        }
  215    215   
        Ok(())
  216    216   
    }
  217    217   
}
  218    218   
impl Object {
  219    219   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  220         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  221         -
        deserializer: &mut D,
         220  +
    pub fn deserialize(
         221  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  222    222   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  223    223   
        #[allow(unused_variables, unused_mut)]
  224    224   
        let mut builder = Self::builder();
  225    225   
        #[allow(
  226    226   
            unused_variables,
  227    227   
            unreachable_code,
  228    228   
            clippy::single_match,
  229    229   
            clippy::match_single_binding,
  230    230   
            clippy::diverging_sub_expression
  231    231   
        )]
  232         -
        deserializer.read_struct(&OBJECT_SCHEMA, (), |_, member, deser| {
         232  +
        deserializer.read_struct(&OBJECT_SCHEMA, &mut |member, deser| {
  233    233   
            match member.member_index() {
  234    234   
                Some(0) => {
  235    235   
                    builder.key = Some(deser.read_string(member)?);
  236    236   
                }
  237    237   
                Some(1) => {
  238    238   
                    builder.last_modified = Some(deser.read_timestamp(member)?);
  239    239   
                }
  240    240   
                Some(2) => {
  241    241   
                    builder.e_tag = Some(deser.read_string(member)?);
  242    242   
                }
  243    243   
                Some(3) => {
  244    244   
                    builder.checksum_algorithm = Some({
  245         -
                        let container = if let Some(cap) = deser.container_size() {
  246         -
                            Vec::with_capacity(cap)
  247         -
                        } else {
  248         -
                            Vec::new()
  249         -
                        };
  250         -
                        deser.read_list(member, container, |mut list, deser| {
  251         -
                            list.push(crate::types::ChecksumAlgorithm::from(deser.read_string(member)?.as_str()));
  252         -
                            Ok(list)
  253         -
                        })?
         245  +
                        let mut container = Vec::new();
         246  +
                        deser.read_list(member, &mut |deser| {
         247  +
                            container.push(crate::types::ChecksumAlgorithm::from(deser.read_string(member)?.as_str()));
         248  +
                            Ok(())
         249  +
                        })?;
         250  +
                        container
  254    251   
                    });
  255    252   
                }
  256    253   
                Some(4) => {
  257    254   
                    builder.checksum_type = Some(crate::types::ChecksumType::from(deser.read_string(member)?.as_str()));
  258    255   
                }
  259    256   
                Some(5) => {
  260    257   
                    builder.size = Some(deser.read_long(member)?);
  261    258   
                }
  262    259   
                Some(6) => {
  263    260   
                    builder.storage_class = Some(crate::types::ObjectStorageClass::from(deser.read_string(member)?.as_str()));
  264    261   
                }
  265    262   
                Some(7) => {
  266    263   
                    builder.owner = Some(crate::types::Owner::deserialize(deser)?);
  267    264   
                }
  268    265   
                Some(8) => {
  269    266   
                    builder.restore_status = Some(crate::types::RestoreStatus::deserialize(deser)?);
  270    267   
                }
  271    268   
                _ => {}
  272    269   
            }
  273    270   
            Ok(())
  274    271   
        })?;
  275    272   
        Ok(builder.build())
  276    273   
    }
  277    274   
}
         275  +
impl Object {
         276  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         277  +
    pub fn deserialize_with_response(
         278  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         279  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         280  +
        _status: u16,
         281  +
        _body: &[u8],
         282  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         283  +
        Self::deserialize(deserializer)
         284  +
    }
         285  +
}
  278    286   
impl Object {
  279    287   
    /// Creates a new builder-style object to manufacture [`Object`](crate::types::Object).
  280    288   
    pub fn builder() -> crate::types::builders::ObjectBuilder {
  281    289   
        crate::types::builders::ObjectBuilder::default()
  282    290   
    }
  283    291   
}
  284    292   
  285    293   
/// A builder for [`Object`](crate::types::Object).
  286    294   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  287    295   
#[non_exhaustive]

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

@@ -36,36 +206,219 @@
   56     56   
    /// </note>
   57     57   
    pub fn size(&self) -> ::std::option::Option<i64> {
   58     58   
        self.size
   59     59   
    }
   60     60   
}
   61     61   
static OBJECTIDENTIFIER_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   62     62   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectIdentifier", "com.amazonaws.s3", "ObjectIdentifier");
   63     63   
static OBJECTIDENTIFIER_MEMBER_KEY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   64     64   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectIdentifier$Key", "com.amazonaws.s3", "ObjectIdentifier"),
   65     65   
    ::aws_smithy_schema::ShapeType::String,
   66         -
    "key",
          66  +
    "Key",
   67     67   
    0,
   68     68   
);
   69     69   
static OBJECTIDENTIFIER_MEMBER_VERSION_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   70     70   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectIdentifier$VersionId", "com.amazonaws.s3", "ObjectIdentifier"),
   71     71   
    ::aws_smithy_schema::ShapeType::String,
   72         -
    "version_id",
          72  +
    "VersionId",
   73     73   
    1,
   74     74   
);
   75     75   
static OBJECTIDENTIFIER_MEMBER_E_TAG: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   76     76   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectIdentifier$ETag", "com.amazonaws.s3", "ObjectIdentifier"),
   77     77   
    ::aws_smithy_schema::ShapeType::String,
   78         -
    "e_tag",
          78  +
    "ETag",
   79     79   
    2,
   80     80   
);
   81     81   
static OBJECTIDENTIFIER_MEMBER_LAST_MODIFIED_TIME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   82     82   
    ::aws_smithy_schema::ShapeId::from_static(
   83     83   
        "com.amazonaws.s3#ObjectIdentifier$LastModifiedTime",
   84     84   
        "com.amazonaws.s3",
   85     85   
        "ObjectIdentifier",
   86     86   
    ),
   87     87   
    ::aws_smithy_schema::ShapeType::Timestamp,
   88         -
    "last_modified_time",
          88  +
    "LastModifiedTime",
   89     89   
    3,
   90         -
);
          90  +
)
          91  +
.with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::HttpDate);
   91     92   
static OBJECTIDENTIFIER_MEMBER_SIZE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   92     93   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectIdentifier$Size", "com.amazonaws.s3", "ObjectIdentifier"),
   93     94   
    ::aws_smithy_schema::ShapeType::Long,
   94         -
    "size",
          95  +
    "Size",
   95     96   
    4,
   96     97   
);
   97     98   
static OBJECTIDENTIFIER_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   98     99   
    OBJECTIDENTIFIER_SCHEMA_ID,
   99    100   
    ::aws_smithy_schema::ShapeType::Structure,
  100    101   
    &[
  101    102   
        &OBJECTIDENTIFIER_MEMBER_KEY,
  102    103   
        &OBJECTIDENTIFIER_MEMBER_VERSION_ID,
  103    104   
        &OBJECTIDENTIFIER_MEMBER_E_TAG,
  104    105   
        &OBJECTIDENTIFIER_MEMBER_LAST_MODIFIED_TIME,
  105    106   
        &OBJECTIDENTIFIER_MEMBER_SIZE,
  106    107   
    ],
  107    108   
);
  108    109   
impl ObjectIdentifier {
  109    110   
    /// The schema for this shape.
  110    111   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &OBJECTIDENTIFIER_SCHEMA;
  111    112   
}
  112    113   
impl ::aws_smithy_schema::serde::SerializableStruct for ObjectIdentifier {
  113    114   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  114    115   
    fn serialize_members(
  115    116   
        &self,
  116    117   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  117    118   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  118    119   
        {
  119    120   
            let val = &self.key;
  120    121   
            ser.write_string(&OBJECTIDENTIFIER_MEMBER_KEY, val)?;
  121    122   
        }
  122    123   
        if let Some(ref val) = self.version_id {
  123    124   
            ser.write_string(&OBJECTIDENTIFIER_MEMBER_VERSION_ID, val)?;
  124    125   
        }
  125    126   
        if let Some(ref val) = self.e_tag {
  126    127   
            ser.write_string(&OBJECTIDENTIFIER_MEMBER_E_TAG, val)?;
  127    128   
        }
  128    129   
        if let Some(ref val) = self.last_modified_time {
  129    130   
            ser.write_timestamp(&OBJECTIDENTIFIER_MEMBER_LAST_MODIFIED_TIME, val)?;
  130    131   
        }
  131    132   
        if let Some(ref val) = self.size {
  132    133   
            ser.write_long(&OBJECTIDENTIFIER_MEMBER_SIZE, *val)?;
  133    134   
        }
  134    135   
        Ok(())
  135    136   
    }
  136    137   
}
  137    138   
impl ObjectIdentifier {
  138    139   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  139         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  140         -
        deserializer: &mut D,
         140  +
    pub fn deserialize(
         141  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  141    142   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  142    143   
        #[allow(unused_variables, unused_mut)]
  143    144   
        let mut builder = Self::builder();
  144    145   
        #[allow(
  145    146   
            unused_variables,
  146    147   
            unreachable_code,
  147    148   
            clippy::single_match,
  148    149   
            clippy::match_single_binding,
  149    150   
            clippy::diverging_sub_expression
  150    151   
        )]
  151         -
        deserializer.read_struct(&OBJECTIDENTIFIER_SCHEMA, (), |_, member, deser| {
         152  +
        deserializer.read_struct(&OBJECTIDENTIFIER_SCHEMA, &mut |member, deser| {
  152    153   
            match member.member_index() {
  153    154   
                Some(0) => {
  154    155   
                    builder.key = Some(deser.read_string(member)?);
  155    156   
                }
  156    157   
                Some(1) => {
  157    158   
                    builder.version_id = Some(deser.read_string(member)?);
  158    159   
                }
  159    160   
                Some(2) => {
  160    161   
                    builder.e_tag = Some(deser.read_string(member)?);
  161    162   
                }
  162    163   
                Some(3) => {
  163    164   
                    builder.last_modified_time = Some(deser.read_timestamp(member)?);
  164    165   
                }
  165    166   
                Some(4) => {
  166    167   
                    builder.size = Some(deser.read_long(member)?);
  167    168   
                }
  168    169   
                _ => {}
  169    170   
            }
  170    171   
            Ok(())
  171    172   
        })?;
         173  +
        builder.key = builder.key.or(Some(String::new()));
  172    174   
        builder
  173    175   
            .build()
  174    176   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  175    177   
    }
  176    178   
}
         179  +
impl ObjectIdentifier {
         180  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         181  +
    pub fn deserialize_with_response(
         182  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         183  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         184  +
        _status: u16,
         185  +
        _body: &[u8],
         186  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         187  +
        Self::deserialize(deserializer)
         188  +
    }
         189  +
}
  177    190   
impl ObjectIdentifier {
  178    191   
    /// Creates a new builder-style object to manufacture [`ObjectIdentifier`](crate::types::ObjectIdentifier).
  179    192   
    pub fn builder() -> crate::types::builders::ObjectIdentifierBuilder {
  180    193   
        crate::types::builders::ObjectIdentifierBuilder::default()
  181    194   
    }
  182    195   
}
  183    196   
  184    197   
/// A builder for [`ObjectIdentifier`](crate::types::ObjectIdentifier).
  185    198   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  186    199   
#[non_exhaustive]

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

@@ -1,1 +126,137 @@
   21     21   
}
   22     22   
static OBJECTLOCKCONFIGURATION_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   23     23   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectLockConfiguration", "com.amazonaws.s3", "ObjectLockConfiguration");
   24     24   
static OBJECTLOCKCONFIGURATION_MEMBER_OBJECT_LOCK_ENABLED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   25     25   
    ::aws_smithy_schema::ShapeId::from_static(
   26     26   
        "com.amazonaws.s3#ObjectLockConfiguration$ObjectLockEnabled",
   27     27   
        "com.amazonaws.s3",
   28     28   
        "ObjectLockConfiguration",
   29     29   
    ),
   30     30   
    ::aws_smithy_schema::ShapeType::String,
   31         -
    "object_lock_enabled",
          31  +
    "ObjectLockEnabled",
   32     32   
    0,
   33     33   
);
   34     34   
static OBJECTLOCKCONFIGURATION_MEMBER_RULE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   35     35   
    ::aws_smithy_schema::ShapeId::from_static(
   36     36   
        "com.amazonaws.s3#ObjectLockConfiguration$Rule",
   37     37   
        "com.amazonaws.s3",
   38     38   
        "ObjectLockConfiguration",
   39     39   
    ),
   40     40   
    ::aws_smithy_schema::ShapeType::Structure,
   41         -
    "rule",
          41  +
    "Rule",
   42     42   
    1,
   43     43   
);
   44     44   
static OBJECTLOCKCONFIGURATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   45     45   
    OBJECTLOCKCONFIGURATION_SCHEMA_ID,
   46     46   
    ::aws_smithy_schema::ShapeType::Structure,
   47     47   
    &[&OBJECTLOCKCONFIGURATION_MEMBER_OBJECT_LOCK_ENABLED, &OBJECTLOCKCONFIGURATION_MEMBER_RULE],
   48     48   
);
   49     49   
impl ObjectLockConfiguration {
   50     50   
    /// The schema for this shape.
   51     51   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &OBJECTLOCKCONFIGURATION_SCHEMA;
   52     52   
}
   53     53   
impl ::aws_smithy_schema::serde::SerializableStruct for ObjectLockConfiguration {
   54     54   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   55     55   
    fn serialize_members(
   56     56   
        &self,
   57     57   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   58     58   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   59     59   
        if let Some(ref val) = self.object_lock_enabled {
   60     60   
            ser.write_string(&OBJECTLOCKCONFIGURATION_MEMBER_OBJECT_LOCK_ENABLED, val.as_str())?;
   61     61   
        }
   62     62   
        if let Some(ref val) = self.rule {
   63     63   
            ser.write_struct(&OBJECTLOCKCONFIGURATION_MEMBER_RULE, val)?;
   64     64   
        }
   65     65   
        Ok(())
   66     66   
    }
   67     67   
}
   68     68   
impl ObjectLockConfiguration {
   69     69   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   70         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   71         -
        deserializer: &mut D,
          70  +
    pub fn deserialize(
          71  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   72     72   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   73     73   
        #[allow(unused_variables, unused_mut)]
   74     74   
        let mut builder = Self::builder();
   75     75   
        #[allow(
   76     76   
            unused_variables,
   77     77   
            unreachable_code,
   78     78   
            clippy::single_match,
   79     79   
            clippy::match_single_binding,
   80     80   
            clippy::diverging_sub_expression
   81     81   
        )]
   82         -
        deserializer.read_struct(&OBJECTLOCKCONFIGURATION_SCHEMA, (), |_, member, deser| {
          82  +
        deserializer.read_struct(&OBJECTLOCKCONFIGURATION_SCHEMA, &mut |member, deser| {
   83     83   
            match member.member_index() {
   84     84   
                Some(0) => {
   85     85   
                    builder.object_lock_enabled = Some(crate::types::ObjectLockEnabled::from(deser.read_string(member)?.as_str()));
   86     86   
                }
   87     87   
                Some(1) => {
   88     88   
                    builder.rule = Some(crate::types::ObjectLockRule::deserialize(deser)?);
   89     89   
                }
   90     90   
                _ => {}
   91     91   
            }
   92     92   
            Ok(())
   93     93   
        })?;
   94     94   
        Ok(builder.build())
   95     95   
    }
   96     96   
}
          97  +
impl ObjectLockConfiguration {
          98  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          99  +
    pub fn deserialize_with_response(
         100  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         101  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         102  +
        _status: u16,
         103  +
        _body: &[u8],
         104  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         105  +
        Self::deserialize(deserializer)
         106  +
    }
         107  +
}
   97    108   
impl ObjectLockConfiguration {
   98    109   
    /// Creates a new builder-style object to manufacture [`ObjectLockConfiguration`](crate::types::ObjectLockConfiguration).
   99    110   
    pub fn builder() -> crate::types::builders::ObjectLockConfigurationBuilder {
  100    111   
        crate::types::builders::ObjectLockConfigurationBuilder::default()
  101    112   
    }
  102    113   
}
  103    114   
  104    115   
/// A builder for [`ObjectLockConfiguration`](crate::types::ObjectLockConfiguration).
  105    116   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  106    117   
#[non_exhaustive]

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

@@ -1,1 +100,111 @@
   11     11   
    /// <p>Indicates whether the specified object has a legal hold in place.</p>
   12     12   
    pub fn status(&self) -> ::std::option::Option<&crate::types::ObjectLockLegalHoldStatus> {
   13     13   
        self.status.as_ref()
   14     14   
    }
   15     15   
}
   16     16   
static OBJECTLOCKLEGALHOLD_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   17     17   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectLockLegalHold", "com.amazonaws.s3", "ObjectLockLegalHold");
   18     18   
static OBJECTLOCKLEGALHOLD_MEMBER_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   19     19   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectLockLegalHold$Status", "com.amazonaws.s3", "ObjectLockLegalHold"),
   20     20   
    ::aws_smithy_schema::ShapeType::String,
   21         -
    "status",
          21  +
    "Status",
   22     22   
    0,
   23     23   
);
   24     24   
static OBJECTLOCKLEGALHOLD_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   25     25   
    OBJECTLOCKLEGALHOLD_SCHEMA_ID,
   26     26   
    ::aws_smithy_schema::ShapeType::Structure,
   27     27   
    &[&OBJECTLOCKLEGALHOLD_MEMBER_STATUS],
   28     28   
);
   29     29   
impl ObjectLockLegalHold {
   30     30   
    /// The schema for this shape.
   31     31   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &OBJECTLOCKLEGALHOLD_SCHEMA;
   32     32   
}
   33     33   
impl ::aws_smithy_schema::serde::SerializableStruct for ObjectLockLegalHold {
   34     34   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   35     35   
    fn serialize_members(
   36     36   
        &self,
   37     37   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   38     38   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   39     39   
        if let Some(ref val) = self.status {
   40     40   
            ser.write_string(&OBJECTLOCKLEGALHOLD_MEMBER_STATUS, val.as_str())?;
   41     41   
        }
   42     42   
        Ok(())
   43     43   
    }
   44     44   
}
   45     45   
impl ObjectLockLegalHold {
   46     46   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   47         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   48         -
        deserializer: &mut D,
          47  +
    pub fn deserialize(
          48  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   49     49   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   50     50   
        #[allow(unused_variables, unused_mut)]
   51     51   
        let mut builder = Self::builder();
   52     52   
        #[allow(
   53     53   
            unused_variables,
   54     54   
            unreachable_code,
   55     55   
            clippy::single_match,
   56     56   
            clippy::match_single_binding,
   57     57   
            clippy::diverging_sub_expression
   58     58   
        )]
   59         -
        deserializer.read_struct(&OBJECTLOCKLEGALHOLD_SCHEMA, (), |_, member, deser| {
          59  +
        deserializer.read_struct(&OBJECTLOCKLEGALHOLD_SCHEMA, &mut |member, deser| {
   60     60   
            match member.member_index() {
   61     61   
                Some(0) => {
   62     62   
                    builder.status = Some(crate::types::ObjectLockLegalHoldStatus::from(deser.read_string(member)?.as_str()));
   63     63   
                }
   64     64   
                _ => {}
   65     65   
            }
   66     66   
            Ok(())
   67     67   
        })?;
   68     68   
        Ok(builder.build())
   69     69   
    }
   70     70   
}
          71  +
impl ObjectLockLegalHold {
          72  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          73  +
    pub fn deserialize_with_response(
          74  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          75  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          76  +
        _status: u16,
          77  +
        _body: &[u8],
          78  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          79  +
        Self::deserialize(deserializer)
          80  +
    }
          81  +
}
   71     82   
impl ObjectLockLegalHold {
   72     83   
    /// Creates a new builder-style object to manufacture [`ObjectLockLegalHold`](crate::types::ObjectLockLegalHold).
   73     84   
    pub fn builder() -> crate::types::builders::ObjectLockLegalHoldBuilder {
   74     85   
        crate::types::builders::ObjectLockLegalHoldBuilder::default()
   75     86   
    }
   76     87   
}
   77     88   
   78     89   
/// A builder for [`ObjectLockLegalHold`](crate::types::ObjectLockLegalHold).
   79     90   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   80     91   
#[non_exhaustive]

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

@@ -1,1 +122,134 @@
   17     17   
    /// <p>The date on which this Object Lock Retention will expire.</p>
   18     18   
    pub fn retain_until_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
   19     19   
        self.retain_until_date.as_ref()
   20     20   
    }
   21     21   
}
   22     22   
static OBJECTLOCKRETENTION_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   23     23   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectLockRetention", "com.amazonaws.s3", "ObjectLockRetention");
   24     24   
static OBJECTLOCKRETENTION_MEMBER_MODE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   25     25   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectLockRetention$Mode", "com.amazonaws.s3", "ObjectLockRetention"),
   26     26   
    ::aws_smithy_schema::ShapeType::String,
   27         -
    "mode",
          27  +
    "Mode",
   28     28   
    0,
   29     29   
);
   30     30   
static OBJECTLOCKRETENTION_MEMBER_RETAIN_UNTIL_DATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   31     31   
    ::aws_smithy_schema::ShapeId::from_static(
   32     32   
        "com.amazonaws.s3#ObjectLockRetention$RetainUntilDate",
   33     33   
        "com.amazonaws.s3",
   34     34   
        "ObjectLockRetention",
   35     35   
    ),
   36     36   
    ::aws_smithy_schema::ShapeType::Timestamp,
   37         -
    "retain_until_date",
          37  +
    "RetainUntilDate",
   38     38   
    1,
   39         -
);
          39  +
)
          40  +
.with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::DateTime);
   40     41   
static OBJECTLOCKRETENTION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   41     42   
    OBJECTLOCKRETENTION_SCHEMA_ID,
   42     43   
    ::aws_smithy_schema::ShapeType::Structure,
   43     44   
    &[&OBJECTLOCKRETENTION_MEMBER_MODE, &OBJECTLOCKRETENTION_MEMBER_RETAIN_UNTIL_DATE],
   44     45   
);
   45     46   
impl ObjectLockRetention {
   46     47   
    /// The schema for this shape.
   47     48   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &OBJECTLOCKRETENTION_SCHEMA;
   48     49   
}
   49     50   
impl ::aws_smithy_schema::serde::SerializableStruct for ObjectLockRetention {
   50     51   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   51     52   
    fn serialize_members(
   52     53   
        &self,
   53     54   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   54     55   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   55     56   
        if let Some(ref val) = self.mode {
   56     57   
            ser.write_string(&OBJECTLOCKRETENTION_MEMBER_MODE, val.as_str())?;
   57     58   
        }
   58     59   
        if let Some(ref val) = self.retain_until_date {
   59     60   
            ser.write_timestamp(&OBJECTLOCKRETENTION_MEMBER_RETAIN_UNTIL_DATE, val)?;
   60     61   
        }
   61     62   
        Ok(())
   62     63   
    }
   63     64   
}
   64     65   
impl ObjectLockRetention {
   65     66   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   66         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   67         -
        deserializer: &mut D,
          67  +
    pub fn deserialize(
          68  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   68     69   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   69     70   
        #[allow(unused_variables, unused_mut)]
   70     71   
        let mut builder = Self::builder();
   71     72   
        #[allow(
   72     73   
            unused_variables,
   73     74   
            unreachable_code,
   74     75   
            clippy::single_match,
   75     76   
            clippy::match_single_binding,
   76     77   
            clippy::diverging_sub_expression
   77     78   
        )]
   78         -
        deserializer.read_struct(&OBJECTLOCKRETENTION_SCHEMA, (), |_, member, deser| {
          79  +
        deserializer.read_struct(&OBJECTLOCKRETENTION_SCHEMA, &mut |member, deser| {
   79     80   
            match member.member_index() {
   80     81   
                Some(0) => {
   81     82   
                    builder.mode = Some(crate::types::ObjectLockRetentionMode::from(deser.read_string(member)?.as_str()));
   82     83   
                }
   83     84   
                Some(1) => {
   84     85   
                    builder.retain_until_date = Some(deser.read_timestamp(member)?);
   85     86   
                }
   86     87   
                _ => {}
   87     88   
            }
   88     89   
            Ok(())
   89     90   
        })?;
   90     91   
        Ok(builder.build())
   91     92   
    }
   92     93   
}
          94  +
impl ObjectLockRetention {
          95  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          96  +
    pub fn deserialize_with_response(
          97  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          98  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          99  +
        _status: u16,
         100  +
        _body: &[u8],
         101  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         102  +
        Self::deserialize(deserializer)
         103  +
    }
         104  +
}
   93    105   
impl ObjectLockRetention {
   94    106   
    /// Creates a new builder-style object to manufacture [`ObjectLockRetention`](crate::types::ObjectLockRetention).
   95    107   
    pub fn builder() -> crate::types::builders::ObjectLockRetentionBuilder {
   96    108   
        crate::types::builders::ObjectLockRetentionBuilder::default()
   97    109   
    }
   98    110   
}
   99    111   
  100    112   
/// A builder for [`ObjectLockRetention`](crate::types::ObjectLockRetention).
  101    113   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  102    114   
#[non_exhaustive]

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

@@ -1,1 +100,111 @@
   11     11   
    /// <p>The default Object Lock retention mode and period that you want to apply to new objects placed in the specified bucket. Bucket settings require both a mode and a period. The period can be either <code>Days</code> or <code>Years</code> but you must select one. You cannot specify <code>Days</code> and <code>Years</code> at the same time.</p>
   12     12   
    pub fn default_retention(&self) -> ::std::option::Option<&crate::types::DefaultRetention> {
   13     13   
        self.default_retention.as_ref()
   14     14   
    }
   15     15   
}
   16     16   
static OBJECTLOCKRULE_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   17     17   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectLockRule", "com.amazonaws.s3", "ObjectLockRule");
   18     18   
static OBJECTLOCKRULE_MEMBER_DEFAULT_RETENTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   19     19   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectLockRule$DefaultRetention", "com.amazonaws.s3", "ObjectLockRule"),
   20     20   
    ::aws_smithy_schema::ShapeType::Structure,
   21         -
    "default_retention",
          21  +
    "DefaultRetention",
   22     22   
    0,
   23     23   
);
   24     24   
static OBJECTLOCKRULE_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   25     25   
    OBJECTLOCKRULE_SCHEMA_ID,
   26     26   
    ::aws_smithy_schema::ShapeType::Structure,
   27     27   
    &[&OBJECTLOCKRULE_MEMBER_DEFAULT_RETENTION],
   28     28   
);
   29     29   
impl ObjectLockRule {
   30     30   
    /// The schema for this shape.
   31     31   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &OBJECTLOCKRULE_SCHEMA;
   32     32   
}
   33     33   
impl ::aws_smithy_schema::serde::SerializableStruct for ObjectLockRule {
   34     34   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   35     35   
    fn serialize_members(
   36     36   
        &self,
   37     37   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   38     38   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   39     39   
        if let Some(ref val) = self.default_retention {
   40     40   
            ser.write_struct(&OBJECTLOCKRULE_MEMBER_DEFAULT_RETENTION, val)?;
   41     41   
        }
   42     42   
        Ok(())
   43     43   
    }
   44     44   
}
   45     45   
impl ObjectLockRule {
   46     46   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   47         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   48         -
        deserializer: &mut D,
          47  +
    pub fn deserialize(
          48  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   49     49   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   50     50   
        #[allow(unused_variables, unused_mut)]
   51     51   
        let mut builder = Self::builder();
   52     52   
        #[allow(
   53     53   
            unused_variables,
   54     54   
            unreachable_code,
   55     55   
            clippy::single_match,
   56     56   
            clippy::match_single_binding,
   57     57   
            clippy::diverging_sub_expression
   58     58   
        )]
   59         -
        deserializer.read_struct(&OBJECTLOCKRULE_SCHEMA, (), |_, member, deser| {
          59  +
        deserializer.read_struct(&OBJECTLOCKRULE_SCHEMA, &mut |member, deser| {
   60     60   
            match member.member_index() {
   61     61   
                Some(0) => {
   62     62   
                    builder.default_retention = Some(crate::types::DefaultRetention::deserialize(deser)?);
   63     63   
                }
   64     64   
                _ => {}
   65     65   
            }
   66     66   
            Ok(())
   67     67   
        })?;
   68     68   
        Ok(builder.build())
   69     69   
    }
   70     70   
}
          71  +
impl ObjectLockRule {
          72  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          73  +
    pub fn deserialize_with_response(
          74  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          75  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          76  +
        _status: u16,
          77  +
        _body: &[u8],
          78  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          79  +
        Self::deserialize(deserializer)
          80  +
    }
          81  +
}
   71     82   
impl ObjectLockRule {
   72     83   
    /// Creates a new builder-style object to manufacture [`ObjectLockRule`](crate::types::ObjectLockRule).
   73     84   
    pub fn builder() -> crate::types::builders::ObjectLockRuleBuilder {
   74     85   
        crate::types::builders::ObjectLockRuleBuilder::default()
   75     86   
    }
   76     87   
}
   77     88   
   78     89   
/// A builder for [`ObjectLockRule`](crate::types::ObjectLockRule).
   79     90   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   80     91   
#[non_exhaustive]

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

@@ -27,27 +216,227 @@
   47     47   
    /// <p>The Base64 encoded, 256-bit <code>SHA256</code> checksum of the part. This checksum is present if the multipart upload request was created with the <code>SHA256</code> checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
   48     48   
    pub fn checksum_sha256(&self) -> ::std::option::Option<&str> {
   49     49   
        self.checksum_sha256.as_deref()
   50     50   
    }
   51     51   
}
   52     52   
static OBJECTPART_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   53     53   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectPart", "com.amazonaws.s3", "ObjectPart");
   54     54   
static OBJECTPART_MEMBER_PART_NUMBER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   55     55   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectPart$PartNumber", "com.amazonaws.s3", "ObjectPart"),
   56     56   
    ::aws_smithy_schema::ShapeType::Integer,
   57         -
    "part_number",
          57  +
    "PartNumber",
   58     58   
    0,
   59     59   
);
   60     60   
static OBJECTPART_MEMBER_SIZE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   61     61   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectPart$Size", "com.amazonaws.s3", "ObjectPart"),
   62     62   
    ::aws_smithy_schema::ShapeType::Long,
   63         -
    "size",
          63  +
    "Size",
   64     64   
    1,
   65     65   
);
   66     66   
static OBJECTPART_MEMBER_CHECKSUM_CRC32: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   67     67   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectPart$ChecksumCRC32", "com.amazonaws.s3", "ObjectPart"),
   68     68   
    ::aws_smithy_schema::ShapeType::String,
   69         -
    "checksum_crc32",
          69  +
    "ChecksumCRC32",
   70     70   
    2,
   71     71   
);
   72     72   
static OBJECTPART_MEMBER_CHECKSUM_CRC32_C: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   73     73   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectPart$ChecksumCRC32C", "com.amazonaws.s3", "ObjectPart"),
   74     74   
    ::aws_smithy_schema::ShapeType::String,
   75         -
    "checksum_crc32_c",
          75  +
    "ChecksumCRC32C",
   76     76   
    3,
   77     77   
);
   78     78   
static OBJECTPART_MEMBER_CHECKSUM_CRC64_NVME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   79     79   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectPart$ChecksumCRC64NVME", "com.amazonaws.s3", "ObjectPart"),
   80     80   
    ::aws_smithy_schema::ShapeType::String,
   81         -
    "checksum_crc64_nvme",
          81  +
    "ChecksumCRC64NVME",
   82     82   
    4,
   83     83   
);
   84     84   
static OBJECTPART_MEMBER_CHECKSUM_SHA1: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   85     85   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectPart$ChecksumSHA1", "com.amazonaws.s3", "ObjectPart"),
   86     86   
    ::aws_smithy_schema::ShapeType::String,
   87         -
    "checksum_sha1",
          87  +
    "ChecksumSHA1",
   88     88   
    5,
   89     89   
);
   90     90   
static OBJECTPART_MEMBER_CHECKSUM_SHA256: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   91     91   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectPart$ChecksumSHA256", "com.amazonaws.s3", "ObjectPart"),
   92     92   
    ::aws_smithy_schema::ShapeType::String,
   93         -
    "checksum_sha256",
          93  +
    "ChecksumSHA256",
   94     94   
    6,
   95     95   
);
   96     96   
static OBJECTPART_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   97     97   
    OBJECTPART_SCHEMA_ID,
   98     98   
    ::aws_smithy_schema::ShapeType::Structure,
   99     99   
    &[
  100    100   
        &OBJECTPART_MEMBER_PART_NUMBER,
  101    101   
        &OBJECTPART_MEMBER_SIZE,
  102    102   
        &OBJECTPART_MEMBER_CHECKSUM_CRC32,
  103    103   
        &OBJECTPART_MEMBER_CHECKSUM_CRC32_C,
  104    104   
        &OBJECTPART_MEMBER_CHECKSUM_CRC64_NVME,
  105    105   
        &OBJECTPART_MEMBER_CHECKSUM_SHA1,
  106    106   
        &OBJECTPART_MEMBER_CHECKSUM_SHA256,
  107    107   
    ],
  108    108   
);
  109    109   
impl ObjectPart {
  110    110   
    /// The schema for this shape.
  111    111   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &OBJECTPART_SCHEMA;
  112    112   
}
  113    113   
impl ::aws_smithy_schema::serde::SerializableStruct for ObjectPart {
  114    114   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  115    115   
    fn serialize_members(
  116    116   
        &self,
  117    117   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  118    118   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  119    119   
        if let Some(ref val) = self.part_number {
  120    120   
            ser.write_integer(&OBJECTPART_MEMBER_PART_NUMBER, *val)?;
  121    121   
        }
  122    122   
        if let Some(ref val) = self.size {
  123    123   
            ser.write_long(&OBJECTPART_MEMBER_SIZE, *val)?;
  124    124   
        }
  125    125   
        if let Some(ref val) = self.checksum_crc32 {
  126    126   
            ser.write_string(&OBJECTPART_MEMBER_CHECKSUM_CRC32, val)?;
  127    127   
        }
  128    128   
        if let Some(ref val) = self.checksum_crc32_c {
  129    129   
            ser.write_string(&OBJECTPART_MEMBER_CHECKSUM_CRC32_C, val)?;
  130    130   
        }
  131    131   
        if let Some(ref val) = self.checksum_crc64_nvme {
  132    132   
            ser.write_string(&OBJECTPART_MEMBER_CHECKSUM_CRC64_NVME, val)?;
  133    133   
        }
  134    134   
        if let Some(ref val) = self.checksum_sha1 {
  135    135   
            ser.write_string(&OBJECTPART_MEMBER_CHECKSUM_SHA1, val)?;
  136    136   
        }
  137    137   
        if let Some(ref val) = self.checksum_sha256 {
  138    138   
            ser.write_string(&OBJECTPART_MEMBER_CHECKSUM_SHA256, val)?;
  139    139   
        }
  140    140   
        Ok(())
  141    141   
    }
  142    142   
}
  143    143   
impl ObjectPart {
  144    144   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  145         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  146         -
        deserializer: &mut D,
         145  +
    pub fn deserialize(
         146  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  147    147   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  148    148   
        #[allow(unused_variables, unused_mut)]
  149    149   
        let mut builder = Self::builder();
  150    150   
        #[allow(
  151    151   
            unused_variables,
  152    152   
            unreachable_code,
  153    153   
            clippy::single_match,
  154    154   
            clippy::match_single_binding,
  155    155   
            clippy::diverging_sub_expression
  156    156   
        )]
  157         -
        deserializer.read_struct(&OBJECTPART_SCHEMA, (), |_, member, deser| {
         157  +
        deserializer.read_struct(&OBJECTPART_SCHEMA, &mut |member, deser| {
  158    158   
            match member.member_index() {
  159    159   
                Some(0) => {
  160    160   
                    builder.part_number = Some(deser.read_integer(member)?);
  161    161   
                }
  162    162   
                Some(1) => {
  163    163   
                    builder.size = Some(deser.read_long(member)?);
  164    164   
                }
  165    165   
                Some(2) => {
  166    166   
                    builder.checksum_crc32 = Some(deser.read_string(member)?);
  167    167   
                }
  168    168   
                Some(3) => {
  169    169   
                    builder.checksum_crc32_c = Some(deser.read_string(member)?);
  170    170   
                }
  171    171   
                Some(4) => {
  172    172   
                    builder.checksum_crc64_nvme = Some(deser.read_string(member)?);
  173    173   
                }
  174    174   
                Some(5) => {
  175    175   
                    builder.checksum_sha1 = Some(deser.read_string(member)?);
  176    176   
                }
  177    177   
                Some(6) => {
  178    178   
                    builder.checksum_sha256 = Some(deser.read_string(member)?);
  179    179   
                }
  180    180   
                _ => {}
  181    181   
            }
  182    182   
            Ok(())
  183    183   
        })?;
  184    184   
        Ok(builder.build())
  185    185   
    }
  186    186   
}
         187  +
impl ObjectPart {
         188  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         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  +
        Self::deserialize(deserializer)
         196  +
    }
         197  +
}
  187    198   
impl ObjectPart {
  188    199   
    /// Creates a new builder-style object to manufacture [`ObjectPart`](crate::types::ObjectPart).
  189    200   
    pub fn builder() -> crate::types::builders::ObjectPartBuilder {
  190    201   
        crate::types::builders::ObjectPartBuilder::default()
  191    202   
    }
  192    203   
}
  193    204   
  194    205   
/// A builder for [`ObjectPart`](crate::types::ObjectPart).
  195    206   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  196    207   
#[non_exhaustive]

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

@@ -53,53 +174,174 @@
   73     73   
    /// <p>Specifies the restoration status of an object. Objects in certain storage classes must be restored before they can be retrieved. For more information about these storage classes and how to work with archived objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html"> Working with archived objects</a> in the <i>Amazon S3 User Guide</i>.</p>
   74     74   
    pub fn restore_status(&self) -> ::std::option::Option<&crate::types::RestoreStatus> {
   75     75   
        self.restore_status.as_ref()
   76     76   
    }
   77     77   
}
   78     78   
static OBJECTVERSION_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   79     79   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectVersion", "com.amazonaws.s3", "ObjectVersion");
   80     80   
static OBJECTVERSION_MEMBER_E_TAG: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   81     81   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectVersion$ETag", "com.amazonaws.s3", "ObjectVersion"),
   82     82   
    ::aws_smithy_schema::ShapeType::String,
   83         -
    "e_tag",
          83  +
    "ETag",
   84     84   
    0,
   85     85   
);
   86     86   
static OBJECTVERSION_MEMBER_CHECKSUM_ALGORITHM: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   87     87   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectVersion$ChecksumAlgorithm", "com.amazonaws.s3", "ObjectVersion"),
   88     88   
    ::aws_smithy_schema::ShapeType::List,
   89         -
    "checksum_algorithm",
          89  +
    "ChecksumAlgorithm",
   90     90   
    1,
   91     91   
)
   92     92   
.with_xml_flattened();
   93     93   
static OBJECTVERSION_MEMBER_CHECKSUM_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   94     94   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectVersion$ChecksumType", "com.amazonaws.s3", "ObjectVersion"),
   95     95   
    ::aws_smithy_schema::ShapeType::String,
   96         -
    "checksum_type",
          96  +
    "ChecksumType",
   97     97   
    2,
   98     98   
);
   99     99   
static OBJECTVERSION_MEMBER_SIZE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  100    100   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectVersion$Size", "com.amazonaws.s3", "ObjectVersion"),
  101    101   
    ::aws_smithy_schema::ShapeType::Long,
  102         -
    "size",
         102  +
    "Size",
  103    103   
    3,
  104    104   
);
  105    105   
static OBJECTVERSION_MEMBER_STORAGE_CLASS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  106    106   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectVersion$StorageClass", "com.amazonaws.s3", "ObjectVersion"),
  107    107   
    ::aws_smithy_schema::ShapeType::String,
  108         -
    "storage_class",
         108  +
    "StorageClass",
  109    109   
    4,
  110    110   
);
  111    111   
static OBJECTVERSION_MEMBER_KEY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  112    112   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectVersion$Key", "com.amazonaws.s3", "ObjectVersion"),
  113    113   
    ::aws_smithy_schema::ShapeType::String,
  114         -
    "key",
         114  +
    "Key",
  115    115   
    5,
  116    116   
);
  117    117   
static OBJECTVERSION_MEMBER_VERSION_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  118    118   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectVersion$VersionId", "com.amazonaws.s3", "ObjectVersion"),
  119    119   
    ::aws_smithy_schema::ShapeType::String,
  120         -
    "version_id",
         120  +
    "VersionId",
  121    121   
    6,
  122    122   
);
  123    123   
static OBJECTVERSION_MEMBER_IS_LATEST: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  124    124   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectVersion$IsLatest", "com.amazonaws.s3", "ObjectVersion"),
  125    125   
    ::aws_smithy_schema::ShapeType::Boolean,
  126         -
    "is_latest",
         126  +
    "IsLatest",
  127    127   
    7,
  128    128   
);
  129    129   
static OBJECTVERSION_MEMBER_LAST_MODIFIED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  130    130   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectVersion$LastModified", "com.amazonaws.s3", "ObjectVersion"),
  131    131   
    ::aws_smithy_schema::ShapeType::Timestamp,
  132         -
    "last_modified",
         132  +
    "LastModified",
  133    133   
    8,
  134    134   
);
  135    135   
static OBJECTVERSION_MEMBER_OWNER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  136    136   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectVersion$Owner", "com.amazonaws.s3", "ObjectVersion"),
  137    137   
    ::aws_smithy_schema::ShapeType::Structure,
  138         -
    "owner",
         138  +
    "Owner",
  139    139   
    9,
  140    140   
);
  141    141   
static OBJECTVERSION_MEMBER_RESTORE_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  142    142   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#ObjectVersion$RestoreStatus", "com.amazonaws.s3", "ObjectVersion"),
  143    143   
    ::aws_smithy_schema::ShapeType::Structure,
  144         -
    "restore_status",
         144  +
    "RestoreStatus",
  145    145   
    10,
  146    146   
);
  147    147   
static OBJECTVERSION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  148    148   
    OBJECTVERSION_SCHEMA_ID,
  149    149   
    ::aws_smithy_schema::ShapeType::Structure,
  150    150   
    &[
  151    151   
        &OBJECTVERSION_MEMBER_E_TAG,
  152    152   
        &OBJECTVERSION_MEMBER_CHECKSUM_ALGORITHM,
  153    153   
        &OBJECTVERSION_MEMBER_CHECKSUM_TYPE,
  154    154   
        &OBJECTVERSION_MEMBER_SIZE,
@@ -190,190 +313,321 @@
  210    210   
            ser.write_struct(&OBJECTVERSION_MEMBER_OWNER, val)?;
  211    211   
        }
  212    212   
        if let Some(ref val) = self.restore_status {
  213    213   
            ser.write_struct(&OBJECTVERSION_MEMBER_RESTORE_STATUS, val)?;
  214    214   
        }
  215    215   
        Ok(())
  216    216   
    }
  217    217   
}
  218    218   
impl ObjectVersion {
  219    219   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  220         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  221         -
        deserializer: &mut D,
         220  +
    pub fn deserialize(
         221  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  222    222   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  223    223   
        #[allow(unused_variables, unused_mut)]
  224    224   
        let mut builder = Self::builder();
  225    225   
        #[allow(
  226    226   
            unused_variables,
  227    227   
            unreachable_code,
  228    228   
            clippy::single_match,
  229    229   
            clippy::match_single_binding,
  230    230   
            clippy::diverging_sub_expression
  231    231   
        )]
  232         -
        deserializer.read_struct(&OBJECTVERSION_SCHEMA, (), |_, member, deser| {
         232  +
        deserializer.read_struct(&OBJECTVERSION_SCHEMA, &mut |member, deser| {
  233    233   
            match member.member_index() {
  234    234   
                Some(0) => {
  235    235   
                    builder.e_tag = Some(deser.read_string(member)?);
  236    236   
                }
  237    237   
                Some(1) => {
  238    238   
                    builder.checksum_algorithm = Some({
  239         -
                        let container = if let Some(cap) = deser.container_size() {
  240         -
                            Vec::with_capacity(cap)
  241         -
                        } else {
  242         -
                            Vec::new()
  243         -
                        };
  244         -
                        deser.read_list(member, container, |mut list, deser| {
  245         -
                            list.push(crate::types::ChecksumAlgorithm::from(deser.read_string(member)?.as_str()));
  246         -
                            Ok(list)
  247         -
                        })?
         239  +
                        let mut container = Vec::new();
         240  +
                        deser.read_list(member, &mut |deser| {
         241  +
                            container.push(crate::types::ChecksumAlgorithm::from(deser.read_string(member)?.as_str()));
         242  +
                            Ok(())
         243  +
                        })?;
         244  +
                        container
  248    245   
                    });
  249    246   
                }
  250    247   
                Some(2) => {
  251    248   
                    builder.checksum_type = Some(crate::types::ChecksumType::from(deser.read_string(member)?.as_str()));
  252    249   
                }
  253    250   
                Some(3) => {
  254    251   
                    builder.size = Some(deser.read_long(member)?);
  255    252   
                }
  256    253   
                Some(4) => {
  257    254   
                    builder.storage_class = Some(crate::types::ObjectVersionStorageClass::from(deser.read_string(member)?.as_str()));
  258    255   
                }
  259    256   
                Some(5) => {
  260    257   
                    builder.key = Some(deser.read_string(member)?);
  261    258   
                }
  262    259   
                Some(6) => {
  263    260   
                    builder.version_id = Some(deser.read_string(member)?);
  264    261   
                }
  265    262   
                Some(7) => {
  266    263   
                    builder.is_latest = Some(deser.read_boolean(member)?);
  267    264   
                }
  268    265   
                Some(8) => {
  269    266   
                    builder.last_modified = Some(deser.read_timestamp(member)?);
  270    267   
                }
  271    268   
                Some(9) => {
  272    269   
                    builder.owner = Some(crate::types::Owner::deserialize(deser)?);
  273    270   
                }
  274    271   
                Some(10) => {
  275    272   
                    builder.restore_status = Some(crate::types::RestoreStatus::deserialize(deser)?);
  276    273   
                }
  277    274   
                _ => {}
  278    275   
            }
  279    276   
            Ok(())
  280    277   
        })?;
  281    278   
        Ok(builder.build())
  282    279   
    }
  283    280   
}
         281  +
impl ObjectVersion {
         282  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         283  +
    pub fn deserialize_with_response(
         284  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         285  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         286  +
        _status: u16,
         287  +
        _body: &[u8],
         288  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         289  +
        Self::deserialize(deserializer)
         290  +
    }
         291  +
}
  284    292   
impl ObjectVersion {
  285    293   
    /// Creates a new builder-style object to manufacture [`ObjectVersion`](crate::types::ObjectVersion).
  286    294   
    pub fn builder() -> crate::types::builders::ObjectVersionBuilder {
  287    295   
        crate::types::builders::ObjectVersionBuilder::default()
  288    296   
    }
  289    297   
}
  290    298   
  291    299   
/// A builder for [`ObjectVersion`](crate::types::ObjectVersion).
  292    300   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  293    301   
#[non_exhaustive]

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

@@ -1,1 +100,111 @@
   11     11   
    /// <p>Describes an S3 location that will receive the results of the restore request.</p>
   12     12   
    pub fn s3(&self) -> ::std::option::Option<&crate::types::S3Location> {
   13     13   
        self.s3.as_ref()
   14     14   
    }
   15     15   
}
   16     16   
static OUTPUTLOCATION_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   17     17   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#OutputLocation", "com.amazonaws.s3", "OutputLocation");
   18     18   
static OUTPUTLOCATION_MEMBER_S3: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   19     19   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#OutputLocation$S3", "com.amazonaws.s3", "OutputLocation"),
   20     20   
    ::aws_smithy_schema::ShapeType::Structure,
   21         -
    "s3",
          21  +
    "S3",
   22     22   
    0,
   23     23   
);
   24     24   
static OUTPUTLOCATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   25     25   
    OUTPUTLOCATION_SCHEMA_ID,
   26     26   
    ::aws_smithy_schema::ShapeType::Structure,
   27     27   
    &[&OUTPUTLOCATION_MEMBER_S3],
   28     28   
);
   29     29   
impl OutputLocation {
   30     30   
    /// The schema for this shape.
   31     31   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &OUTPUTLOCATION_SCHEMA;
   32     32   
}
   33     33   
impl ::aws_smithy_schema::serde::SerializableStruct for OutputLocation {
   34     34   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   35     35   
    fn serialize_members(
   36     36   
        &self,
   37     37   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   38     38   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   39     39   
        if let Some(ref val) = self.s3 {
   40     40   
            ser.write_struct(&OUTPUTLOCATION_MEMBER_S3, val)?;
   41     41   
        }
   42     42   
        Ok(())
   43     43   
    }
   44     44   
}
   45     45   
impl OutputLocation {
   46     46   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   47         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   48         -
        deserializer: &mut D,
          47  +
    pub fn deserialize(
          48  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   49     49   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   50     50   
        #[allow(unused_variables, unused_mut)]
   51     51   
        let mut builder = Self::builder();
   52     52   
        #[allow(
   53     53   
            unused_variables,
   54     54   
            unreachable_code,
   55     55   
            clippy::single_match,
   56     56   
            clippy::match_single_binding,
   57     57   
            clippy::diverging_sub_expression
   58     58   
        )]
   59         -
        deserializer.read_struct(&OUTPUTLOCATION_SCHEMA, (), |_, member, deser| {
          59  +
        deserializer.read_struct(&OUTPUTLOCATION_SCHEMA, &mut |member, deser| {
   60     60   
            match member.member_index() {
   61     61   
                Some(0) => {
   62     62   
                    builder.s3 = Some(crate::types::S3Location::deserialize(deser)?);
   63     63   
                }
   64     64   
                _ => {}
   65     65   
            }
   66     66   
            Ok(())
   67     67   
        })?;
   68     68   
        Ok(builder.build())
   69     69   
    }
   70     70   
}
          71  +
impl OutputLocation {
          72  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          73  +
    pub fn deserialize_with_response(
          74  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          75  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          76  +
        _status: u16,
          77  +
        _body: &[u8],
          78  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          79  +
        Self::deserialize(deserializer)
          80  +
    }
          81  +
}
   71     82   
impl OutputLocation {
   72     83   
    /// Creates a new builder-style object to manufacture [`OutputLocation`](crate::types::OutputLocation).
   73     84   
    pub fn builder() -> crate::types::builders::OutputLocationBuilder {
   74     85   
        crate::types::builders::OutputLocationBuilder::default()
   75     86   
    }
   76     87   
}
   77     88   
   78     89   
/// A builder for [`OutputLocation`](crate::types::OutputLocation).
   79     90   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   80     91   
#[non_exhaustive]

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

@@ -1,1 +118,129 @@
   17     17   
    /// <p>Specifies JSON as request's output serialization format.</p>
   18     18   
    pub fn json(&self) -> ::std::option::Option<&crate::types::JsonOutput> {
   19     19   
        self.json.as_ref()
   20     20   
    }
   21     21   
}
   22     22   
static OUTPUTSERIALIZATION_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   23     23   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#OutputSerialization", "com.amazonaws.s3", "OutputSerialization");
   24     24   
static OUTPUTSERIALIZATION_MEMBER_CSV: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   25     25   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#OutputSerialization$CSV", "com.amazonaws.s3", "OutputSerialization"),
   26     26   
    ::aws_smithy_schema::ShapeType::Structure,
   27         -
    "csv",
          27  +
    "CSV",
   28     28   
    0,
   29     29   
);
   30     30   
static OUTPUTSERIALIZATION_MEMBER_JSON: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   31     31   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3#OutputSerialization$JSON", "com.amazonaws.s3", "OutputSerialization"),
   32     32   
    ::aws_smithy_schema::ShapeType::Structure,
   33         -
    "json",
          33  +
    "JSON",
   34     34   
    1,
   35     35   
);
   36     36   
static OUTPUTSERIALIZATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   37     37   
    OUTPUTSERIALIZATION_SCHEMA_ID,
   38     38   
    ::aws_smithy_schema::ShapeType::Structure,
   39     39   
    &[&OUTPUTSERIALIZATION_MEMBER_CSV, &OUTPUTSERIALIZATION_MEMBER_JSON],
   40     40   
);
   41     41   
impl OutputSerialization {
   42     42   
    /// The schema for this shape.
   43     43   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &OUTPUTSERIALIZATION_SCHEMA;
   44     44   
}
   45     45   
impl ::aws_smithy_schema::serde::SerializableStruct for OutputSerialization {
   46     46   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   47     47   
    fn serialize_members(
   48     48   
        &self,
   49     49   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   50     50   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   51     51   
        if let Some(ref val) = self.csv {
   52     52   
            ser.write_struct(&OUTPUTSERIALIZATION_MEMBER_CSV, val)?;
   53     53   
        }
   54     54   
        if let Some(ref val) = self.json {
   55     55   
            ser.write_struct(&OUTPUTSERIALIZATION_MEMBER_JSON, val)?;
   56     56   
        }
   57     57   
        Ok(())
   58     58   
    }
   59     59   
}
   60     60   
impl OutputSerialization {
   61     61   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   62         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   63         -
        deserializer: &mut D,
          62  +
    pub fn deserialize(
          63  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   64     64   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   65     65   
        #[allow(unused_variables, unused_mut)]
   66     66   
        let mut builder = Self::builder();
   67     67   
        #[allow(
   68     68   
            unused_variables,
   69     69   
            unreachable_code,
   70     70   
            clippy::single_match,
   71     71   
            clippy::match_single_binding,
   72     72   
            clippy::diverging_sub_expression
   73     73   
        )]
   74         -
        deserializer.read_struct(&OUTPUTSERIALIZATION_SCHEMA, (), |_, member, deser| {
          74  +
        deserializer.read_struct(&OUTPUTSERIALIZATION_SCHEMA, &mut |member, deser| {
   75     75   
            match member.member_index() {
   76     76   
                Some(0) => {
   77     77   
                    builder.csv = Some(crate::types::CsvOutput::deserialize(deser)?);
   78     78   
                }
   79     79   
                Some(1) => {
   80     80   
                    builder.json = Some(crate::types::JsonOutput::deserialize(deser)?);
   81     81   
                }
   82     82   
                _ => {}
   83     83   
            }
   84     84   
            Ok(())
   85     85   
        })?;
   86     86   
        Ok(builder.build())
   87     87   
    }
   88     88   
}
          89  +
impl OutputSerialization {
          90  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          91  +
    pub fn deserialize_with_response(
          92  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          93  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          94  +
        _status: u16,
          95  +
        _body: &[u8],
          96  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          97  +
        Self::deserialize(deserializer)
          98  +
    }
          99  +
}
   89    100   
impl OutputSerialization {
   90    101   
    /// Creates a new builder-style object to manufacture [`OutputSerialization`](crate::types::OutputSerialization).
   91    102   
    pub fn builder() -> crate::types::builders::OutputSerializationBuilder {
   92    103   
        crate::types::builders::OutputSerializationBuilder::default()
   93    104   
    }
   94    105   
}
   95    106   
   96    107   
/// A builder for [`OutputSerialization`](crate::types::OutputSerialization).
   97    108   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   98    109   
#[non_exhaustive]