AWS SDK

AWS SDK

rev. 96f5a1b4ad139d2f1ad1e8e40f300e1cd1ff574c

Files changed:

tmp-codegen-diff/aws-sdk/sdk/s3control/src/types/_object_lambda_content_transformation.rs

@@ -9,9 +0,94 @@
   29     29   
    }
   30     30   
    /// Returns true if this is a [`AwsLambda`](crate::types::ObjectLambdaContentTransformation::AwsLambda).
   31     31   
    pub fn is_aws_lambda(&self) -> bool {
   32     32   
        self.as_aws_lambda().is_ok()
   33     33   
    }
   34     34   
    /// Returns true if the enum instance is the `Unknown` variant.
   35     35   
    pub fn is_unknown(&self) -> bool {
   36     36   
        matches!(self, Self::Unknown)
   37     37   
    }
   38     38   
}
          39  +
static OBJECTLAMBDACONTENTTRANSFORMATION_SCHEMA_ID: ::aws_smithy_schema::ShapeId = ::aws_smithy_schema::ShapeId::from_static(
          40  +
    "com.amazonaws.s3control#ObjectLambdaContentTransformation",
          41  +
    "com.amazonaws.s3control",
          42  +
    "ObjectLambdaContentTransformation",
          43  +
);
          44  +
static OBJECTLAMBDACONTENTTRANSFORMATION_MEMBER_AWSLAMBDA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
          45  +
    ::aws_smithy_schema::ShapeId::from_static(
          46  +
        "com.amazonaws.s3control#ObjectLambdaContentTransformation$AwsLambda",
          47  +
        "com.amazonaws.s3control",
          48  +
        "ObjectLambdaContentTransformation",
          49  +
    ),
          50  +
    ::aws_smithy_schema::ShapeType::Structure,
          51  +
    "AwsLambda",
          52  +
    0,
          53  +
);
          54  +
static OBJECTLAMBDACONTENTTRANSFORMATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
          55  +
    OBJECTLAMBDACONTENTTRANSFORMATION_SCHEMA_ID,
          56  +
    ::aws_smithy_schema::ShapeType::Union,
          57  +
    &[&OBJECTLAMBDACONTENTTRANSFORMATION_MEMBER_AWSLAMBDA],
          58  +
);
          59  +
impl ObjectLambdaContentTransformation {
          60  +
    /// The schema for this shape.
          61  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &OBJECTLAMBDACONTENTTRANSFORMATION_SCHEMA;
          62  +
}
          63  +
impl ::aws_smithy_schema::serde::SerializableStruct for ObjectLambdaContentTransformation {
          64  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
          65  +
    fn serialize_members(
          66  +
        &self,
          67  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
          68  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
          69  +
        match self {
          70  +
            Self::AwsLambda(val) => {
          71  +
                ser.write_struct(&OBJECTLAMBDACONTENTTRANSFORMATION_MEMBER_AWSLAMBDA, val)?;
          72  +
            }
          73  +
            Self::Unknown => return Err(::aws_smithy_schema::serde::SerdeError::custom("cannot serialize unknown union variant")),
          74  +
        }
          75  +
        Ok(())
          76  +
    }
          77  +
}
          78  +
impl ObjectLambdaContentTransformation {
          79  +
    /// Deserializes this union from a [`ShapeDeserializer`].
          80  +
    pub fn deserialize(
          81  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          82  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          83  +
        let mut result: ::std::option::Option<Self> = ::std::option::Option::None;
          84  +
        #[allow(unused_variables, unreachable_code, clippy::single_match, clippy::match_single_binding)]
          85  +
        deserializer.read_struct(&OBJECTLAMBDACONTENTTRANSFORMATION_SCHEMA, &mut |member, deser| {
          86  +
            result = ::std::option::Option::Some(match member.member_index() {
          87  +
                Some(0) => Self::AwsLambda(crate::types::AwsLambdaTransformation::deserialize(deser)?),
          88  +
                _ => Self::Unknown,
          89  +
            });
          90  +
            Ok(())
          91  +
        })?;
          92  +
        result.ok_or_else(|| ::aws_smithy_schema::serde::SerdeError::custom("expected a union variant"))
          93  +
    }
          94  +
}

tmp-codegen-diff/aws-sdk/sdk/s3control/src/types/_object_lambda_transformation_configuration.rs

@@ -5,5 +160,166 @@
   25     25   
    "com.amazonaws.s3control",
   26     26   
    "ObjectLambdaTransformationConfiguration",
   27     27   
);
   28     28   
static OBJECTLAMBDATRANSFORMATIONCONFIGURATION_MEMBER_ACTIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   29     29   
    ::aws_smithy_schema::ShapeId::from_static(
   30     30   
        "com.amazonaws.s3control#ObjectLambdaTransformationConfiguration$Actions",
   31     31   
        "com.amazonaws.s3control",
   32     32   
        "ObjectLambdaTransformationConfiguration",
   33     33   
    ),
   34     34   
    ::aws_smithy_schema::ShapeType::List,
   35         -
    "actions",
          35  +
    "Actions",
   36     36   
    0,
   37     37   
);
   38     38   
static OBJECTLAMBDATRANSFORMATIONCONFIGURATION_MEMBER_CONTENT_TRANSFORMATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   39     39   
    ::aws_smithy_schema::ShapeId::from_static(
   40     40   
        "com.amazonaws.s3control#ObjectLambdaTransformationConfiguration$ContentTransformation",
   41     41   
        "com.amazonaws.s3control",
   42     42   
        "ObjectLambdaTransformationConfiguration",
   43     43   
    ),
   44     44   
    ::aws_smithy_schema::ShapeType::Union,
   45         -
    "content_transformation",
          45  +
    "ContentTransformation",
   46     46   
    1,
   47     47   
);
   48     48   
static OBJECTLAMBDATRANSFORMATIONCONFIGURATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   49     49   
    OBJECTLAMBDATRANSFORMATIONCONFIGURATION_SCHEMA_ID,
   50     50   
    ::aws_smithy_schema::ShapeType::Structure,
   51     51   
    &[
   52     52   
        &OBJECTLAMBDATRANSFORMATIONCONFIGURATION_MEMBER_ACTIONS,
   53     53   
        &OBJECTLAMBDATRANSFORMATIONCONFIGURATION_MEMBER_CONTENT_TRANSFORMATION,
   54     54   
    ],
   55     55   
);
   56     56   
impl ObjectLambdaTransformationConfiguration {
   57     57   
    /// The schema for this shape.
   58     58   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &OBJECTLAMBDATRANSFORMATIONCONFIGURATION_SCHEMA;
   59     59   
}
   60     60   
impl ::aws_smithy_schema::serde::SerializableStruct for ObjectLambdaTransformationConfiguration {
   61     61   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   62     62   
    fn serialize_members(
   63     63   
        &self,
   64     64   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   65     65   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   66     66   
        {
   67     67   
            let val = &self.actions;
   68     68   
   69     69   
            ser.write_list(
   70     70   
                &OBJECTLAMBDATRANSFORMATIONCONFIGURATION_MEMBER_ACTIONS,
   71     71   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   72     72   
                    for item in val {
   73     73   
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item.as_str())?;
   74     74   
                    }
   75     75   
                    Ok(())
   76     76   
                },
   77     77   
            )?;
   78     78   
        }
   79     79   
        if let Some(ref val) = self.content_transformation {
   80         -
            ser.write_null(&OBJECTLAMBDATRANSFORMATIONCONFIGURATION_MEMBER_CONTENT_TRANSFORMATION)?;
          80  +
            ser.write_struct(&OBJECTLAMBDATRANSFORMATIONCONFIGURATION_MEMBER_CONTENT_TRANSFORMATION, val)?;
   81     81   
        }
   82     82   
        Ok(())
   83     83   
    }
   84     84   
}
   85     85   
