AWS SDK

AWS SDK

rev. 163d4d6410694aaf071424777ecbecd050925f36

Files changed:

tmp-codegen-diff/aws-sdk/sdk/ecs/src/serialization_settings.rs

@@ -1,0 +89,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
/*
    3         -
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
    4         -
 * SPDX-License-Identifier: Apache-2.0
    5         -
 */
    6         -
    7         -
#![allow(dead_code)]
    8         -
    9         -
use aws_smithy_http::header::set_request_header_if_absent;
   10         -
use aws_smithy_types::config_bag::{Storable, StoreReplace};
   11         -
use http_1x::header::{HeaderName, CONTENT_LENGTH, CONTENT_TYPE};
   12         -
   13         -
/// Configuration for how default protocol headers are serialized
   14         -
#[derive(Clone, Debug, Default)]
   15         -
pub(crate) struct HeaderSerializationSettings {
   16         -
    omit_default_content_length: bool,
   17         -
    omit_default_content_type: bool,
   18         -
}
   19         -
   20         -
impl HeaderSerializationSettings {
   21         -
    /// Creates new [`HeaderSerializationSettings`]
   22         -
    pub(crate) fn new() -> Self {
   23         -
        Default::default()
   24         -
    }
   25         -
   26         -
    /// Omit the default `Content-Length` header during serialization
   27         -
    pub(crate) fn omit_default_content_length(self) -> Self {
   28         -
        Self {
   29         -
            omit_default_content_length: true,
   30         -
            ..self
   31         -
        }
   32         -
    }
   33         -
   34         -
    /// Omit the default `Content-Type` header during serialization
   35         -
    pub(crate) fn omit_default_content_type(self) -> Self {
   36         -
        Self {
   37         -
            omit_default_content_type: true,
   38         -
            ..self
   39         -
        }
   40         -
    }
   41         -
   42         -
    /// Returns true if the given default header name should be serialized
   43         -
    fn include_header(&self, header: &HeaderName) -> bool {
   44         -
        (!self.omit_default_content_length || header != CONTENT_LENGTH) && (!self.omit_default_content_type || header != CONTENT_TYPE)
   45         -
    }
   46         -
   47         -
    /// Sets a default header on the given request builder if it should be serialized
   48         -
    pub(crate) fn set_default_header(
   49         -
        &self,
   50         -
        mut request: http_1x::request::Builder,
   51         -
        header_name: HeaderName,
   52         -
        value: &str,
   53         -
    ) -> http_1x::request::Builder {
   54         -
        if self.include_header(&header_name) {
   55         -
            request = set_request_header_if_absent(request, header_name, value);
   56         -
        }
   57         -
        request
   58         -
    }
   59         -
}
   60         -
   61         -
impl Storable for HeaderSerializationSettings {
   62         -
    type Storer = StoreReplace<Self>;
   63         -
}
   64         -
   65         -
#[cfg(test)]
   66         -
mod tests {
   67         -
    use super::*;
   68         -
   69         -
    #[test]
   70         -
    fn test_include_header() {
   71         -
        let settings = HeaderSerializationSettings::default();
   72         -
        assert!(settings.include_header(&CONTENT_LENGTH));
   73         -
        assert!(settings.include_header(&CONTENT_TYPE));
   74         -
   75         -
        let settings = HeaderSerializationSettings::default().omit_default_content_length();
   76         -
        assert!(!settings.include_header(&CONTENT_LENGTH));
   77         -
        assert!(settings.include_header(&CONTENT_TYPE));
   78         -
   79         -
        let settings = HeaderSerializationSettings::default().omit_default_content_type();
   80         -
        assert!(settings.include_header(&CONTENT_LENGTH));
   81         -
        assert!(!settings.include_header(&CONTENT_TYPE));
   82         -
   83         -
        let settings = HeaderSerializationSettings::default()
   84         -
            .omit_default_content_type()
   85         -
            .omit_default_content_length();
   86         -
        assert!(!settings.include_header(&CONTENT_LENGTH));
   87         -
        assert!(!settings.include_header(&CONTENT_TYPE));
   88         -
    }
   89         -
}

tmp-codegen-diff/aws-sdk/sdk/ecs/src/types/_accelerator_count_request.rs

@@ -43,43 +129,140 @@
   63     63   
            ser.write_integer(&ACCELERATORCOUNTREQUEST_MEMBER_MIN, *val)?;
   64     64   
        }
   65     65   
        if let Some(ref val) = self.max {
   66     66   
            ser.write_integer(&ACCELERATORCOUNTREQUEST_MEMBER_MAX, *val)?;
   67     67   
        }
   68     68   
        Ok(())
   69     69   
    }
   70     70   
}
   71     71   
impl AcceleratorCountRequest {
   72     72   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   73         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   74         -
        deserializer: &mut D,
          73  +
    pub fn deserialize(
          74  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   75     75   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   76     76   
        #[allow(unused_variables, unused_mut)]
   77     77   
        let mut builder = Self::builder();
   78     78   
        #[allow(
   79     79   
            unused_variables,
   80     80   
            unreachable_code,
   81     81   
            clippy::single_match,
   82     82   
            clippy::match_single_binding,
   83     83   
            clippy::diverging_sub_expression
   84     84   
        )]
   85         -
        deserializer.read_struct(&ACCELERATORCOUNTREQUEST_SCHEMA, (), |_, member, deser| {
          85  +
        deserializer.read_struct(&ACCELERATORCOUNTREQUEST_SCHEMA, &mut |member, deser| {
   86     86   
            match member.member_index() {
   87     87   
                Some(0) => {
   88     88   
                    builder.min = Some(deser.read_integer(member)?);
   89     89   
                }
   90     90   
                Some(1) => {
   91     91   
                    builder.max = Some(deser.read_integer(member)?);
   92     92   
                }
   93     93   
                _ => {}
   94     94   
            }
   95     95   
            Ok(())
   96     96   
        })?;
   97     97   
        Ok(builder.build())
   98     98   
    }
   99     99   
}
         100  +
impl AcceleratorCountRequest {
         101  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         102  +
    pub fn deserialize_with_response(
         103  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         104  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         105  +
        _status: u16,
         106  +
        _body: &[u8],
         107  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         108  +
        Self::deserialize(deserializer)
         109  +
    }
         110  +
}
  100    111   
impl AcceleratorCountRequest {
  101    112   
    /// Creates a new builder-style object to manufacture [`AcceleratorCountRequest`](crate::types::AcceleratorCountRequest).
  102    113   
    pub fn builder() -> crate::types::builders::AcceleratorCountRequestBuilder {
  103    114   
        crate::types::builders::AcceleratorCountRequestBuilder::default()
  104    115   
    }
  105    116   
}
  106    117   
  107    118   
/// A builder for [`AcceleratorCountRequest`](crate::types::AcceleratorCountRequest).
  108    119   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  109    120   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ecs/src/types/_accelerator_total_memory_mib_request.rs

@@ -43,43 +129,140 @@
   63     63   
            ser.write_integer(&ACCELERATORTOTALMEMORYMIBREQUEST_MEMBER_MIN, *val)?;
   64     64   
        }
   65     65   
        if let Some(ref val) = self.max {
   66     66   
            ser.write_integer(&ACCELERATORTOTALMEMORYMIBREQUEST_MEMBER_MAX, *val)?;
   67     67   
        }
   68     68   
        Ok(())
   69     69   
    }
   70     70   
}
   71     71   
impl AcceleratorTotalMemoryMiBRequest {
   72     72   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   73         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   74         -
        deserializer: &mut D,
          73  +
    pub fn deserialize(
          74  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   75     75   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   76     76   
        #[allow(unused_variables, unused_mut)]
   77     77   
        let mut builder = Self::builder();
   78     78   
        #[allow(
   79     79   
            unused_variables,
   80     80   
            unreachable_code,
   81     81   
            clippy::single_match,
   82     82   
            clippy::match_single_binding,
   83     83   
            clippy::diverging_sub_expression
   84     84   
        )]
   85         -
        deserializer.read_struct(&ACCELERATORTOTALMEMORYMIBREQUEST_SCHEMA, (), |_, member, deser| {
          85  +
        deserializer.read_struct(&ACCELERATORTOTALMEMORYMIBREQUEST_SCHEMA, &mut |member, deser| {
   86     86   
            match member.member_index() {
   87     87   
                Some(0) => {
   88     88   
                    builder.min = Some(deser.read_integer(member)?);
   89     89   
                }
   90     90   
                Some(1) => {
   91     91   
                    builder.max = Some(deser.read_integer(member)?);
   92     92   
                }
   93     93   
                _ => {}
   94     94   
            }
   95     95   
            Ok(())
   96     96   
        })?;
   97     97   
        Ok(builder.build())
   98     98   
    }
   99     99   
}
         100  +
impl AcceleratorTotalMemoryMiBRequest {
         101  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         102  +
    pub fn deserialize_with_response(
         103  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         104  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         105  +
        _status: u16,
         106  +
        _body: &[u8],
         107  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         108  +
        Self::deserialize(deserializer)
         109  +
    }
         110  +
}
  100    111   
impl AcceleratorTotalMemoryMiBRequest {
  101    112   
    /// Creates a new builder-style object to manufacture [`AcceleratorTotalMemoryMiBRequest`](crate::types::AcceleratorTotalMemoryMiBRequest).
  102    113   
    pub fn builder() -> crate::types::builders::AcceleratorTotalMemoryMiBRequestBuilder {
  103    114   
        crate::types::builders::AcceleratorTotalMemoryMiBRequestBuilder::default()
  104    115   
    }
  105    116   
}
  106    117   
  107    118   
/// A builder for [`AcceleratorTotalMemoryMiBRequest`](crate::types::AcceleratorTotalMemoryMiBRequest).
  108    119   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  109    120   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ecs/src/types/_advanced_configuration.rs

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

tmp-codegen-diff/aws-sdk/sdk/ecs/src/types/_attachment.rs

@@ -23,23 +185,193 @@
   43     43   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Attachment", "com.amazonaws.ecs", "Attachment");
   44     44   
static ATTACHMENT_MEMBER_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   45     45   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Attachment$id", "com.amazonaws.ecs", "Attachment"),
   46     46   
    ::aws_smithy_schema::ShapeType::String,
   47     47   
    "id",
   48     48   
    0,
   49     49   
);
   50     50   
static ATTACHMENT_MEMBER_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   51     51   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Attachment$type", "com.amazonaws.ecs", "Attachment"),
   52     52   
    ::aws_smithy_schema::ShapeType::String,
   53         -
    "r##type",
          53  +
    "type",
   54     54   
    1,
   55     55   
);
   56     56   
static ATTACHMENT_MEMBER_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   57     57   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Attachment$status", "com.amazonaws.ecs", "Attachment"),
   58     58   
    ::aws_smithy_schema::ShapeType::String,
   59     59   
    "status",
   60     60   
    2,
   61     61   
);
   62     62   
static ATTACHMENT_MEMBER_DETAILS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   63     63   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Attachment$details", "com.amazonaws.ecs", "Attachment"),
   64     64   
    ::aws_smithy_schema::ShapeType::List,
   65     65   
    "details",
   66     66   
    3,
   67     67   
);
   68     68   
static ATTACHMENT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   69     69   
    ATTACHMENT_SCHEMA_ID,
   70     70   
    ::aws_smithy_schema::ShapeType::Structure,
   71     71   
    &[
   72     72   
        &ATTACHMENT_MEMBER_ID,
   73     73   
        &ATTACHMENT_MEMBER_TYPE,
   74     74   
        &ATTACHMENT_MEMBER_STATUS,
   75     75   
        &ATTACHMENT_MEMBER_DETAILS,
   76     76   
    ],
   77     77   
);
   78     78   
impl Attachment {
   79     79   
    /// The schema for this shape.
   80     80   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &ATTACHMENT_SCHEMA;
   81     81   
}
   82     82   
impl ::aws_smithy_schema::serde::SerializableStruct for Attachment {
   83     83   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   84     84   
    fn serialize_members(
   85     85   
        &self,
   86     86   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   87     87   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   88     88   
        if let Some(ref val) = self.id {
   89     89   
            ser.write_string(&ATTACHMENT_MEMBER_ID, val)?;
   90     90   
        }
   91     91   
        if let Some(ref val) = self.r#type {
   92     92   
            ser.write_string(&ATTACHMENT_MEMBER_TYPE, val)?;
   93     93   
        }
   94     94   
        if let Some(ref val) = self.status {
   95     95   
            ser.write_string(&ATTACHMENT_MEMBER_STATUS, val)?;
   96     96   
        }
   97     97   
        if let Some(ref val) = self.details {
   98     98   
            ser.write_list(
   99     99   
                &ATTACHMENT_MEMBER_DETAILS,
  100    100   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  101    101   
                    for item in val {
  102    102   
                        ser.write_struct(crate::types::KeyValuePair::SCHEMA, item)?;
  103    103   
                    }
  104    104   
                    Ok(())
  105    105   
                },
  106    106   
            )?;
  107    107   
        }
  108    108   
        Ok(())
  109    109   
    }
  110    110   
}
  111    111   
impl Attachment {
  112    112   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  113         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  114         -
        deserializer: &mut D,
         113  +
    pub fn deserialize(
         114  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  115    115   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  116    116   
        #[allow(unused_variables, unused_mut)]
  117    117   
        let mut builder = Self::builder();
  118    118   
        #[allow(
  119    119   
            unused_variables,
  120    120   
            unreachable_code,
  121    121   
            clippy::single_match,
  122    122   
            clippy::match_single_binding,
  123    123   
            clippy::diverging_sub_expression
  124    124   
        )]
  125         -
        deserializer.read_struct(&ATTACHMENT_SCHEMA, (), |_, member, deser| {
         125  +
        deserializer.read_struct(&ATTACHMENT_SCHEMA, &mut |member, deser| {
  126    126   
            match member.member_index() {
  127    127   
                Some(0) => {
  128    128   
                    builder.id = Some(deser.read_string(member)?);
  129    129   
                }
  130    130   
                Some(1) => {
  131    131   
                    builder.r#type = Some(deser.read_string(member)?);
  132    132   
                }
  133    133   
                Some(2) => {
  134    134   
                    builder.status = Some(deser.read_string(member)?);
  135    135   
                }
  136    136   
                Some(3) => {
  137    137   
                    builder.details = Some({
  138         -
                        let container = if let Some(cap) = deser.container_size() {
  139         -
                            Vec::with_capacity(cap)
  140         -
                        } else {
  141         -
                            Vec::new()
  142         -
                        };
  143         -
                        deser.read_list(member, container, |mut list, deser| {
  144         -
                            list.push(crate::types::KeyValuePair::deserialize(deser)?);
  145         -
                            Ok(list)
  146         -
                        })?
         138  +
                        let mut container = Vec::new();
         139  +
                        deser.read_list(member, &mut |deser| {
         140  +
                            container.push(crate::types::KeyValuePair::deserialize(deser)?);
         141  +
                            Ok(())
         142  +
                        })?;
         143  +
                        container
  147    144   
                    });
  148    145   
                }
  149    146   
                _ => {}
  150    147   
            }
  151    148   
            Ok(())
  152    149   
        })?;
  153    150   
        Ok(builder.build())
  154    151   
    }
  155    152   
}
         153  +
impl Attachment {
         154  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         155  +
    pub fn deserialize_with_response(
         156  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         157  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         158  +
        _status: u16,
         159  +
        _body: &[u8],
         160  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         161  +
        Self::deserialize(deserializer)
         162  +
    }
         163  +
}
  156    164   
impl Attachment {
  157    165   
    /// Creates a new builder-style object to manufacture [`Attachment`](crate::types::Attachment).
  158    166   
    pub fn builder() -> crate::types::builders::AttachmentBuilder {
  159    167   
        crate::types::builders::AttachmentBuilder::default()
  160    168   
    }
  161    169   
}
  162    170   
  163    171   
/// A builder for [`Attachment`](crate::types::Attachment).
  164    172   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  165    173   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ecs/src/types/_attachment_state_change.rs

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

tmp-codegen-diff/aws-sdk/sdk/ecs/src/types/_attribute.rs

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

tmp-codegen-diff/aws-sdk/sdk/ecs/src/types/_auto_scaling_group_provider.rs

@@ -25,25 +191,203 @@
   45     45   
    "com.amazonaws.ecs",
   46     46   
    "AutoScalingGroupProvider",
   47     47   
);
   48     48   