impl ObjectLambdaTransformationConfiguration {
   86     86   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   87         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   88         -
        deserializer: &mut D,
          87  +
    pub fn deserialize(
          88  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   89     89   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   90     90   
        #[allow(unused_variables, unused_mut)]
   91     91   
        let mut builder = Self::builder();
   92     92   
        #[allow(
   93     93   
            unused_variables,
   94     94   
            unreachable_code,
   95     95   
            clippy::single_match,
   96     96   
            clippy::match_single_binding,
   97     97   
            clippy::diverging_sub_expression
   98     98   
        )]
   99         -
        deserializer.read_struct(&OBJECTLAMBDATRANSFORMATIONCONFIGURATION_SCHEMA, (), |_, member, deser| {
          99  +
        deserializer.read_struct(&OBJECTLAMBDATRANSFORMATIONCONFIGURATION_SCHEMA, &mut |member, deser| {
  100    100   
            match member.member_index() {
  101    101   
                Some(0) => {
  102    102   
                    builder.actions = Some({
  103         -
                        let container = if let Some(cap) = deser.container_size() {
  104         -
                            Vec::with_capacity(cap)
  105         -
                        } else {
  106         -
                            Vec::new()
  107         -
                        };
  108         -
                        deser.read_list(member, container, |mut list, deser| {
  109         -
                            list.push(crate::types::ObjectLambdaTransformationConfigurationAction::from(
         103  +
                        let mut container = Vec::new();
         104  +
                        deser.read_list(member, &mut |deser| {
         105  +
                            container.push(crate::types::ObjectLambdaTransformationConfigurationAction::from(
  110    106   
                                deser.read_string(member)?.as_str(),
  111    107   
                            ));
  112         -
                            Ok(list)
  113         -
                        })?
         108  +
                            Ok(())
         109  +
                        })?;
         110  +
                        container
  114    111   
                    });
  115    112   
                }
  116    113   
                Some(1) => {
  117         -
                    builder.content_transformation = Some({
  118         -
                        let _ = member;
  119         -
                        todo!("deserialize aggregate")
  120         -
                    });
         114  +
                    builder.content_transformation = Some(crate::types::ObjectLambdaContentTransformation::deserialize(deser)?);
  121    115   
                }
  122    116   
                _ => {}
  123    117   
            }
  124    118   
            Ok(())
  125    119   
        })?;
         120  +
        builder.actions = builder.actions.or(Some(Vec::new()));
  126    121   
        builder
  127    122   
            .build()
  128    123   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  129    124   
    }
  130    125   
}
         126  +
impl ObjectLambdaTransformationConfiguration {
         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  +
}
  131    137   
impl ObjectLambdaTransformationConfiguration {
  132    138   
    /// Creates a new builder-style object to manufacture [`ObjectLambdaTransformationConfiguration`](crate::types::ObjectLambdaTransformationConfiguration).
  133    139   
    pub fn builder() -> crate::types::builders::ObjectLambdaTransformationConfigurationBuilder {
  134    140   
        crate::types::builders::ObjectLambdaTransformationConfigurationBuilder::default()
  135    141   
    }
  136    142   
}
  137    143   
  138    144   
/// A builder for [`ObjectLambdaTransformationConfiguration`](crate::types::ObjectLambdaTransformationConfiguration).
  139    145   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  140    146   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/s3control/src/types/_policy_status.rs

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

tmp-codegen-diff/aws-sdk/sdk/s3control/src/types/_prefix_level.rs

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

tmp-codegen-diff/aws-sdk/sdk/s3control/src/types/_prefix_level_storage_metrics.rs

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

tmp-codegen-diff/aws-sdk/sdk/s3control/src/types/_proposed_multi_region_access_point_policy.rs

@@ -1,1 +108,119 @@
   19     19   
    "com.amazonaws.s3control",
   20     20   
    "ProposedMultiRegionAccessPointPolicy",
   21     21   
);
   22     22   
static PROPOSEDMULTIREGIONACCESSPOINTPOLICY_MEMBER_POLICY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   23     23   
    ::aws_smithy_schema::ShapeId::from_static(
   24     24   
        "com.amazonaws.s3control#ProposedMultiRegionAccessPointPolicy$Policy",
   25     25   
        "com.amazonaws.s3control",
   26     26   
        "ProposedMultiRegionAccessPointPolicy",
   27     27   
    ),
   28     28   
    ::aws_smithy_schema::ShapeType::String,
   29         -
    "policy",
          29  +
    "Policy",
   30     30   
    0,
   31     31   
);
   32     32   
static PROPOSEDMULTIREGIONACCESSPOINTPOLICY_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   33     33   
    PROPOSEDMULTIREGIONACCESSPOINTPOLICY_SCHEMA_ID,
   34     34   
    ::aws_smithy_schema::ShapeType::Structure,
   35     35   
    &[&PROPOSEDMULTIREGIONACCESSPOINTPOLICY_MEMBER_POLICY],
   36     36   
);
   37     37   
impl ProposedMultiRegionAccessPointPolicy {
   38     38   
    /// The schema for this shape.
   39     39   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &PROPOSEDMULTIREGIONACCESSPOINTPOLICY_SCHEMA;
   40     40   
}
   41     41   
impl ::aws_smithy_schema::serde::SerializableStruct for ProposedMultiRegionAccessPointPolicy {
   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.policy {
   48     48   
            ser.write_string(&PROPOSEDMULTIREGIONACCESSPOINTPOLICY_MEMBER_POLICY, val)?;
   49     49   
        }
   50     50   
        Ok(())
   51     51   
    }
   52     52   
}
   53     53   
impl ProposedMultiRegionAccessPointPolicy {
   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(&PROPOSEDMULTIREGIONACCESSPOINTPOLICY_SCHEMA, (), |_, member, deser| {
          67  +
        deserializer.read_struct(&PROPOSEDMULTIREGIONACCESSPOINTPOLICY_SCHEMA, &mut |member, deser| {
   68     68   
            match member.member_index() {
   69     69   
                Some(0) => {
   70     70   
                    builder.policy = Some(deser.read_string(member)?);
   71     71   
                }
   72     72   
                _ => {}
   73     73   
            }
   74     74   
            Ok(())
   75     75   
        })?;
   76     76   
        Ok(builder.build())
   77     77   
    }
   78     78   
}
          79  +
impl ProposedMultiRegionAccessPointPolicy {
          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 ProposedMultiRegionAccessPointPolicy {
   80     91   
    /// Creates a new builder-style object to manufacture [`ProposedMultiRegionAccessPointPolicy`](crate::types::ProposedMultiRegionAccessPointPolicy).
   81     92   
    pub fn builder() -> crate::types::builders::ProposedMultiRegionAccessPointPolicyBuilder {
   82     93   
        crate::types::builders::ProposedMultiRegionAccessPointPolicyBuilder::default()
   83     94   
    }
   84     95   
}
   85     96   
   86     97   
/// A builder for [`ProposedMultiRegionAccessPointPolicy`](crate::types::ProposedMultiRegionAccessPointPolicy).
   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/s3control/src/types/_public_access_block_configuration.rs

@@ -49,49 +215,226 @@
   69     69   
    "com.amazonaws.s3control",
   70     70   
    "PublicAccessBlockConfiguration",
   71     71   
);
   72     72   
static PUBLICACCESSBLOCKCONFIGURATION_MEMBER_BLOCK_PUBLIC_ACLS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   73     73   
    ::aws_smithy_schema::ShapeId::from_static(
   74     74   
        "com.amazonaws.s3control#PublicAccessBlockConfiguration$BlockPublicAcls",
   75     75   
        "com.amazonaws.s3control",
   76     76   
        "PublicAccessBlockConfiguration",
   77     77   
    ),
   78     78   
    ::aws_smithy_schema::ShapeType::Boolean,
   79         -
    "block_public_acls",
          79  +
    "BlockPublicAcls",
   80     80   
    0,
   81     81   
)
   82     82   