static AUTOSCALINGGROUPPROVIDER_MEMBER_AUTO_SCALING_GROUP_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   49     49   
    ::aws_smithy_schema::ShapeId::from_static(
   50     50   
        "com.amazonaws.ecs#AutoScalingGroupProvider$autoScalingGroupArn",
   51     51   
        "com.amazonaws.ecs",
   52     52   
        "AutoScalingGroupProvider",
   53     53   
    ),
   54     54   
    ::aws_smithy_schema::ShapeType::String,
   55         -
    "auto_scaling_group_arn",
          55  +
    "autoScalingGroupArn",
   56     56   
    0,
   57     57   
);
   58     58   
static AUTOSCALINGGROUPPROVIDER_MEMBER_MANAGED_SCALING: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   59     59   
    ::aws_smithy_schema::ShapeId::from_static(
   60     60   
        "com.amazonaws.ecs#AutoScalingGroupProvider$managedScaling",
   61     61   
        "com.amazonaws.ecs",
   62     62   
        "AutoScalingGroupProvider",
   63     63   
    ),
   64     64   
    ::aws_smithy_schema::ShapeType::Structure,
   65         -
    "managed_scaling",
          65  +
    "managedScaling",
   66     66   
    1,
   67     67   
);
   68     68   
static AUTOSCALINGGROUPPROVIDER_MEMBER_MANAGED_TERMINATION_PROTECTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   69     69   
    ::aws_smithy_schema::ShapeId::from_static(
   70     70   
        "com.amazonaws.ecs#AutoScalingGroupProvider$managedTerminationProtection",
   71     71   
        "com.amazonaws.ecs",
   72     72   
        "AutoScalingGroupProvider",
   73     73   
    ),
   74     74   
    ::aws_smithy_schema::ShapeType::String,
   75         -
    "managed_termination_protection",
          75  +
    "managedTerminationProtection",
   76     76   
    2,
   77     77   
);
   78     78   
static AUTOSCALINGGROUPPROVIDER_MEMBER_MANAGED_DRAINING: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   79     79   
    ::aws_smithy_schema::ShapeId::from_static(
   80     80   
        "com.amazonaws.ecs#AutoScalingGroupProvider$managedDraining",
   81     81   
        "com.amazonaws.ecs",
   82     82   
        "AutoScalingGroupProvider",
   83     83   
    ),
   84     84   
    ::aws_smithy_schema::ShapeType::String,
   85         -
    "managed_draining",
          85  +
    "managedDraining",
   86     86   
    3,
   87     87   
);
   88     88   
static AUTOSCALINGGROUPPROVIDER_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   89     89   
    AUTOSCALINGGROUPPROVIDER_SCHEMA_ID,
   90     90   
    ::aws_smithy_schema::ShapeType::Structure,
   91     91   
    &[
   92     92   
        &AUTOSCALINGGROUPPROVIDER_MEMBER_AUTO_SCALING_GROUP_ARN,
   93     93   
        &AUTOSCALINGGROUPPROVIDER_MEMBER_MANAGED_SCALING,
   94     94   
        &AUTOSCALINGGROUPPROVIDER_MEMBER_MANAGED_TERMINATION_PROTECTION,
   95     95   
        &AUTOSCALINGGROUPPROVIDER_MEMBER_MANAGED_DRAINING,
   96     96   
    ],
   97     97   
);
   98     98   
impl AutoScalingGroupProvider {
   99     99   
    /// The schema for this shape.
  100    100   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &AUTOSCALINGGROUPPROVIDER_SCHEMA;
  101    101   
}
  102    102   
impl ::aws_smithy_schema::serde::SerializableStruct for AutoScalingGroupProvider {
  103    103   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  104    104   
    fn serialize_members(
  105    105   
        &self,
  106    106   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  107    107   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  108    108   
        {
  109    109   
            let val = &self.auto_scaling_group_arn;
  110    110   
            ser.write_string(&AUTOSCALINGGROUPPROVIDER_MEMBER_AUTO_SCALING_GROUP_ARN, val)?;
  111    111   
        }
  112    112   
        if let Some(ref val) = self.managed_scaling {
  113    113   
            ser.write_struct(&AUTOSCALINGGROUPPROVIDER_MEMBER_MANAGED_SCALING, val)?;
  114    114   
        }
  115    115   
        if let Some(ref val) = self.managed_termination_protection {
  116    116   
            ser.write_string(&AUTOSCALINGGROUPPROVIDER_MEMBER_MANAGED_TERMINATION_PROTECTION, val.as_str())?;
  117    117   
        }
  118    118   
        if let Some(ref val) = self.managed_draining {
  119    119   
            ser.write_string(&AUTOSCALINGGROUPPROVIDER_MEMBER_MANAGED_DRAINING, val.as_str())?;
  120    120   
        }
  121    121   
        Ok(())
  122    122   
    }
  123    123   
}
  124    124   
impl AutoScalingGroupProvider {
  125    125   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  126         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  127         -
        deserializer: &mut D,
         126  +
    pub fn deserialize(
         127  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  128    128   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  129    129   
        #[allow(unused_variables, unused_mut)]
  130    130   
        let mut builder = Self::builder();
  131    131   
        #[allow(
  132    132   
            unused_variables,
  133    133   
            unreachable_code,
  134    134   
            clippy::single_match,
  135    135   
            clippy::match_single_binding,
  136    136   
            clippy::diverging_sub_expression
  137    137   
        )]
  138         -
        deserializer.read_struct(&AUTOSCALINGGROUPPROVIDER_SCHEMA, (), |_, member, deser| {
         138  +
        deserializer.read_struct(&AUTOSCALINGGROUPPROVIDER_SCHEMA, &mut |member, deser| {
  139    139   
            match member.member_index() {
  140    140   
                Some(0) => {
  141    141   
                    builder.auto_scaling_group_arn = Some(deser.read_string(member)?);
  142    142   
                }
  143    143   
                Some(1) => {
  144    144   
                    builder.managed_scaling = Some(crate::types::ManagedScaling::deserialize(deser)?);
  145    145   
                }
  146    146   
                Some(2) => {
  147    147   
                    builder.managed_termination_protection =
  148    148   
                        Some(crate::types::ManagedTerminationProtection::from(deser.read_string(member)?.as_str()));
  149    149   
                }
  150    150   
                Some(3) => {
  151    151   
                    builder.managed_draining = Some(crate::types::ManagedDraining::from(deser.read_string(member)?.as_str()));
  152    152   
                }
  153    153   
                _ => {}
  154    154   
            }
  155    155   
            Ok(())
  156    156   
        })?;
         157  +
        builder.auto_scaling_group_arn = builder.auto_scaling_group_arn.or(Some(String::new()));
  157    158   
        builder
  158    159   
            .build()
  159    160   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  160    161   
    }
  161    162   
}
         163  +
impl AutoScalingGroupProvider {
         164  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         165  +
    pub fn deserialize_with_response(
         166  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         167  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         168  +
        _status: u16,
         169  +
        _body: &[u8],
         170  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         171  +
        Self::deserialize(deserializer)
         172  +
    }
         173  +
}
  162    174   
impl AutoScalingGroupProvider {
  163    175   
    /// Creates a new builder-style object to manufacture [`AutoScalingGroupProvider`](crate::types::AutoScalingGroupProvider).
  164    176   
    pub fn builder() -> crate::types::builders::AutoScalingGroupProviderBuilder {
  165    177   
        crate::types::builders::AutoScalingGroupProviderBuilder::default()
  166    178   
    }
  167    179   
}
  168    180   
  169    181   
/// A builder for [`AutoScalingGroupProvider`](crate::types::AutoScalingGroupProvider).
  170    182   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  171    183   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ecs/src/types/_auto_scaling_group_provider_update.rs

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

tmp-codegen-diff/aws-sdk/sdk/ecs/src/types/_aws_vpc_configuration.rs

@@ -42,42 +217,209 @@
   62     62   
    "subnets",
   63     63   
    0,
   64     64   
);
   65     65   
static AWSVPCCONFIGURATION_MEMBER_SECURITY_GROUPS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   66     66   
    ::aws_smithy_schema::ShapeId::from_static(
   67     67   
        "com.amazonaws.ecs#AwsVpcConfiguration$securityGroups",
   68     68   
        "com.amazonaws.ecs",
   69     69   
        "AwsVpcConfiguration",
   70     70   
    ),
   71     71   
    ::aws_smithy_schema::ShapeType::List,
   72         -
    "security_groups",
          72  +
    "securityGroups",
   73     73   
    1,
   74     74   
);
   75     75   
static AWSVPCCONFIGURATION_MEMBER_ASSIGN_PUBLIC_IP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   76     76   
    ::aws_smithy_schema::ShapeId::from_static(
   77     77   
        "com.amazonaws.ecs#AwsVpcConfiguration$assignPublicIp",
   78     78   
        "com.amazonaws.ecs",
   79     79   
        "AwsVpcConfiguration",
   80     80   
    ),
   81     81   
    ::aws_smithy_schema::ShapeType::String,
   82         -
    "assign_public_ip",
          82  +
    "assignPublicIp",
   83     83   
    2,
   84     84   
);
   85     85   
static AWSVPCCONFIGURATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   86     86   
    AWSVPCCONFIGURATION_SCHEMA_ID,
   87     87   
    ::aws_smithy_schema::ShapeType::Structure,
   88     88   
    &[
   89     89   
        &AWSVPCCONFIGURATION_MEMBER_SUBNETS,
   90     90   
        &AWSVPCCONFIGURATION_MEMBER_SECURITY_GROUPS,
   91     91   
        &AWSVPCCONFIGURATION_MEMBER_ASSIGN_PUBLIC_IP,
   92     92   
    ],
   93     93   
);
   94     94   
impl AwsVpcConfiguration {
   95     95   
    /// The schema for this shape.
   96     96   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &AWSVPCCONFIGURATION_SCHEMA;
   97     97   
}
   98     98   
impl ::aws_smithy_schema::serde::SerializableStruct for AwsVpcConfiguration {
   99     99   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  100    100   
    fn serialize_members(
  101    101   
        &self,
  102    102   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  103    103   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  104    104   
        {
  105    105   
            let val = &self.subnets;
  106    106   
  107    107   
            ser.write_list(
  108    108   
                &AWSVPCCONFIGURATION_MEMBER_SUBNETS,
  109    109   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  110    110   
                    for item in val {
  111    111   
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
  112    112   
                    }
  113    113   
                    Ok(())
  114    114   
                },
  115    115   
            )?;
  116    116   
        }
  117    117   
        if let Some(ref val) = self.security_groups {
  118    118   
            ser.write_list(
  119    119   
                &AWSVPCCONFIGURATION_MEMBER_SECURITY_GROUPS,
  120    120   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  121    121   
                    for item in val {
  122    122   
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
  123    123   
                    }
  124    124   
                    Ok(())
  125    125   
                },
  126    126   
            )?;
  127    127   
        }
  128    128   
        if let Some(ref val) = self.assign_public_ip {
  129    129   
            ser.write_string(&AWSVPCCONFIGURATION_MEMBER_ASSIGN_PUBLIC_IP, val.as_str())?;
  130    130   
        }
  131    131   
        Ok(())
  132    132   
    }
  133    133   
}
  134    134   
impl AwsVpcConfiguration {
  135    135   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  136         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  137         -
        deserializer: &mut D,
         136  +
    pub fn deserialize(
         137  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  138    138   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  139    139   
        #[allow(unused_variables, unused_mut)]
  140    140   
        let mut builder = Self::builder();
  141    141   
        #[allow(
  142    142   
            unused_variables,
  143    143   
            unreachable_code,
  144    144   
            clippy::single_match,
  145    145   
            clippy::match_single_binding,
  146    146   
            clippy::diverging_sub_expression
  147    147   
        )]
  148         -
        deserializer.read_struct(&AWSVPCCONFIGURATION_SCHEMA, (), |_, member, deser| {
         148  +
        deserializer.read_struct(&AWSVPCCONFIGURATION_SCHEMA, &mut |member, deser| {
  149    149   
            match member.member_index() {
  150    150   
                Some(0) => {
  151         -
                    builder.subnets = Some({
  152         -
                        let container = if let Some(cap) = deser.container_size() {
  153         -
                            Vec::with_capacity(cap)
  154         -
                        } else {
  155         -
                            Vec::new()
  156         -
                        };
  157         -
                        deser.read_list(member, container, |mut list, deser| {
  158         -
                            list.push(deser.read_string(member)?);
  159         -
                            Ok(list)
  160         -
                        })?
  161         -
                    });
         151  +
                    builder.subnets = Some(deser.read_string_list(member)?);
  162    152   
                }
  163    153   
                Some(1) => {
  164         -
                    builder.security_groups = Some({
  165         -
                        let container = if let Some(cap) = deser.container_size() {
  166         -
                            Vec::with_capacity(cap)
  167         -
                        } else {
  168         -
                            Vec::new()
  169         -
                        };
  170         -
                        deser.read_list(member, container, |mut list, deser| {
  171         -
                            list.push(deser.read_string(member)?);
  172         -
                            Ok(list)
  173         -
                        })?
  174         -
                    });
         154  +
                    builder.security_groups = Some(deser.read_string_list(member)?);
  175    155   
                }
  176    156   
                Some(2) => {
  177    157   
                    builder.assign_public_ip = Some(crate::types::AssignPublicIp::from(deser.read_string(member)?.as_str()));
  178    158   
                }
  179    159   
                _ => {}
  180    160   
            }
  181    161   
            Ok(())
  182    162   
        })?;
         163  +
        builder.subnets = builder.subnets.or(Some(Vec::new()));
  183    164   
        builder
  184    165   
            .build()
  185    166   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  186    167   
    }
  187    168   
}
         169  +
impl AwsVpcConfiguration {
         170  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         171  +
    pub fn deserialize_with_response(
         172  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         173  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         174  +
        _status: u16,
         175  +
        _body: &[u8],
         176  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         177  +
        Self::deserialize(deserializer)
         178  +
    }
         179  +
}
  188    180   
impl AwsVpcConfiguration {
  189    181   
    /// Creates a new builder-style object to manufacture [`AwsVpcConfiguration`](crate::types::AwsVpcConfiguration).
  190    182   
    pub fn builder() -> crate::types::builders::AwsVpcConfigurationBuilder {
  191    183   
        crate::types::builders::AwsVpcConfigurationBuilder::default()
  192    184   
    }
  193    185   
}
  194    186   
  195    187   
/// A builder for [`AwsVpcConfiguration`](crate::types::AwsVpcConfiguration).
  196    188   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  197    189   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ecs/src/types/_baseline_ebs_bandwidth_mbps_request.rs

@@ -43,43 +129,140 @@
   63     63   
            ser.write_integer(&BASELINEEBSBANDWIDTHMBPSREQUEST_MEMBER_MIN, *val)?;
   64     64   
        }
   65     65   
        if let Some(ref val) = self.max {
   66     66   
            ser.write_integer(&BASELINEEBSBANDWIDTHMBPSREQUEST_MEMBER_MAX, *val)?;
   67     67   
        }
   68     68   
        Ok(())
   69     69   
    }
   70     70   
}
   71     71   
impl BaselineEbsBandwidthMbpsRequest {
   72     72   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   73         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   74         -
        deserializer: &mut D,
          73  +
    pub fn deserialize(
          74  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   75     75   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   76     76   
        #[allow(unused_variables, unused_mut)]
   77     77   
        let mut builder = Self::builder();
   78     78   
        #[allow(
   79     79   
            unused_variables,
   80     80   
            unreachable_code,
   81     81   
            clippy::single_match,
   82     82   
            clippy::match_single_binding,
   83     83   
            clippy::diverging_sub_expression
   84     84   
        )]
   85         -
        deserializer.read_struct(&BASELINEEBSBANDWIDTHMBPSREQUEST_SCHEMA, (), |_, member, deser| {
          85  +
        deserializer.read_struct(&BASELINEEBSBANDWIDTHMBPSREQUEST_SCHEMA, &mut |member, deser| {
   86     86   
            match member.member_index() {
   87     87   
                Some(0) => {
   88     88   
                    builder.min = Some(deser.read_integer(member)?);
   89     89   
                }
   90     90   
                Some(1) => {
   91     91   
                    builder.max = Some(deser.read_integer(member)?);
   92     92   
                }
   93     93   
                _ => {}
   94     94   
            }
   95     95   
            Ok(())
   96     96   
        })?;
   97     97   
        Ok(builder.build())
   98     98   
    }
   99     99   
}
         100  +
impl BaselineEbsBandwidthMbpsRequest {
         101  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         102  +
    pub fn deserialize_with_response(
         103  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         104  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         105  +
        _status: u16,
         106  +
        _body: &[u8],
         107  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         108  +
        Self::deserialize(deserializer)
         109  +
    }
         110  +
}
  100    111   