.with_xml_name("BlockPublicAcls");
   83     83   
static PUBLICACCESSBLOCKCONFIGURATION_MEMBER_IGNORE_PUBLIC_ACLS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   84     84   
    ::aws_smithy_schema::ShapeId::from_static(
   85     85   
        "com.amazonaws.s3control#PublicAccessBlockConfiguration$IgnorePublicAcls",
   86     86   
        "com.amazonaws.s3control",
   87     87   
        "PublicAccessBlockConfiguration",
   88     88   
    ),
   89     89   
    ::aws_smithy_schema::ShapeType::Boolean,
   90         -
    "ignore_public_acls",
          90  +
    "IgnorePublicAcls",
   91     91   
    1,
   92     92   
)
   93     93   
.with_xml_name("IgnorePublicAcls");
   94     94   
static PUBLICACCESSBLOCKCONFIGURATION_MEMBER_BLOCK_PUBLIC_POLICY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   95     95   
    ::aws_smithy_schema::ShapeId::from_static(
   96     96   
        "com.amazonaws.s3control#PublicAccessBlockConfiguration$BlockPublicPolicy",
   97     97   
        "com.amazonaws.s3control",
   98     98   
        "PublicAccessBlockConfiguration",
   99     99   
    ),
  100    100   
    ::aws_smithy_schema::ShapeType::Boolean,
  101         -
    "block_public_policy",
         101  +
    "BlockPublicPolicy",
  102    102   
    2,
  103    103   
)
  104    104   
.with_xml_name("BlockPublicPolicy");
  105    105   
static PUBLICACCESSBLOCKCONFIGURATION_MEMBER_RESTRICT_PUBLIC_BUCKETS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  106    106   
    ::aws_smithy_schema::ShapeId::from_static(
  107    107   
        "com.amazonaws.s3control#PublicAccessBlockConfiguration$RestrictPublicBuckets",
  108    108   
        "com.amazonaws.s3control",
  109    109   
        "PublicAccessBlockConfiguration",
  110    110   
    ),
  111    111   
    ::aws_smithy_schema::ShapeType::Boolean,
  112         -
    "restrict_public_buckets",
         112  +
    "RestrictPublicBuckets",
  113    113   
    3,
  114    114   
)
  115    115   
.with_xml_name("RestrictPublicBuckets");
  116    116   
static PUBLICACCESSBLOCKCONFIGURATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  117    117   
    PUBLICACCESSBLOCKCONFIGURATION_SCHEMA_ID,
  118    118   
    ::aws_smithy_schema::ShapeType::Structure,
  119    119   
    &[
  120    120   
        &PUBLICACCESSBLOCKCONFIGURATION_MEMBER_BLOCK_PUBLIC_ACLS,
  121    121   
        &PUBLICACCESSBLOCKCONFIGURATION_MEMBER_IGNORE_PUBLIC_ACLS,
  122    122   
        &PUBLICACCESSBLOCKCONFIGURATION_MEMBER_BLOCK_PUBLIC_POLICY,
  123    123   
        &PUBLICACCESSBLOCKCONFIGURATION_MEMBER_RESTRICT_PUBLIC_BUCKETS,
  124    124   
    ],
  125    125   
);
  126    126   
impl PublicAccessBlockConfiguration {
  127    127   
    /// The schema for this shape.
  128    128   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &PUBLICACCESSBLOCKCONFIGURATION_SCHEMA;
  129    129   
}
  130    130   
impl ::aws_smithy_schema::serde::SerializableStruct for PublicAccessBlockConfiguration {
  131    131   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  132    132   
    fn serialize_members(
  133    133   
        &self,
  134    134   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  135    135   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  136    136   
        if let Some(ref val) = self.block_public_acls {
  137    137   
            ser.write_boolean(&PUBLICACCESSBLOCKCONFIGURATION_MEMBER_BLOCK_PUBLIC_ACLS, *val)?;
  138    138   
        }
  139    139   
        if let Some(ref val) = self.ignore_public_acls {
  140    140   
            ser.write_boolean(&PUBLICACCESSBLOCKCONFIGURATION_MEMBER_IGNORE_PUBLIC_ACLS, *val)?;
  141    141   
        }
  142    142   
        if let Some(ref val) = self.block_public_policy {
  143    143   
            ser.write_boolean(&PUBLICACCESSBLOCKCONFIGURATION_MEMBER_BLOCK_PUBLIC_POLICY, *val)?;
  144    144   
        }
  145    145   
        if let Some(ref val) = self.restrict_public_buckets {
  146    146   
            ser.write_boolean(&PUBLICACCESSBLOCKCONFIGURATION_MEMBER_RESTRICT_PUBLIC_BUCKETS, *val)?;
  147    147   
        }
  148    148   
        Ok(())
  149    149   
    }
  150    150   
}
  151    151   
impl PublicAccessBlockConfiguration {
  152    152   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  153         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  154         -
        deserializer: &mut D,
         153  +
    pub fn deserialize(
         154  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  155    155   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  156    156   
        #[allow(unused_variables, unused_mut)]
  157    157   
        let mut builder = Self::builder();
  158    158   
        #[allow(
  159    159   
            unused_variables,
  160    160   
            unreachable_code,
  161    161   
            clippy::single_match,
  162    162   
            clippy::match_single_binding,
  163    163   
            clippy::diverging_sub_expression
  164    164   
        )]
  165         -
        deserializer.read_struct(&PUBLICACCESSBLOCKCONFIGURATION_SCHEMA, (), |_, member, deser| {
         165  +
        deserializer.read_struct(&PUBLICACCESSBLOCKCONFIGURATION_SCHEMA, &mut |member, deser| {
  166    166   
            match member.member_index() {
  167    167   
                Some(0) => {
  168    168   
                    builder.block_public_acls = Some(deser.read_boolean(member)?);
  169    169   
                }
  170    170   
                Some(1) => {
  171    171   
                    builder.ignore_public_acls = Some(deser.read_boolean(member)?);
  172    172   
                }
  173    173   
                Some(2) => {
  174    174   
                    builder.block_public_policy = Some(deser.read_boolean(member)?);
  175    175   
                }
  176    176   
                Some(3) => {
  177    177   
                    builder.restrict_public_buckets = Some(deser.read_boolean(member)?);
  178    178   
                }
  179    179   
                _ => {}
  180    180   
            }
  181    181   
            Ok(())
  182    182   
        })?;
  183    183   
        Ok(builder.build())
  184    184   
    }
  185    185   
}
         186  +
impl PublicAccessBlockConfiguration {
         187  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         188  +
    pub fn deserialize_with_response(
         189  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         190  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         191  +
        _status: u16,
         192  +
        _body: &[u8],
         193  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         194  +
        Self::deserialize(deserializer)
         195  +
    }
         196  +
}
  186    197   
impl PublicAccessBlockConfiguration {
  187    198   
    /// Creates a new builder-style object to manufacture [`PublicAccessBlockConfiguration`](crate::types::PublicAccessBlockConfiguration).
  188    199   
    pub fn builder() -> crate::types::builders::PublicAccessBlockConfigurationBuilder {
  189    200   
        crate::types::builders::PublicAccessBlockConfigurationBuilder::default()
  190    201   
    }
  191    202   
}
  192    203   
  193    204   
/// A builder for [`PublicAccessBlockConfiguration`](crate::types::PublicAccessBlockConfiguration).
  194    205   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  195    206   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/s3control/src/types/_put_multi_region_access_point_policy_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/s3control/src/types/_region.rs

@@ -1,1 +122,134 @@
   18     18   
    /// <p>The Amazon Web Services account ID that owns the Amazon S3 bucket that's associated with this Multi-Region Access Point.</p>
   19     19   
    pub fn bucket_account_id(&self) -> ::std::option::Option<&str> {
   20     20   
        self.bucket_account_id.as_deref()
   21     21   
    }
   22     22   
}
   23     23   
static REGION_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   24     24   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3control#Region", "com.amazonaws.s3control", "Region");
   25     25   
static REGION_MEMBER_BUCKET: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   26     26   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3control#Region$Bucket", "com.amazonaws.s3control", "Region"),
   27     27   
    ::aws_smithy_schema::ShapeType::String,
   28         -
    "bucket",
          28  +
    "Bucket",
   29     29   
    0,
   30     30   
);
   31     31   
static REGION_MEMBER_BUCKET_ACCOUNT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   32     32   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3control#Region$BucketAccountId", "com.amazonaws.s3control", "Region"),
   33     33   
    ::aws_smithy_schema::ShapeType::String,
   34         -
    "bucket_account_id",
          34  +
    "BucketAccountId",
   35     35   
    1,
   36     36   
);
   37     37   
static REGION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   38     38   
    REGION_SCHEMA_ID,
   39     39   
    ::aws_smithy_schema::ShapeType::Structure,
   40     40   
    &[&REGION_MEMBER_BUCKET, &REGION_MEMBER_BUCKET_ACCOUNT_ID],
   41     41   
);
   42     42   
impl Region {
   43     43   
    /// The schema for this shape.
   44     44   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &REGION_SCHEMA;
   45     45   
}
   46     46   
impl ::aws_smithy_schema::serde::SerializableStruct for Region {
   47     47   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   48     48   
    fn serialize_members(
   49     49   
        &self,
   50     50   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   51     51   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   52     52   
        {
   53     53   
            let val = &self.bucket;
   54     54   
            ser.write_string(&REGION_MEMBER_BUCKET, val)?;
   55     55   
        }
   56     56   
        if let Some(ref val) = self.bucket_account_id {
   57     57   
            ser.write_string(&REGION_MEMBER_BUCKET_ACCOUNT_ID, val)?;
   58     58   
        }
   59     59   
        Ok(())
   60     60   
    }
   61     61   
}
   62     62   
impl Region {
   63     63   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   64         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   65         -
        deserializer: &mut D,
          64  +
    pub fn deserialize(
          65  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   66     66   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   67     67   
        #[allow(unused_variables, unused_mut)]
   68     68   
        let mut builder = Self::builder();
   69     69   
        #[allow(
   70     70   
            unused_variables,
   71     71   
            unreachable_code,
   72     72   
            clippy::single_match,
   73     73   
            clippy::match_single_binding,
   74     74   
            clippy::diverging_sub_expression
   75     75   
        )]
   76         -
        deserializer.read_struct(&REGION_SCHEMA, (), |_, member, deser| {
          76  +
        deserializer.read_struct(&REGION_SCHEMA, &mut |member, deser| {
   77     77   
            match member.member_index() {
   78     78   
                Some(0) => {
   79     79   
                    builder.bucket = Some(deser.read_string(member)?);
   80     80   
                }
   81     81   
                Some(1) => {
   82     82   
                    builder.bucket_account_id = Some(deser.read_string(member)?);
   83     83   
                }
   84     84   
                _ => {}
   85     85   
            }
   86     86   
            Ok(())
   87     87   
        })?;
          88  +
        builder.bucket = builder.bucket.or(Some(String::new()));
   88     89   
        builder
   89     90   
            .build()
   90     91   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
   91     92   
    }
   92     93   
}
          94  +
impl Region {
          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 Region {
   94    106   
    /// Creates a new builder-style object to manufacture [`Region`](crate::types::Region).
   95    107   
    pub fn builder() -> crate::types::builders::RegionBuilder {
   96    108   
        crate::types::builders::RegionBuilder::default()
   97    109   
    }
   98    110   
}
   99    111   
  100    112   
/// A builder for [`Region`](crate::types::Region).
  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/s3control/src/types/_region_report.rs

@@ -3,3 +144,155 @@
   23     23   
    /// <p>The Amazon Web Services account ID that owns the Amazon S3 bucket that's associated with this Multi-Region Access Point.</p>
   24     24   
    pub fn bucket_account_id(&self) -> ::std::option::Option<&str> {
   25     25   
        self.bucket_account_id.as_deref()
   26     26   
    }
   27     27   
}
   28     28   
static REGIONREPORT_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   29     29   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3control#RegionReport", "com.amazonaws.s3control", "RegionReport");
   30     30   
static REGIONREPORT_MEMBER_BUCKET: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   31     31   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3control#RegionReport$Bucket", "com.amazonaws.s3control", "RegionReport"),
   32     32   
    ::aws_smithy_schema::ShapeType::String,
   33         -
    "bucket",
          33  +
    "Bucket",
   34     34   
    0,
   35     35   
);
   36     36   
static REGIONREPORT_MEMBER_REGION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   37     37   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3control#RegionReport$Region", "com.amazonaws.s3control", "RegionReport"),
   38     38   
    ::aws_smithy_schema::ShapeType::String,
   39         -
    "region",
          39  +
    "Region",
   40     40   
    1,
   41     41   
);
   42     42   
static REGIONREPORT_MEMBER_BUCKET_ACCOUNT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   43     43   
    ::aws_smithy_schema::ShapeId::from_static(
   44     44   
        "com.amazonaws.s3control#RegionReport$BucketAccountId",
   45     45   
        "com.amazonaws.s3control",
   46     46   
        "RegionReport",
   47     47   
    ),
   48     48   
    ::aws_smithy_schema::ShapeType::String,
   49         -
    "bucket_account_id",
          49  +
    "BucketAccountId",
   50     50   
    2,
   51     51   
);
   52     52   
static REGIONREPORT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   53     53   
    REGIONREPORT_SCHEMA_ID,
   54     54   
    ::aws_smithy_schema::ShapeType::Structure,
   55     55   
    &[
   56     56   
        &REGIONREPORT_MEMBER_BUCKET,
   57     57   
        &REGIONREPORT_MEMBER_REGION,
   58     58   
        &REGIONREPORT_MEMBER_BUCKET_ACCOUNT_ID,
   59     59   
    ],
   60     60   
);
   61     61   
impl RegionReport {
   62     62   
    /// The schema for this shape.
   63     63   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &REGIONREPORT_SCHEMA;
   64     64   
}
   65     65   
impl ::aws_smithy_schema::serde::SerializableStruct for RegionReport {
   66     66   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   67     67   
    fn serialize_members(
   68     68   
        &self,
   69     69   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   70     70   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   71     71   
        if let Some(ref val) = self.bucket {
   72     72   
            ser.write_string(&REGIONREPORT_MEMBER_BUCKET, val)?;
   73     73   
        }
   74     74   
        if let Some(ref val) = self.region {
   75     75   
            ser.write_string(&REGIONREPORT_MEMBER_REGION, val)?;
   76     76   
        }
   77     77   
        if let Some(ref val) = self.bucket_account_id {
   78     78   
            ser.write_string(&REGIONREPORT_MEMBER_BUCKET_ACCOUNT_ID, val)?;
   79     79   
        }
   80     80   
        Ok(())
   81     81   
    }
   82     82   
}
   83     83   