impl BaselineEbsBandwidthMbpsRequest {
  101    112   
    /// Creates a new builder-style object to manufacture [`BaselineEbsBandwidthMbpsRequest`](crate::types::BaselineEbsBandwidthMbpsRequest).
  102    113   
    pub fn builder() -> crate::types::builders::BaselineEbsBandwidthMbpsRequestBuilder {
  103    114   
        crate::types::builders::BaselineEbsBandwidthMbpsRequestBuilder::default()
  104    115   
    }
  105    116   
}
  106    117   
  107    118   
/// A builder for [`BaselineEbsBandwidthMbpsRequest`](crate::types::BaselineEbsBandwidthMbpsRequest).
  108    119   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  109    120   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ecs/src/types/_capacity_provider.rs

@@ -125,125 +251,251 @@
  145    145   
}
  146    146   
static CAPACITYPROVIDER_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
  147    147   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#CapacityProvider", "com.amazonaws.ecs", "CapacityProvider");
  148    148   
static CAPACITYPROVIDER_MEMBER_CAPACITY_PROVIDER_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  149    149   
    ::aws_smithy_schema::ShapeId::from_static(
  150    150   
        "com.amazonaws.ecs#CapacityProvider$capacityProviderArn",
  151    151   
        "com.amazonaws.ecs",
  152    152   
        "CapacityProvider",
  153    153   
    ),
  154    154   
    ::aws_smithy_schema::ShapeType::String,
  155         -
    "capacity_provider_arn",
         155  +
    "capacityProviderArn",
  156    156   
    0,
  157    157   
);
  158    158   
static CAPACITYPROVIDER_MEMBER_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  159    159   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#CapacityProvider$name", "com.amazonaws.ecs", "CapacityProvider"),
  160    160   
    ::aws_smithy_schema::ShapeType::String,
  161    161   
    "name",
  162    162   
    1,
  163    163   
);
  164    164   
static CAPACITYPROVIDER_MEMBER_CLUSTER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  165    165   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#CapacityProvider$cluster", "com.amazonaws.ecs", "CapacityProvider"),
  166    166   
    ::aws_smithy_schema::ShapeType::String,
  167    167   
    "cluster",
  168    168   
    2,
  169    169   
);
  170    170   
static CAPACITYPROVIDER_MEMBER_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  171    171   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#CapacityProvider$status", "com.amazonaws.ecs", "CapacityProvider"),
  172    172   
    ::aws_smithy_schema::ShapeType::String,
  173    173   
    "status",
  174    174   
    3,
  175    175   
);
  176    176   
static CAPACITYPROVIDER_MEMBER_AUTO_SCALING_GROUP_PROVIDER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  177    177   
    ::aws_smithy_schema::ShapeId::from_static(
  178    178   
        "com.amazonaws.ecs#CapacityProvider$autoScalingGroupProvider",
  179    179   
        "com.amazonaws.ecs",
  180    180   
        "CapacityProvider",
  181    181   
    ),
  182    182   
    ::aws_smithy_schema::ShapeType::Structure,
  183         -
    "auto_scaling_group_provider",
         183  +
    "autoScalingGroupProvider",
  184    184   
    4,
  185    185   
);
  186    186   
static CAPACITYPROVIDER_MEMBER_MANAGED_INSTANCES_PROVIDER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  187    187   
    ::aws_smithy_schema::ShapeId::from_static(
  188    188   
        "com.amazonaws.ecs#CapacityProvider$managedInstancesProvider",
  189    189   
        "com.amazonaws.ecs",
  190    190   
        "CapacityProvider",
  191    191   
    ),
  192    192   
    ::aws_smithy_schema::ShapeType::Structure,
  193         -
    "managed_instances_provider",
         193  +
    "managedInstancesProvider",
  194    194   
    5,
  195    195   
);
  196    196   
static CAPACITYPROVIDER_MEMBER_UPDATE_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  197    197   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#CapacityProvider$updateStatus", "com.amazonaws.ecs", "CapacityProvider"),
  198    198   
    ::aws_smithy_schema::ShapeType::String,
  199         -
    "update_status",
         199  +
    "updateStatus",
  200    200   
    6,
  201    201   
);
  202    202   
static CAPACITYPROVIDER_MEMBER_UPDATE_STATUS_REASON: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  203    203   
    ::aws_smithy_schema::ShapeId::from_static(
  204    204   
        "com.amazonaws.ecs#CapacityProvider$updateStatusReason",
  205    205   
        "com.amazonaws.ecs",
  206    206   
        "CapacityProvider",
  207    207   
    ),
  208    208   
    ::aws_smithy_schema::ShapeType::String,
  209         -
    "update_status_reason",
         209  +
    "updateStatusReason",
  210    210   
    7,
  211    211   
);
  212    212   
static CAPACITYPROVIDER_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  213    213   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#CapacityProvider$tags", "com.amazonaws.ecs", "CapacityProvider"),
  214    214   
    ::aws_smithy_schema::ShapeType::List,
  215    215   
    "tags",
  216    216   
    8,
  217    217   
);
  218    218   
static CAPACITYPROVIDER_MEMBER_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  219    219   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#CapacityProvider$type", "com.amazonaws.ecs", "CapacityProvider"),
  220    220   
    ::aws_smithy_schema::ShapeType::String,
  221         -
    "r##type",
         221  +
    "type",
  222    222   
    9,
  223    223   
);
  224    224   
static CAPACITYPROVIDER_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  225    225   
    CAPACITYPROVIDER_SCHEMA_ID,
  226    226   
    ::aws_smithy_schema::ShapeType::Structure,
  227    227   
    &[
  228    228   
        &CAPACITYPROVIDER_MEMBER_CAPACITY_PROVIDER_ARN,
  229    229   
        &CAPACITYPROVIDER_MEMBER_NAME,
  230    230   
        &CAPACITYPROVIDER_MEMBER_CLUSTER,
  231    231   
        &CAPACITYPROVIDER_MEMBER_STATUS,
@@ -263,263 +383,391 @@
  283    283   
            )?;
  284    284   
        }
  285    285   
        if let Some(ref val) = self.r#type {
  286    286   
            ser.write_string(&CAPACITYPROVIDER_MEMBER_TYPE, val.as_str())?;
  287    287   
        }
  288    288   
        Ok(())
  289    289   
    }
  290    290   
}
  291    291   
impl CapacityProvider {
  292    292   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  293         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  294         -
        deserializer: &mut D,
         293  +
    pub fn deserialize(
         294  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  295    295   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  296    296   
        #[allow(unused_variables, unused_mut)]
  297    297   
        let mut builder = Self::builder();
  298    298   
        #[allow(
  299    299   
            unused_variables,
  300    300   
            unreachable_code,
  301    301   
            clippy::single_match,
  302    302   
            clippy::match_single_binding,
  303    303   
            clippy::diverging_sub_expression
  304    304   
        )]
  305         -
        deserializer.read_struct(&CAPACITYPROVIDER_SCHEMA, (), |_, member, deser| {
         305  +
        deserializer.read_struct(&CAPACITYPROVIDER_SCHEMA, &mut |member, deser| {
  306    306   
            match member.member_index() {
  307    307   
                Some(0) => {
  308    308   
                    builder.capacity_provider_arn = Some(deser.read_string(member)?);
  309    309   
                }
  310    310   
                Some(1) => {
  311    311   
                    builder.name = Some(deser.read_string(member)?);
  312    312   
                }
  313    313   
                Some(2) => {
  314    314   
                    builder.cluster = Some(deser.read_string(member)?);
  315    315   
                }
  316    316   
                Some(3) => {
  317    317   
                    builder.status = Some(crate::types::CapacityProviderStatus::from(deser.read_string(member)?.as_str()));
  318    318   
                }
  319    319   
                Some(4) => {
  320    320   
                    builder.auto_scaling_group_provider = Some(crate::types::AutoScalingGroupProvider::deserialize(deser)?);
  321    321   
                }
  322    322   
                Some(5) => {
  323    323   
                    builder.managed_instances_provider = Some(crate::types::ManagedInstancesProvider::deserialize(deser)?);
  324    324   
                }
  325    325   
                Some(6) => {
  326    326   
                    builder.update_status = Some(crate::types::CapacityProviderUpdateStatus::from(deser.read_string(member)?.as_str()));
  327    327   
                }
  328    328   
                Some(7) => {
  329    329   
                    builder.update_status_reason = Some(deser.read_string(member)?);
  330    330   
                }
  331    331   
                Some(8) => {
  332    332   
                    builder.tags = Some({
  333         -
                        let container = if let Some(cap) = deser.container_size() {
  334         -
                            Vec::with_capacity(cap)
  335         -
                        } else {
  336         -
                            Vec::new()
  337         -
                        };
  338         -
                        deser.read_list(member, container, |mut list, deser| {
  339         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  340         -
                            Ok(list)
  341         -
                        })?
         333  +
                        let mut container = Vec::new();
         334  +
                        deser.read_list(member, &mut |deser| {
         335  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         336  +
                            Ok(())
         337  +
                        })?;
         338  +
                        container
  342    339   
                    });
  343    340   
                }
  344    341   
                Some(9) => {
  345    342   
                    builder.r#type = Some(crate::types::CapacityProviderType::from(deser.read_string(member)?.as_str()));
  346    343   
                }
  347    344   
                _ => {}
  348    345   
            }
  349    346   
            Ok(())
  350    347   
        })?;
  351    348   
        Ok(builder.build())
  352    349   
    }
  353    350   
}
         351  +