impl RegionReport {
   84     84   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   85         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   86         -
        deserializer: &mut D,
          85  +
    pub fn deserialize(
          86  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   87     87   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   88     88   
        #[allow(unused_variables, unused_mut)]
   89     89   
        let mut builder = Self::builder();
   90     90   
        #[allow(
   91     91   
            unused_variables,
   92     92   
            unreachable_code,
   93     93   
            clippy::single_match,
   94     94   
            clippy::match_single_binding,
   95     95   
            clippy::diverging_sub_expression
   96     96   
        )]
   97         -
        deserializer.read_struct(&REGIONREPORT_SCHEMA, (), |_, member, deser| {
          97  +
        deserializer.read_struct(&REGIONREPORT_SCHEMA, &mut |member, deser| {
   98     98   
            match member.member_index() {
   99     99   
                Some(0) => {
  100    100   
                    builder.bucket = Some(deser.read_string(member)?);
  101    101   
                }
  102    102   
                Some(1) => {
  103    103   
                    builder.region = Some(deser.read_string(member)?);
  104    104   
                }
  105    105   
                Some(2) => {
  106    106   
                    builder.bucket_account_id = Some(deser.read_string(member)?);
  107    107   
                }
  108    108   
                _ => {}
  109    109   
            }
  110    110   
            Ok(())
  111    111   
        })?;
  112    112   
        Ok(builder.build())
  113    113   
    }
  114    114   
}
         115  +
impl RegionReport {
         116  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         117  +
    pub fn deserialize_with_response(
         118  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         119  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         120  +
        _status: u16,
         121  +
        _body: &[u8],
         122  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         123  +
        Self::deserialize(deserializer)
         124  +
    }
         125  +
}
  115    126   
impl RegionReport {
  116    127   
    /// Creates a new builder-style object to manufacture [`RegionReport`](crate::types::RegionReport).
  117    128   
    pub fn builder() -> crate::types::builders::RegionReportBuilder {
  118    129   
        crate::types::builders::RegionReportBuilder::default()
  119    130   
    }
  120    131   
}
  121    132   
  122    133   
/// A builder for [`RegionReport`](crate::types::RegionReport).
  123    134   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  124    135   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/s3control/src/types/_regional_bucket.rs

@@ -20,20 +204,218 @@
   40     40   
}
   41     41   
static REGIONALBUCKET_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   42     42   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3control#RegionalBucket", "com.amazonaws.s3control", "RegionalBucket");
   43     43   
static REGIONALBUCKET_MEMBER_BUCKET: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   44     44   
    ::aws_smithy_schema::ShapeId::from_static(
   45     45   
        "com.amazonaws.s3control#RegionalBucket$Bucket",
   46     46   
        "com.amazonaws.s3control",
   47     47   
        "RegionalBucket",
   48     48   
    ),
   49     49   
    ::aws_smithy_schema::ShapeType::String,
   50         -
    "bucket",
          50  +
    "Bucket",
   51     51   
    0,
   52     52   
);
   53     53   
static REGIONALBUCKET_MEMBER_BUCKET_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   54     54   
    ::aws_smithy_schema::ShapeId::from_static(
   55     55   
        "com.amazonaws.s3control#RegionalBucket$BucketArn",
   56     56   
        "com.amazonaws.s3control",
   57     57   
        "RegionalBucket",
   58     58   
    ),
   59     59   
    ::aws_smithy_schema::ShapeType::String,
   60         -
    "bucket_arn",
          60  +
    "BucketArn",
   61     61   
    1,
   62     62   
);
   63     63   
static REGIONALBUCKET_MEMBER_PUBLIC_ACCESS_BLOCK_ENABLED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   64     64   
    ::aws_smithy_schema::ShapeId::from_static(
   65     65   
        "com.amazonaws.s3control#RegionalBucket$PublicAccessBlockEnabled",
   66     66   
        "com.amazonaws.s3control",
   67     67   
        "RegionalBucket",
   68     68   
    ),
   69     69   
    ::aws_smithy_schema::ShapeType::Boolean,
   70         -
    "public_access_block_enabled",
          70  +
    "PublicAccessBlockEnabled",
   71     71   
    2,
   72     72   
);
   73     73   
static REGIONALBUCKET_MEMBER_CREATION_DATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   74     74   
    ::aws_smithy_schema::ShapeId::from_static(
   75     75   
        "com.amazonaws.s3control#RegionalBucket$CreationDate",
   76     76   
        "com.amazonaws.s3control",
   77     77   
        "RegionalBucket",
   78     78   
    ),
   79     79   
    ::aws_smithy_schema::ShapeType::Timestamp,
   80         -
    "creation_date",
          80  +
    "CreationDate",
   81     81   
    3,
   82     82   
);
   83     83   
static REGIONALBUCKET_MEMBER_OUTPOST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   84     84   
    ::aws_smithy_schema::ShapeId::from_static(
   85     85   
        "com.amazonaws.s3control#RegionalBucket$OutpostId",
   86     86   
        "com.amazonaws.s3control",
   87     87   
        "RegionalBucket",
   88     88   
    ),
   89     89   
    ::aws_smithy_schema::ShapeType::String,
   90         -
    "outpost_id",
          90  +
    "OutpostId",
   91     91   
    4,
   92     92   
);
   93     93   
static REGIONALBUCKET_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   94     94   
    REGIONALBUCKET_SCHEMA_ID,
   95     95   
    ::aws_smithy_schema::ShapeType::Structure,
   96     96   
    &[
   97     97   
        &REGIONALBUCKET_MEMBER_BUCKET,
   98     98   
        &REGIONALBUCKET_MEMBER_BUCKET_ARN,
   99     99   
        &REGIONALBUCKET_MEMBER_PUBLIC_ACCESS_BLOCK_ENABLED,
  100    100   
        &REGIONALBUCKET_MEMBER_CREATION_DATE,
  101    101   
        &REGIONALBUCKET_MEMBER_OUTPOST_ID,
  102    102   
    ],
  103    103   
);
  104    104   
impl RegionalBucket {
  105    105   
    /// The schema for this shape.
  106    106   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &REGIONALBUCKET_SCHEMA;
  107    107   
}
  108    108   
impl ::aws_smithy_schema::serde::SerializableStruct for RegionalBucket {
  109    109   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  110    110   
    fn serialize_members(
  111    111   
        &self,
  112    112   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  113    113   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  114    114   
        {
  115    115   
            let val = &self.bucket;
  116    116   
            ser.write_string(&REGIONALBUCKET_MEMBER_BUCKET, val)?;
  117    117   
        }
  118    118   
        if let Some(ref val) = self.bucket_arn {
  119    119   
            ser.write_string(&REGIONALBUCKET_MEMBER_BUCKET_ARN, val)?;
  120    120   
        }
  121    121   
        {
  122    122   
            let val = &self.public_access_block_enabled;
  123    123   
            ser.write_boolean(&REGIONALBUCKET_MEMBER_PUBLIC_ACCESS_BLOCK_ENABLED, *val)?;
  124    124   
        }
  125    125   
        {
  126    126   
            let val = &self.creation_date;
  127    127   
            ser.write_timestamp(&REGIONALBUCKET_MEMBER_CREATION_DATE, val)?;
  128    128   
        }
  129    129   
        if let Some(ref val) = self.outpost_id {
  130    130   
            ser.write_string(&REGIONALBUCKET_MEMBER_OUTPOST_ID, val)?;
  131    131   
        }
  132    132   
        Ok(())
  133    133   
    }
  134    134   
}
  135    135   