impl CapacityProvider {
         352  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         353  +
    pub fn deserialize_with_response(
         354  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         355  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         356  +
        _status: u16,
         357  +
        _body: &[u8],
         358  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         359  +
        Self::deserialize(deserializer)
         360  +
    }
         361  +
}
  354    362   
impl CapacityProvider {
  355    363   
    /// Creates a new builder-style object to manufacture [`CapacityProvider`](crate::types::CapacityProvider).
  356    364   
    pub fn builder() -> crate::types::builders::CapacityProviderBuilder {
  357    365   
        crate::types::builders::CapacityProviderBuilder::default()
  358    366   
    }
  359    367   
}
  360    368   
  361    369   
/// A builder for [`CapacityProvider`](crate::types::CapacityProvider).
  362    370   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  363    371   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ecs/src/types/_capacity_provider_strategy_item.rs

@@ -86,86 +236,248 @@
  106    106   
    "com.amazonaws.ecs",
  107    107   
    "CapacityProviderStrategyItem",
  108    108   
);
  109    109   
static CAPACITYPROVIDERSTRATEGYITEM_MEMBER_CAPACITY_PROVIDER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  110    110   
    ::aws_smithy_schema::ShapeId::from_static(
  111    111   
        "com.amazonaws.ecs#CapacityProviderStrategyItem$capacityProvider",
  112    112   
        "com.amazonaws.ecs",
  113    113   
        "CapacityProviderStrategyItem",
  114    114   
    ),
  115    115   
    ::aws_smithy_schema::ShapeType::String,
  116         -
    "capacity_provider",
         116  +
    "capacityProvider",
  117    117   
    0,
  118    118   
);
  119    119   
static CAPACITYPROVIDERSTRATEGYITEM_MEMBER_WEIGHT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  120    120   
    ::aws_smithy_schema::ShapeId::from_static(
  121    121   
        "com.amazonaws.ecs#CapacityProviderStrategyItem$weight",
  122    122   
        "com.amazonaws.ecs",
  123    123   
        "CapacityProviderStrategyItem",
  124    124   
    ),
  125    125   
    ::aws_smithy_schema::ShapeType::Integer,
  126    126   
    "weight",
  127    127   
    1,
  128    128   
);
  129    129   
static CAPACITYPROVIDERSTRATEGYITEM_MEMBER_BASE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  130    130   
    ::aws_smithy_schema::ShapeId::from_static(
  131    131   
        "com.amazonaws.ecs#CapacityProviderStrategyItem$base",
  132    132   
        "com.amazonaws.ecs",
  133    133   
        "CapacityProviderStrategyItem",
  134    134   
    ),
  135    135   
    ::aws_smithy_schema::ShapeType::Integer,
  136    136   
    "base",
  137    137   
    2,
  138    138   
);
  139    139   
static CAPACITYPROVIDERSTRATEGYITEM_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  140    140   
    CAPACITYPROVIDERSTRATEGYITEM_SCHEMA_ID,
  141    141   
    ::aws_smithy_schema::ShapeType::Structure,
  142    142   
    &[
  143    143   
        &CAPACITYPROVIDERSTRATEGYITEM_MEMBER_CAPACITY_PROVIDER,
  144    144   
        &CAPACITYPROVIDERSTRATEGYITEM_MEMBER_WEIGHT,
  145    145   
        &CAPACITYPROVIDERSTRATEGYITEM_MEMBER_BASE,
  146    146   
    ],
  147    147   
);
  148    148   
impl CapacityProviderStrategyItem {
  149    149   
    /// The schema for this shape.
  150    150   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CAPACITYPROVIDERSTRATEGYITEM_SCHEMA;
  151    151   
}
  152    152   
impl ::aws_smithy_schema::serde::SerializableStruct for CapacityProviderStrategyItem {
  153    153   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  154    154   
    fn serialize_members(
  155    155   
        &self,
  156    156   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  157    157   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  158    158   
        {
  159    159   
            let val = &self.capacity_provider;
  160    160   
            ser.write_string(&CAPACITYPROVIDERSTRATEGYITEM_MEMBER_CAPACITY_PROVIDER, val)?;
  161    161   
        }
  162    162   
        {
  163    163   
            let val = &self.weight;
  164    164   
            ser.write_integer(&CAPACITYPROVIDERSTRATEGYITEM_MEMBER_WEIGHT, *val)?;
  165    165   
        }
  166    166   
        {
  167    167   
            let val = &self.base;
  168    168   
            ser.write_integer(&CAPACITYPROVIDERSTRATEGYITEM_MEMBER_BASE, *val)?;
  169    169   
        }
  170    170   
        Ok(())
  171    171   
    }
  172    172   
}
  173    173   
impl CapacityProviderStrategyItem {
  174    174   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  175         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  176         -
        deserializer: &mut D,
         175  +
    pub fn deserialize(
         176  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  177    177   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  178    178   
        #[allow(unused_variables, unused_mut)]
  179    179   
        let mut builder = Self::builder();
  180    180   
        #[allow(
  181    181   
            unused_variables,
  182    182   
            unreachable_code,
  183    183   
            clippy::single_match,
  184    184   
            clippy::match_single_binding,
  185    185   
            clippy::diverging_sub_expression
  186    186   
        )]
  187         -
        deserializer.read_struct(&CAPACITYPROVIDERSTRATEGYITEM_SCHEMA, (), |_, member, deser| {
         187  +
        deserializer.read_struct(&CAPACITYPROVIDERSTRATEGYITEM_SCHEMA, &mut |member, deser| {
  188    188   
            match member.member_index() {
  189    189   
                Some(0) => {
  190    190   
                    builder.capacity_provider = Some(deser.read_string(member)?);
  191    191   
                }
  192    192   
                Some(1) => {
  193    193   
                    builder.weight = Some(deser.read_integer(member)?);
  194    194   
                }
  195    195   
                Some(2) => {
  196    196   
                    builder.base = Some(deser.read_integer(member)?);
  197    197   
                }
  198    198   
                _ => {}
  199    199   
            }
  200    200   
            Ok(())
  201    201   
        })?;
         202  +
        builder.capacity_provider = builder.capacity_provider.or(Some(String::new()));
  202    203   
        builder
  203    204   
            .build()
  204    205   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  205    206   
    }
  206    207   
}
         208  +
impl CapacityProviderStrategyItem {
         209  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         210  +
    pub fn deserialize_with_response(
         211  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         212  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         213  +
        _status: u16,
         214  +
        _body: &[u8],
         215  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         216  +
        Self::deserialize(deserializer)
         217  +
    }
         218  +
}
  207    219   
impl CapacityProviderStrategyItem {
  208    220   
    /// Creates a new builder-style object to manufacture [`CapacityProviderStrategyItem`](crate::types::CapacityProviderStrategyItem).
  209    221   
    pub fn builder() -> crate::types::builders::CapacityProviderStrategyItemBuilder {
  210    222   
        crate::types::builders::CapacityProviderStrategyItemBuilder::default()
  211    223   
    }
  212    224   
}
  213    225   
  214    226   
/// A builder for [`CapacityProviderStrategyItem`](crate::types::CapacityProviderStrategyItem).
  215    227   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  216    228   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ecs/src/types/_cluster.rs