impl RegionalBucket {
  136    136   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  137         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  138         -
        deserializer: &mut D,
         137  +
    pub fn deserialize(
         138  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  139    139   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  140    140   
        #[allow(unused_variables, unused_mut)]
  141    141   
        let mut builder = Self::builder();
  142    142   
        #[allow(
  143    143   
            unused_variables,
  144    144   
            unreachable_code,
  145    145   
            clippy::single_match,
  146    146   
            clippy::match_single_binding,
  147    147   
            clippy::diverging_sub_expression
  148    148   
        )]
  149         -
        deserializer.read_struct(&REGIONALBUCKET_SCHEMA, (), |_, member, deser| {
         149  +
        deserializer.read_struct(&REGIONALBUCKET_SCHEMA, &mut |member, deser| {
  150    150   
            match member.member_index() {
  151    151   
                Some(0) => {
  152    152   
                    builder.bucket = Some(deser.read_string(member)?);
  153    153   
                }
  154    154   
                Some(1) => {
  155    155   
                    builder.bucket_arn = Some(deser.read_string(member)?);
  156    156   
                }
  157    157   
                Some(2) => {
  158    158   
                    builder.public_access_block_enabled = Some(deser.read_boolean(member)?);
  159    159   
                }
  160    160   
                Some(3) => {
  161    161   
                    builder.creation_date = Some(deser.read_timestamp(member)?);
  162    162   
                }
  163    163   
                Some(4) => {
  164    164   
                    builder.outpost_id = Some(deser.read_string(member)?);
  165    165   
                }
  166    166   
                _ => {}
  167    167   
            }
  168    168   
            Ok(())
  169    169   
        })?;
         170  +
        builder.bucket = builder.bucket.or(Some(String::new()));
         171  +
        builder.public_access_block_enabled = builder.public_access_block_enabled.or(Some(false));
         172  +
        builder.creation_date = builder.creation_date.or(Some(::aws_smithy_types::DateTime::from_secs(0)));
  170    173   
        builder
  171    174   
            .build()
  172    175   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  173    176   
    }
  174    177   
}
         178  +
impl RegionalBucket {
         179  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         180  +
    pub fn deserialize_with_response(
         181  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         182  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         183  +
        _status: u16,
         184  +
        _body: &[u8],
         185  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         186  +
        Self::deserialize(deserializer)
         187  +
    }
         188  +
}
  175    189   
impl RegionalBucket {
  176    190   
    /// Creates a new builder-style object to manufacture [`RegionalBucket`](crate::types::RegionalBucket).
  177    191   
    pub fn builder() -> crate::types::builders::RegionalBucketBuilder {
  178    192   
        crate::types::builders::RegionalBucketBuilder::default()
  179    193   
    }
  180    194   
}
  181    195   
  182    196   
/// A builder for [`RegionalBucket`](crate::types::RegionalBucket).
  183    197   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  184    198   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/s3control/src/types/_replica_modifications.rs

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

tmp-codegen-diff/aws-sdk/sdk/s3control/src/types/_replication_configuration.rs

@@ -6,6 +154,164 @@
   26     26   
    "com.amazonaws.s3control",
   27     27   
    "ReplicationConfiguration",
   28     28   
);
   29     29   
static REPLICATIONCONFIGURATION_MEMBER_ROLE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   30     30   
    ::aws_smithy_schema::ShapeId::from_static(
   31     31   
        "com.amazonaws.s3control#ReplicationConfiguration$Role",
   32     32   
        "com.amazonaws.s3control",
   33     33   
        "ReplicationConfiguration",
   34     34   
    ),
   35     35   
    ::aws_smithy_schema::ShapeType::String,
   36         -
    "role",
          36  +
    "Role",
   37     37   
    0,
   38     38   
);
   39     39   
static REPLICATIONCONFIGURATION_MEMBER_RULES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   40     40   
    ::aws_smithy_schema::ShapeId::from_static(
   41     41   
        "com.amazonaws.s3control#ReplicationConfiguration$Rules",
   42     42   
        "com.amazonaws.s3control",
   43     43   
        "ReplicationConfiguration",
   44     44   
    ),
   45     45   
    ::aws_smithy_schema::ShapeType::List,
   46         -
    "rules",
          46  +
    "Rules",
   47     47   
    1,
   48     48   
);
   49     49   
static REPLICATIONCONFIGURATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   50     50   
    REPLICATIONCONFIGURATION_SCHEMA_ID,
   51     51   
    ::aws_smithy_schema::ShapeType::Structure,
   52     52   
    &[&REPLICATIONCONFIGURATION_MEMBER_ROLE, &REPLICATIONCONFIGURATION_MEMBER_RULES],
   53     53   
);
   54     54   
impl ReplicationConfiguration {
   55     55   
    /// The schema for this shape.
   56     56   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &REPLICATIONCONFIGURATION_SCHEMA;
   57     57   
}
   58     58   
impl ::aws_smithy_schema::serde::SerializableStruct for ReplicationConfiguration {
   59     59   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   60     60   
    fn serialize_members(
   61     61   
        &self,
   62     62   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   63     63   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   64     64   
        {
   65     65   
            let val = &self.role;
   66     66   
            ser.write_string(&REPLICATIONCONFIGURATION_MEMBER_ROLE, val)?;
   67     67   
        }
   68     68   
        {
   69     69   
            let val = &self.rules;
   70     70   
   71     71   
            ser.write_list(
   72     72   
                &REPLICATIONCONFIGURATION_MEMBER_RULES,
   73     73   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   74     74   
                    for item in val {
   75     75   
                        ser.write_struct(crate::types::ReplicationRule::SCHEMA, item)?;
   76     76   
                    }
   77     77   
                    Ok(())
   78     78   
                },
   79     79   
            )?;
   80     80   
        }
   81     81   
        Ok(())
   82     82   
    }
   83     83   
}
   84     84   
impl ReplicationConfiguration {
   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(&REPLICATIONCONFIGURATION_SCHEMA, (), |_, member, deser| {
          98  +
        deserializer.read_struct(&REPLICATIONCONFIGURATION_SCHEMA, &mut |member, deser| {
   99     99   
            match member.member_index() {
  100    100   
                Some(0) => {
  101    101   
                    builder.role = Some(deser.read_string(member)?);
  102    102   
                }
  103    103   
                Some(1) => {
  104    104   
                    builder.rules = Some({
  105         -
                        let container = if let Some(cap) = deser.container_size() {
  106         -
                            Vec::with_capacity(cap)
  107         -
                        } else {
  108         -
                            Vec::new()
  109         -
                        };
  110         -
                        deser.read_list(member, container, |mut list, deser| {
  111         -
                            list.push(crate::types::ReplicationRule::deserialize(deser)?);
  112         -
                            Ok(list)
  113         -
                        })?
         105  +
                        let mut container = Vec::new();
         106  +
                        deser.read_list(member, &mut |deser| {
         107  +
                            container.push(crate::types::ReplicationRule::deserialize(deser)?);
         108  +
                            Ok(())
         109  +
                        })?;
         110  +
                        container
  114    111   
                    });
  115    112   
                }
  116    113   
                _ => {}
  117    114   
            }
  118    115   
            Ok(())
  119    116   
        })?;
         117  +
        builder.role = builder.role.or(Some(String::new()));
         118  +
        builder.rules = builder.rules.or(Some(Vec::new()));
  120    119   
        builder
  121    120   
            .build()
  122    121   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  123    122   
    }
  124    123   
}
         124  +
impl ReplicationConfiguration {
         125  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         126  +
    pub fn deserialize_with_response(
         127  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         128  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         129  +
        _status: u16,
         130  +
        _body: &[u8],
         131  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         132  +
        Self::deserialize(deserializer)
         133  +
    }
         134  +
}
  125    135   
impl ReplicationConfiguration {
  126    136   
    /// Creates a new builder-style object to manufacture [`ReplicationConfiguration`](crate::types::ReplicationConfiguration).
  127    137   
    pub fn builder() -> crate::types::builders::ReplicationConfigurationBuilder {
  128    138   
        crate::types::builders::ReplicationConfigurationBuilder::default()
  129    139   
    }
  130    140   
}
  131    141   
  132    142   
/// A builder for [`ReplicationConfiguration`](crate::types::ReplicationConfiguration).
  133    143   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  134    144   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/s3control/src/types/_replication_rule.rs

@@ -60,60 +210,210 @@
   80     80   
    pub fn bucket(&self) -> &str {
   81     81   
        use std::ops::Deref;
   82     82   
        self.bucket.deref()
   83     83   
    }
   84     84   
}
   85     85   
static REPLICATIONRULE_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   86     86   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3control#ReplicationRule", "com.amazonaws.s3control", "ReplicationRule");
   87     87   