@@ -269,269 +427,427 @@
  289    289   
    /// <p>Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
  290    290   
    pub fn service_connect_defaults(&self) -> ::std::option::Option<&crate::types::ClusterServiceConnectDefaults> {
  291    291   
        self.service_connect_defaults.as_ref()
  292    292   
    }
  293    293   
}
  294    294   
static CLUSTER_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
  295    295   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Cluster", "com.amazonaws.ecs", "Cluster");
  296    296   
static CLUSTER_MEMBER_CLUSTER_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  297    297   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Cluster$clusterArn", "com.amazonaws.ecs", "Cluster"),
  298    298   
    ::aws_smithy_schema::ShapeType::String,
  299         -
    "cluster_arn",
         299  +
    "clusterArn",
  300    300   
    0,
  301    301   
);
  302    302   
static CLUSTER_MEMBER_CLUSTER_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  303    303   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Cluster$clusterName", "com.amazonaws.ecs", "Cluster"),
  304    304   
    ::aws_smithy_schema::ShapeType::String,
  305         -
    "cluster_name",
         305  +
    "clusterName",
  306    306   
    1,
  307    307   
);
  308    308   
static CLUSTER_MEMBER_CONFIGURATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  309    309   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Cluster$configuration", "com.amazonaws.ecs", "Cluster"),
  310    310   
    ::aws_smithy_schema::ShapeType::Structure,
  311    311   
    "configuration",
  312    312   
    2,
  313    313   
);
  314    314   
static CLUSTER_MEMBER_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  315    315   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Cluster$status", "com.amazonaws.ecs", "Cluster"),
  316    316   
    ::aws_smithy_schema::ShapeType::String,
  317    317   
    "status",
  318    318   
    3,
  319    319   
);
  320    320   
static CLUSTER_MEMBER_REGISTERED_CONTAINER_INSTANCES_COUNT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  321    321   
    ::aws_smithy_schema::ShapeId::from_static(
  322    322   
        "com.amazonaws.ecs#Cluster$registeredContainerInstancesCount",
  323    323   
        "com.amazonaws.ecs",
  324    324   
        "Cluster",
  325    325   
    ),
  326    326   
    ::aws_smithy_schema::ShapeType::Integer,
  327         -
    "registered_container_instances_count",
         327  +
    "registeredContainerInstancesCount",
  328    328   
    4,
  329    329   
);
  330    330   
static CLUSTER_MEMBER_RUNNING_TASKS_COUNT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  331    331   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Cluster$runningTasksCount", "com.amazonaws.ecs", "Cluster"),
  332    332   
    ::aws_smithy_schema::ShapeType::Integer,
  333         -
    "running_tasks_count",
         333  +
    "runningTasksCount",
  334    334   
    5,
  335    335   
);
  336    336   
static CLUSTER_MEMBER_PENDING_TASKS_COUNT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  337    337   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Cluster$pendingTasksCount", "com.amazonaws.ecs", "Cluster"),
  338    338   
    ::aws_smithy_schema::ShapeType::Integer,
  339         -
    "pending_tasks_count",
         339  +
    "pendingTasksCount",
  340    340   
    6,
  341    341   
);
  342    342   
static CLUSTER_MEMBER_ACTIVE_SERVICES_COUNT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  343    343   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Cluster$activeServicesCount", "com.amazonaws.ecs", "Cluster"),
  344    344   
    ::aws_smithy_schema::ShapeType::Integer,
  345         -
    "active_services_count",
         345  +
    "activeServicesCount",
  346    346   
    7,
  347    347   
);
  348    348   
static CLUSTER_MEMBER_STATISTICS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  349    349   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Cluster$statistics", "com.amazonaws.ecs", "Cluster"),
  350    350   
    ::aws_smithy_schema::ShapeType::List,
  351    351   
    "statistics",
  352    352   
    8,
  353    353   
);
  354    354   
static CLUSTER_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  355    355   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Cluster$tags", "com.amazonaws.ecs", "Cluster"),
  356    356   
    ::aws_smithy_schema::ShapeType::List,
  357    357   
    "tags",
  358    358   
    9,
  359    359   
);
  360    360   
static CLUSTER_MEMBER_SETTINGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  361    361   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Cluster$settings", "com.amazonaws.ecs", "Cluster"),
  362    362   
    ::aws_smithy_schema::ShapeType::List,
  363    363   
    "settings",
  364    364   
    10,
  365    365   
);
  366    366   
static CLUSTER_MEMBER_CAPACITY_PROVIDERS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  367    367   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Cluster$capacityProviders", "com.amazonaws.ecs", "Cluster"),
  368    368   
    ::aws_smithy_schema::ShapeType::List,
  369         -
    "capacity_providers",
         369  +
    "capacityProviders",
  370    370   
    11,
  371    371   
);
  372    372   
static CLUSTER_MEMBER_DEFAULT_CAPACITY_PROVIDER_STRATEGY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  373    373   
    ::aws_smithy_schema::ShapeId::from_static(
  374    374   
        "com.amazonaws.ecs#Cluster$defaultCapacityProviderStrategy",
  375    375   
        "com.amazonaws.ecs",
  376    376   
        "Cluster",
  377    377   
    ),
  378    378   
    ::aws_smithy_schema::ShapeType::List,
  379         -
    "default_capacity_provider_strategy",
         379  +
    "defaultCapacityProviderStrategy",
  380    380   
    12,
  381    381   
);
  382    382   
static CLUSTER_MEMBER_ATTACHMENTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  383    383   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Cluster$attachments", "com.amazonaws.ecs", "Cluster"),
  384    384   
    ::aws_smithy_schema::ShapeType::List,
  385    385   
    "attachments",
  386    386   
    13,
  387    387   
);
  388    388   
static CLUSTER_MEMBER_ATTACHMENTS_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  389    389   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Cluster$attachmentsStatus", "com.amazonaws.ecs", "Cluster"),
  390    390   
    ::aws_smithy_schema::ShapeType::String,
  391         -
    "attachments_status",
         391  +
    "attachmentsStatus",
  392    392   
    14,
  393    393   
);
  394    394   
static CLUSTER_MEMBER_SERVICE_CONNECT_DEFAULTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  395    395   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ecs#Cluster$serviceConnectDefaults", "com.amazonaws.ecs", "Cluster"),
  396    396   
    ::aws_smithy_schema::ShapeType::Structure,
  397         -
    "service_connect_defaults",
         397  +
    "serviceConnectDefaults",
  398    398   
    15,
  399    399   
);
  400    400   
static CLUSTER_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  401    401   
    CLUSTER_SCHEMA_ID,
  402    402   
    ::aws_smithy_schema::ShapeType::Structure,
  403    403   
    &[
  404    404   
        &CLUSTER_MEMBER_CLUSTER_ARN,
  405    405   
        &CLUSTER_MEMBER_CLUSTER_NAME,
  406    406   
        &CLUSTER_MEMBER_CONFIGURATION,
  407    407   
        &CLUSTER_MEMBER_STATUS,
@@ -501,501 +689,675 @@
  521    521   
            ser.write_string(&CLUSTER_MEMBER_ATTACHMENTS_STATUS, val)?;
  522    522   
        }
  523    523   
        if let Some(ref val) = self.service_connect_defaults {
  524    524   
            ser.write_struct(&CLUSTER_MEMBER_SERVICE_CONNECT_DEFAULTS, val)?;
  525    525   
        }
  526    526   
        Ok(())
  527    527   
    }
  528    528   
}
  529    529   