static REPLICATIONRULE_MEMBER_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   88     88   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.s3control#ReplicationRule$ID", "com.amazonaws.s3control", "ReplicationRule"),
   89     89   
    ::aws_smithy_schema::ShapeType::String,
   90         -
    "id",
          90  +
    "ID",
   91     91   
    0,
   92     92   
);
   93     93   
static REPLICATIONRULE_MEMBER_PRIORITY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   94     94   
    ::aws_smithy_schema::ShapeId::from_static(
   95     95   
        "com.amazonaws.s3control#ReplicationRule$Priority",
   96     96   
        "com.amazonaws.s3control",
   97     97   
        "ReplicationRule",
   98     98   
    ),
   99     99   
    ::aws_smithy_schema::ShapeType::Integer,
  100         -
    "priority",
         100  +
    "Priority",
  101    101   
    1,
  102    102   
);
  103    103   
static REPLICATIONRULE_MEMBER_PREFIX: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  104    104   
    ::aws_smithy_schema::ShapeId::from_static(
  105    105   
        "com.amazonaws.s3control#ReplicationRule$Prefix",
  106    106   
        "com.amazonaws.s3control",
  107    107   
        "ReplicationRule",
  108    108   
    ),
  109    109   
    ::aws_smithy_schema::ShapeType::String,
  110         -
    "prefix",
         110  +
    "Prefix",
  111    111   
    2,
  112    112   
);
  113    113   
static REPLICATIONRULE_MEMBER_FILTER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  114    114   
    ::aws_smithy_schema::ShapeId::from_static(
  115    115   
        "com.amazonaws.s3control#ReplicationRule$Filter",
  116    116   
        "com.amazonaws.s3control",
  117    117   
        "ReplicationRule",
  118    118   
    ),
  119    119   
    ::aws_smithy_schema::ShapeType::Structure,
  120         -
    "filter",
         120  +
    "Filter",
  121    121   
    3,
  122    122   
);
  123    123   
static REPLICATIONRULE_MEMBER_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  124    124   
    ::aws_smithy_schema::ShapeId::from_static(
  125    125   
        "com.amazonaws.s3control#ReplicationRule$Status",
  126    126   
        "com.amazonaws.s3control",
  127    127   
        "ReplicationRule",
  128    128   
    ),
  129    129   
    ::aws_smithy_schema::ShapeType::String,
  130         -
    "status",
         130  +
    "Status",
  131    131   
    4,
  132    132   
);
  133    133   
static REPLICATIONRULE_MEMBER_SOURCE_SELECTION_CRITERIA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  134    134   
    ::aws_smithy_schema::ShapeId::from_static(
  135    135   
        "com.amazonaws.s3control#ReplicationRule$SourceSelectionCriteria",
  136    136   
        "com.amazonaws.s3control",
  137    137   
        "ReplicationRule",
  138    138   
    ),
  139    139   
    ::aws_smithy_schema::ShapeType::Structure,
  140         -
    "source_selection_criteria",
         140  +
    "SourceSelectionCriteria",
  141    141   
    5,
  142    142   
);
  143    143   
static REPLICATIONRULE_MEMBER_EXISTING_OBJECT_REPLICATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  144    144   
    ::aws_smithy_schema::ShapeId::from_static(
  145    145   
        "com.amazonaws.s3control#ReplicationRule$ExistingObjectReplication",
  146    146   
        "com.amazonaws.s3control",
  147    147   
        "ReplicationRule",
  148    148   
    ),
  149    149   
    ::aws_smithy_schema::ShapeType::Structure,
  150         -
    "existing_object_replication",
         150  +
    "ExistingObjectReplication",
  151    151   
    6,
  152    152   
);
  153    153   
static REPLICATIONRULE_MEMBER_DESTINATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  154    154   
    ::aws_smithy_schema::ShapeId::from_static(
  155    155   
        "com.amazonaws.s3control#ReplicationRule$Destination",
  156    156   
        "com.amazonaws.s3control",
  157    157   
        "ReplicationRule",
  158    158   
    ),
  159    159   
    ::aws_smithy_schema::ShapeType::Structure,
  160         -
    "destination",
         160  +
    "Destination",
  161    161   
    7,
  162    162   
);
  163    163   
static REPLICATIONRULE_MEMBER_DELETE_MARKER_REPLICATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  164    164   
    ::aws_smithy_schema::ShapeId::from_static(
  165    165   
        "com.amazonaws.s3control#ReplicationRule$DeleteMarkerReplication",
  166    166   
        "com.amazonaws.s3control",
  167    167   
        "ReplicationRule",
  168    168   
    ),
  169    169   
    ::aws_smithy_schema::ShapeType::Structure,
  170         -
    "delete_marker_replication",
         170  +
    "DeleteMarkerReplication",
  171    171   
    8,
  172    172   
);
  173    173   
static REPLICATIONRULE_MEMBER_BUCKET: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  174    174   
    ::aws_smithy_schema::ShapeId::from_static(
  175    175   
        "com.amazonaws.s3control#ReplicationRule$Bucket",
  176    176   
        "com.amazonaws.s3control",
  177    177   
        "ReplicationRule",
  178    178   
    ),
  179    179   
    ::aws_smithy_schema::ShapeType::String,
  180         -
    "bucket",
         180  +
    "Bucket",
  181    181   
    9,
  182    182   
);
  183    183   
static REPLICATIONRULE_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  184    184   
    REPLICATIONRULE_SCHEMA_ID,
  185    185   
    ::aws_smithy_schema::ShapeType::Structure,
  186    186   
    &[
  187    187   
        &REPLICATIONRULE_MEMBER_ID,
  188    188   
        &REPLICATIONRULE_MEMBER_PRIORITY,
  189    189   
        &REPLICATIONRULE_MEMBER_PREFIX,
  190    190   
        &REPLICATIONRULE_MEMBER_FILTER,
@@ -216,216 +328,340 @@
  236    236   
        }
  237    237   
        {
  238    238   
            let val = &self.bucket;
  239    239   
            ser.write_string(&REPLICATIONRULE_MEMBER_BUCKET, val)?;
  240    240   
        }
  241    241   
        Ok(())
  242    242   
    }
  243    243   
}
  244    244   
impl ReplicationRule {
  245    245   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  246         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  247         -
        deserializer: &mut D,
         246  +
    pub fn deserialize(
         247  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  248    248   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  249    249   
        #[allow(unused_variables, unused_mut)]
  250    250   
        let mut builder = Self::builder();
  251    251   
        #[allow(
  252    252   
            unused_variables,
  253    253   
            unreachable_code,
  254    254   
            clippy::single_match,
  255    255   
            clippy::match_single_binding,
  256    256   
            clippy::diverging_sub_expression
  257    257   
        )]
  258         -
        deserializer.read_struct(&REPLICATIONRULE_SCHEMA, (), |_, member, deser| {
         258  +
        deserializer.read_struct(&REPLICATIONRULE_SCHEMA, &mut |member, deser| {
  259    259   
            match member.member_index() {
  260    260   
                Some(0) => {
  261    261   
                    builder.id = Some(deser.read_string(member)?);
  262    262   
                }
  263    263   
                Some(1) => {
  264    264   
                    builder.priority = Some(deser.read_integer(member)?);
  265    265   
                }
  266    266   
                Some(2) => {
  267    267   
                    builder.prefix = Some(deser.read_string(member)?);
  268    268   
                }
  269    269   
                Some(3) => {
  270    270   
                    builder.filter = Some(crate::types::ReplicationRuleFilter::deserialize(deser)?);
  271    271   
                }
  272    272   
                Some(4) => {
  273    273   
                    builder.status = Some(crate::types::ReplicationRuleStatus::from(deser.read_string(member)?.as_str()));
  274    274   
                }
  275    275   
                Some(5) => {
  276    276   
                    builder.source_selection_criteria = Some(crate::types::SourceSelectionCriteria::deserialize(deser)?);
  277    277   
                }
  278    278   
                Some(6) => {
  279    279   
                    builder.existing_object_replication = Some(crate::types::ExistingObjectReplication::deserialize(deser)?);
  280    280   
                }
  281    281   
                Some(7) => {
  282    282   
                    builder.destination = Some(crate::types::Destination::deserialize(deser)?);
  283    283   
                }
  284    284   
                Some(8) => {
  285    285   
                    builder.delete_marker_replication = Some(crate::types::DeleteMarkerReplication::deserialize(deser)?);
  286    286   
                }
  287    287   
                Some(9) => {
  288    288   
                    builder.bucket = Some(deser.read_string(member)?);
  289    289   
                }
  290    290   
                _ => {}
  291    291   
            }
  292    292   
            Ok(())
  293    293   
        })?;
         294  +
        builder.bucket = builder.bucket.or(Some(String::new()));
  294    295   
        builder
  295    296   
            .build()
  296    297   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  297    298   
    }
  298    299   
}
         300  +
impl ReplicationRule {
         301  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         302  +
    pub fn deserialize_with_response(
         303  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         304  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         305  +
        _status: u16,
         306  +
        _body: &[u8],
         307  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         308  +
        Self::deserialize(deserializer)
         309  +
    }
         310  +
}
  299    311   
impl ReplicationRule {
  300    312   
    /// Creates a new builder-style object to manufacture [`ReplicationRule`](crate::types::ReplicationRule).
  301    313   
    pub fn builder() -> crate::types::builders::ReplicationRuleBuilder {
  302    314   
        crate::types::builders::ReplicationRuleBuilder::default()
  303    315   
    }
  304    316   
}
  305    317   
  306    318   
/// A builder for [`ReplicationRule`](crate::types::ReplicationRule).
  307    319   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  308    320   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/s3control/src/types/_replication_rule_and_operator.rs

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

tmp-codegen-diff/aws-sdk/sdk/s3control/src/types/_replication_rule_filter.rs

@@ -26,26 +171,182 @@
   46     46   
    "com.amazonaws.s3control",
   47     47   
    "ReplicationRuleFilter",
   48     48   
);
   49     49   
static REPLICATIONRULEFILTER_MEMBER_PREFIX: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   50     50   
    ::aws_smithy_schema::ShapeId::from_static(
   51     51   
        "com.amazonaws.s3control#ReplicationRuleFilter$Prefix",
   52     52   
        "com.amazonaws.s3control",
   53     53   
        "ReplicationRuleFilter",
   54     54   
    ),
   55     55   
    ::aws_smithy_schema::ShapeType::String,
   56         -
    "prefix",
          56  +
    "Prefix",
   57     57   
    0,
   58     58   
);
   59     59   
static REPLICATIONRULEFILTER_MEMBER_TAG: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   60     60   
    ::aws_smithy_schema::ShapeId::from_static(
   61     61   
        "com.amazonaws.s3control#ReplicationRuleFilter$Tag",
   62     62   
        "com.amazonaws.s3control",
   63     63   
        "ReplicationRuleFilter",
   64     64   
    ),
   65     65   
    ::aws_smithy_schema::ShapeType::Structure,
   66         -
    "tag",
          66  +
    "Tag",
   67     67   
    1,
   68     68   
);
   69     69   
static REPLICATIONRULEFILTER_MEMBER_AND: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   70     70   
    ::aws_smithy_schema::ShapeId::from_static(
   71     71   
        "com.amazonaws.s3control#ReplicationRuleFilter$And",
   72     72   
        "com.amazonaws.s3control",
   73     73   
        "ReplicationRuleFilter",
   74     74   
    ),
   75     75   
    ::aws_smithy_schema::ShapeType::Structure,
   76         -
    "and",
          76  +
    "And",
   77     77   
    2,
   78     78   
);
   79     79   
static REPLICATIONRULEFILTER_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   80     80   
    REPLICATIONRULEFILTER_SCHEMA_ID,
   81     81   
    ::aws_smithy_schema::ShapeType::Structure,
   82     82   
    &[
   83     83   
        &REPLICATIONRULEFILTER_MEMBER_PREFIX,
   84     84   
        &REPLICATIONRULEFILTER_MEMBER_TAG,
   85     85   
        &REPLICATIONRULEFILTER_MEMBER_AND,
   86     86   
    ],
   87     87   
);
   88     88   
impl ReplicationRuleFilter {
   89     89   
    /// The schema for this shape.
   90     90   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &REPLICATIONRULEFILTER_SCHEMA;
   91     91   
}
   92     92   
impl ::aws_smithy_schema::serde::SerializableStruct for ReplicationRuleFilter {
   93     93   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   94     94   
    fn serialize_members(
   95     95   
        &self,
   96     96   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   97     97   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   98     98   
        if let Some(ref val) = self.prefix {
   99     99   
            ser.write_string(&REPLICATIONRULEFILTER_MEMBER_PREFIX, val)?;
  100    100   
        }
  101    101   
        if let Some(ref val) = self.tag {
  102    102   
            ser.write_struct(&REPLICATIONRULEFILTER_MEMBER_TAG, val)?;
  103    103   
        }
  104    104   
        if let Some(ref val) = self.and {
  105    105   
            ser.write_struct(&REPLICATIONRULEFILTER_MEMBER_AND, val)?;
  106    106   
        }
  107    107   
        Ok(())
  108    108   
    }
  109    109   
}
  110    110   
impl ReplicationRuleFilter {
  111    111   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  112         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  113         -
        deserializer: &mut D,
         112  +
    pub fn deserialize(
         113  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  114    114   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  115    115   
        #[allow(unused_variables, unused_mut)]
  116    116   
        let mut builder = Self::builder();
  117    117   
        #[allow(
  118    118   
            unused_variables,
  119    119   
            unreachable_code,
  120    120   
            clippy::single_match,
  121    121   
            clippy::match_single_binding,
  122    122   
            clippy::diverging_sub_expression
  123    123   
        )]
  124         -
        deserializer.read_struct(&REPLICATIONRULEFILTER_SCHEMA, (), |_, member, deser| {
         124  +
        deserializer.read_struct(&REPLICATIONRULEFILTER_SCHEMA, &mut |member, deser| {
  125    125   
            match member.member_index() {
  126    126   
                Some(0) => {
  127    127   
                    builder.prefix = Some(deser.read_string(member)?);
  128    128   
                }
  129    129   
                Some(1) => {
  130    130   
                    builder.tag = Some(crate::types::S3Tag::deserialize(deser)?);
  131    131   
                }
  132    132   
                Some(2) => {
  133    133   
                    builder.and = Some(crate::types::ReplicationRuleAndOperator::deserialize(deser)?);
  134    134   
                }
  135    135   
                _ => {}
  136    136   
            }
  137    137   
            Ok(())
  138    138   
        })?;
  139    139   
        Ok(builder.build())
  140    140   
    }
  141    141   
}
         142  +
impl ReplicationRuleFilter {
         143  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         144  +
    pub fn deserialize_with_response(
         145  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         146  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         147  +
        _status: u16,
         148  +
        _body: &[u8],
         149  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         150  +
        Self::deserialize(deserializer)
         151  +
    }
         152  +
}
  142    153   
impl ReplicationRuleFilter {
  143    154   
    /// Creates a new builder-style object to manufacture [`ReplicationRuleFilter`](crate::types::ReplicationRuleFilter).
  144    155   
    pub fn builder() -> crate::types::builders::ReplicationRuleFilterBuilder {
  145    156   
        crate::types::builders::ReplicationRuleFilterBuilder::default()
  146    157   
    }
  147    158   
}
  148    159   
  149    160   
/// A builder for [`ReplicationRuleFilter`](crate::types::ReplicationRuleFilter).
  150    161   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  151    162   
#[non_exhaustive]