impl Cluster {
  530    530   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  531         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  532         -
        deserializer: &mut D,
         531  +
    pub fn deserialize(
         532  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  533    533   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  534    534   
        #[allow(unused_variables, unused_mut)]
  535    535   
        let mut builder = Self::builder();
  536    536   
        #[allow(
  537    537   
            unused_variables,
  538    538   
            unreachable_code,
  539    539   
            clippy::single_match,
  540    540   
            clippy::match_single_binding,
  541    541   
            clippy::diverging_sub_expression
  542    542   
        )]
  543         -
        deserializer.read_struct(&CLUSTER_SCHEMA, (), |_, member, deser| {
         543  +
        deserializer.read_struct(&CLUSTER_SCHEMA, &mut |member, deser| {
  544    544   
            match member.member_index() {
  545    545   
                Some(0) => {
  546    546   
                    builder.cluster_arn = Some(deser.read_string(member)?);
  547    547   
                }
  548    548   
                Some(1) => {
  549    549   
                    builder.cluster_name = Some(deser.read_string(member)?);
  550    550   
                }
  551    551   
                Some(2) => {
  552    552   
                    builder.configuration = Some(crate::types::ClusterConfiguration::deserialize(deser)?);
  553    553   
                }
  554    554   
                Some(3) => {
  555    555   
                    builder.status = Some(deser.read_string(member)?);
  556    556   
                }
  557    557   
                Some(4) => {
  558    558   
                    builder.registered_container_instances_count = Some(deser.read_integer(member)?);
  559    559   
                }
  560    560   
                Some(5) => {
  561    561   
                    builder.running_tasks_count = Some(deser.read_integer(member)?);
  562    562   
                }
  563    563   
                Some(6) => {
  564    564   
                    builder.pending_tasks_count = Some(deser.read_integer(member)?);
  565    565   
                }
  566    566   
                Some(7) => {
  567    567   
                    builder.active_services_count = Some(deser.read_integer(member)?);
  568    568   
                }
  569    569   
                Some(8) => {
  570    570   
                    builder.statistics = Some({
  571         -
                        let container = if let Some(cap) = deser.container_size() {
  572         -
                            Vec::with_capacity(cap)
  573         -
                        } else {
  574         -
                            Vec::new()
  575         -
                        };
  576         -
                        deser.read_list(member, container, |mut list, deser| {
  577         -
                            list.push(crate::types::KeyValuePair::deserialize(deser)?);
  578         -
                            Ok(list)
  579         -
                        })?
         571  +
                        let mut container = Vec::new();
         572  +
                        deser.read_list(member, &mut |deser| {
         573  +
                            container.push(crate::types::KeyValuePair::deserialize(deser)?);
         574  +
                            Ok(())
         575  +
                        })?;
         576  +
                        container
  580    577   
                    });
  581    578   
                }
  582    579   
                Some(9) => {
  583    580   
                    builder.tags = Some({
  584         -
                        let container = if let Some(cap) = deser.container_size() {
  585         -
                            Vec::with_capacity(cap)
  586         -
                        } else {
  587         -
                            Vec::new()
  588         -
                        };
  589         -
                        deser.read_list(member, container, |mut list, deser| {
  590         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  591         -
                            Ok(list)
  592         -
                        })?
         581  +
                        let mut container = Vec::new();
         582  +
                        deser.read_list(member, &mut |deser| {
         583  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         584  +
                            Ok(())
         585  +
                        })?;
         586  +
                        container
  593    587   
                    });
  594    588   
                }
  595    589   
                Some(10) => {
  596    590   
                    builder.settings = Some({
  597         -
                        let container = if let Some(cap) = deser.container_size() {
  598         -
                            Vec::with_capacity(cap)
  599         -
                        } else {
  600         -
                            Vec::new()
  601         -
                        };
  602         -
                        deser.read_list(member, container, |mut list, deser| {
  603         -
                            list.push(crate::types::ClusterSetting::deserialize(deser)?);
  604         -
                            Ok(list)
  605         -
                        })?
         591  +
                        let mut container = Vec::new();
         592  +
                        deser.read_list(member, &mut |deser| {
         593  +
                            container.push(crate::types::ClusterSetting::deserialize(deser)?);
         594  +
                            Ok(())
         595  +
                        })?;
         596  +
                        container
  606    597   
                    });
  607    598   
                }
  608    599   
                Some(11) => {
  609         -
                    builder.capacity_providers = Some({
  610         -
                        let container = if let Some(cap) = deser.container_size() {
  611         -
                            Vec::with_capacity(cap)
  612         -
                        } else {
  613         -
                            Vec::new()
  614         -
                        };
  615         -
                        deser.read_list(member, container, |mut list, deser| {
  616         -
                            list.push(deser.read_string(member)?);
  617         -
                            Ok(list)
  618         -
                        })?
  619         -
                    });
         600  +
                    builder.capacity_providers = Some(deser.read_string_list(member)?);
  620    601   
                }
  621    602   
                Some(12) => {
  622    603   
                    builder.default_capacity_provider_strategy = Some({
  623         -
                        let container = if let Some(cap) = deser.container_size() {
  624         -
                            Vec::with_capacity(cap)
  625         -
                        } else {
  626         -
                            Vec::new()
  627         -
                        };
  628         -
                        deser.read_list(member, container, |mut list, deser| {
  629         -
                            list.push(crate::types::CapacityProviderStrategyItem::deserialize(deser)?);
  630         -
                            Ok(list)
  631         -
                        })?
         604  +
                        let mut container = Vec::new();
         605  +
                        deser.read_list(member, &mut |deser| {
         606  +
                            container.push(crate::types::CapacityProviderStrategyItem::deserialize(deser)?);
         607  +
                            Ok(())
         608  +
                        })?;
         609  +
                        container
  632    610   
                    });
  633    611   
                }
  634    612   
                Some(13) => {
  635    613   
                    builder.attachments = Some({
  636         -
                        let container = if let Some(cap) = deser.container_size() {
  637         -
                            Vec::with_capacity(cap)
  638         -
                        } else {
  639         -
                            Vec::new()
  640         -
                        };
  641         -
                        deser.read_list(member, container, |mut list, deser| {
  642         -
                            list.push(crate::types::Attachment::deserialize(deser)?);
  643         -
                            Ok(list)
  644         -
                        })?
         614  +
                        let mut container = Vec::new();
         615  +
                        deser.read_list(member, &mut |deser| {
         616  +
                            container.push(crate::types::Attachment::deserialize(deser)?);
         617  +
                            Ok(())
         618  +
                        })?;
         619  +
                        container
  645    620   
                    });
  646    621   
                }
  647    622   
                Some(14) => {
  648    623   
                    builder.attachments_status = Some(deser.read_string(member)?);
  649    624   
                }
  650    625   
                Some(15) => {
  651    626   
                    builder.service_connect_defaults = Some(crate::types::ClusterServiceConnectDefaults::deserialize(deser)?);
  652    627   
                }
  653    628   
                _ => {}
  654    629   
            }
  655    630   
            Ok(())
  656    631   
        })?;
  657    632   
        Ok(builder.build())
  658    633   
    }
  659    634   
}
         635  +
impl Cluster {
         636  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         637  +
    pub fn deserialize_with_response(
         638  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         639  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         640  +
        _status: u16,
         641  +
        _body: &[u8],
         642  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         643  +
        Self::deserialize(deserializer)
         644  +
    }
         645  +
}
  660    646   
impl Cluster {
  661    647   
    /// Creates a new builder-style object to manufacture [`Cluster`](crate::types::Cluster).
  662    648   
    pub fn builder() -> crate::types::builders::ClusterBuilder {
  663    649   
        crate::types::builders::ClusterBuilder::default()
  664    650   
    }
  665    651   
}
  666    652   
  667    653   
/// A builder for [`Cluster`](crate::types::Cluster).
  668    654   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  669    655   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ecs/src/types/_cluster_configuration.rs

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

tmp-codegen-diff/aws-sdk/sdk/ecs/src/types/_cluster_service_connect_defaults.rs

@@ -25,25 +108,119 @@
   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.namespace {
   48     48   
            ser.write_string(&CLUSTERSERVICECONNECTDEFAULTS_MEMBER_NAMESPACE, val)?;
   49     49   
        }
   50     50   
        Ok(())
   51     51   
    }
   52     52   
}
   53     53   
impl ClusterServiceConnectDefaults {
   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(&CLUSTERSERVICECONNECTDEFAULTS_SCHEMA, (), |_, member, deser| {
          67  +
        deserializer.read_struct(&CLUSTERSERVICECONNECTDEFAULTS_SCHEMA, &mut |member, deser| {
   68     68   
            match member.member_index() {
   69     69   
                Some(0) => {
   70     70   
                    builder.namespace = 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 ClusterServiceConnectDefaults {
          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 ClusterServiceConnectDefaults {
   80     91   
    /// Creates a new builder-style object to manufacture [`ClusterServiceConnectDefaults`](crate::types::ClusterServiceConnectDefaults).
   81     92   
    pub fn builder() -> crate::types::builders::ClusterServiceConnectDefaultsBuilder {
   82     93   
        crate::types::builders::ClusterServiceConnectDefaultsBuilder::default()
   83     94   
    }
   84     95   
}
   85     96   
   86     97   
/// A builder for [`ClusterServiceConnectDefaults`](crate::types::ClusterServiceConnectDefaults).
   87     98   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   88     99   
#[non_exhaustive]