AWS SDK

AWS SDK

rev. ec7b2441254af868911fccffe8d8dca83aff0045

Files changed:

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/create_account_alias/_create_account_alias_input.rs

@@ -1,1 +110,122 @@
   19     19   
    "com.amazonaws.iam.synthetic",
   20     20   
    "CreateAccountAliasInput",
   21     21   
);
   22     22   
static CREATEACCOUNTALIASINPUT_MEMBER_ACCOUNT_ALIAS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   23     23   
    ::aws_smithy_schema::ShapeId::from_static(
   24     24   
        "com.amazonaws.iam.synthetic#CreateAccountAliasInput$AccountAlias",
   25     25   
        "com.amazonaws.iam.synthetic",
   26     26   
        "CreateAccountAliasInput",
   27     27   
    ),
   28     28   
    ::aws_smithy_schema::ShapeType::String,
   29         -
    "account_alias",
          29  +
    "AccountAlias",
   30     30   
    0,
   31     31   
);
   32     32   
static CREATEACCOUNTALIASINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   33     33   
    CREATEACCOUNTALIASINPUT_SCHEMA_ID,
   34     34   
    ::aws_smithy_schema::ShapeType::Structure,
   35     35   
    &[&CREATEACCOUNTALIASINPUT_MEMBER_ACCOUNT_ALIAS],
   36     36   
);
   37     37   
impl CreateAccountAliasInput {
   38     38   
    /// The schema for this shape.
   39     39   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATEACCOUNTALIASINPUT_SCHEMA;
   40     40   
}
   41     41   
impl ::aws_smithy_schema::serde::SerializableStruct for CreateAccountAliasInput {
   42     42   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   43     43   
    fn serialize_members(
   44     44   
        &self,
   45     45   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   46     46   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   47     47   
        if let Some(ref val) = self.account_alias {
   48     48   
            ser.write_string(&CREATEACCOUNTALIASINPUT_MEMBER_ACCOUNT_ALIAS, val)?;
   49     49   
        }
   50     50   
        Ok(())
   51     51   
    }
   52     52   
}
   53     53   
impl CreateAccountAliasInput {
   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(&CREATEACCOUNTALIASINPUT_SCHEMA, (), |_, member, deser| {
          67  +
        deserializer.read_struct(&CREATEACCOUNTALIASINPUT_SCHEMA, &mut |member, deser| {
   68     68   
            match member.member_index() {
   69     69   
                Some(0) => {
   70     70   
                    builder.account_alias = Some(deser.read_string(member)?);
   71     71   
                }
   72     72   
                _ => {}
   73     73   
            }
   74     74   
            Ok(())
   75     75   
        })?;
          76  +
        builder.account_alias = builder.account_alias.or(Some(String::new()));
   76     77   
        builder
   77     78   
            .build()
   78     79   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
   79     80   
    }
   80     81   
}
          82  +
impl CreateAccountAliasInput {
          83  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          84  +
    pub fn deserialize_with_response(
          85  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          86  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          87  +
        _status: u16,
          88  +
        _body: &[u8],
          89  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          90  +
        Self::deserialize(deserializer)
          91  +
    }
          92  +
}
   81     93   
impl CreateAccountAliasInput {
   82     94   
    /// Creates a new builder-style object to manufacture [`CreateAccountAliasInput`](crate::operation::create_account_alias::CreateAccountAliasInput).
   83     95   
    pub fn builder() -> crate::operation::create_account_alias::builders::CreateAccountAliasInputBuilder {
   84     96   
        crate::operation::create_account_alias::builders::CreateAccountAliasInputBuilder::default()
   85     97   
    }
   86     98   
}
   87     99   
   88    100   
/// A builder for [`CreateAccountAliasInput`](crate::operation::create_account_alias::CreateAccountAliasInput).
   89    101   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   90    102   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/create_account_alias/_create_account_alias_output.rs

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

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/create_group.rs

@@ -1,1 +40,44 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Orchestration and serialization glue logic for `CreateGroup`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct CreateGroup;
    6      6   
impl CreateGroup {
    7      7   
    /// Creates a new `CreateGroup`
    8      8   
    pub fn new() -> Self {
    9      9   
        Self
   10     10   
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::create_group::CreateGroupInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::create_group::CreateGroupOutput::SCHEMA;
   11     15   
    pub(crate) async fn orchestrate(
   12     16   
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13     17   
        input: crate::operation::create_group::CreateGroupInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::create_group::CreateGroupOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::create_group::CreateGroupError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -115,119 +177,182 @@
  135    139   
                crate::operation::create_group::CreateGroupError,
  136    140   
            >::new());
  137    141   
  138    142   
        ::std::borrow::Cow::Owned(rcb)
  139    143   
    }
  140    144   
}
  141    145   
  142    146   
#[derive(Debug)]
  143    147   
struct CreateGroupResponseDeserializer;
  144    148   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateGroupResponseDeserializer {
  145         -
    fn deserialize_nonstreaming(
         149  +
    fn deserialize_nonstreaming_with_config(
  146    150   
        &self,
  147    151   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         152  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  148    153   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  149    154   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  150    155   
        let headers = response.headers();
  151    156   
        let body = response.body().bytes().expect("body loaded");
  152    157   
        #[allow(unused_mut)]
  153    158   
        let mut force_error = false;
  154    159   
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  155    160   
        let parse_result = if !success && status != 200 || force_error {
  156    161   
            crate::protocol_serde::shape_create_group::de_create_group_http_error(status, headers, body)
  157    162   
        } else {

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/create_group/_create_group_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/create_group/_create_group_output.rs

@@ -1,1 +97,141 @@
   19     19   
    "com.amazonaws.iam.synthetic",
   20     20   
    "CreateGroupOutput",
   21     21   
);
   22     22   
static CREATEGROUPOUTPUT_MEMBER_GROUP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   23     23   
    ::aws_smithy_schema::ShapeId::from_static(
   24     24   
        "com.amazonaws.iam.synthetic#CreateGroupOutput$Group",
   25     25   
        "com.amazonaws.iam.synthetic",
   26     26   
        "CreateGroupOutput",
   27     27   
    ),
   28     28   
    ::aws_smithy_schema::ShapeType::Structure,
   29         -
    "group",
          29  +
    "Group",
   30     30   
    0,
   31     31   
);
          32  +
static CREATEGROUPOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
          33  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
          34  +
    ::aws_smithy_schema::ShapeType::String,
          35  +
    "request_id",
          36  +
    1,
          37  +
)
          38  +
.with_http_header("x-amzn-requestid");
   32     39   
static CREATEGROUPOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   33     40   
    CREATEGROUPOUTPUT_SCHEMA_ID,
   34     41   
    ::aws_smithy_schema::ShapeType::Structure,
   35         -
    &[&CREATEGROUPOUTPUT_MEMBER_GROUP],
          42  +
    &[&CREATEGROUPOUTPUT_MEMBER_GROUP, &CREATEGROUPOUTPUT_MEMBER__REQUEST_ID],
   36     43   
);
   37     44   
impl CreateGroupOutput {
   38     45   
    /// The schema for this shape.
   39     46   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATEGROUPOUTPUT_SCHEMA;
   40     47   
}
   41     48   
impl ::aws_smithy_schema::serde::SerializableStruct for CreateGroupOutput {
   42     49   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   43     50   
    fn serialize_members(
   44     51   
        &self,
   45     52   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   46     53   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   47     54   
        if let Some(ref val) = self.group {
   48     55   
            ser.write_struct(&CREATEGROUPOUTPUT_MEMBER_GROUP, val)?;
   49     56   
        }
   50     57   
        Ok(())
   51     58   
    }
   52     59   
}
   53     60   
impl CreateGroupOutput {
   54     61   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   55         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   56         -
        deserializer: &mut D,
          62  +
    pub fn deserialize(
          63  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   57     64   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   58     65   
        #[allow(unused_variables, unused_mut)]
   59     66   
        let mut builder = Self::builder();
   60     67   
        #[allow(
   61     68   
            unused_variables,
   62     69   
            unreachable_code,
   63     70   
            clippy::single_match,
   64     71   
            clippy::match_single_binding,
   65     72   
            clippy::diverging_sub_expression
   66     73   
        )]
   67         -
        deserializer.read_struct(&CREATEGROUPOUTPUT_SCHEMA, (), |_, member, deser| {
          74  +
        deserializer.read_struct(&CREATEGROUPOUTPUT_SCHEMA, &mut |member, deser| {
          75  +
            match member.member_index() {
          76  +
                Some(0) => {
          77  +
                    builder.group = Some(crate::types::Group::deserialize(deser)?);
          78  +
                }
          79  +
                Some(1) => {
          80  +
                    builder._request_id = Some(deser.read_string(member)?);
          81  +
                }
          82  +
                _ => {}
          83  +
            }
          84  +
            Ok(())
          85  +
        })?;
          86  +
        Ok(builder.build())
          87  +
    }
          88  +
}
          89  +
impl CreateGroupOutput {
          90  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
          91  +
    /// Header-bound members are read directly from headers, avoiding runtime
          92  +
    /// member iteration overhead. Body members are read via the deserializer.
          93  +
    pub fn deserialize_with_response(
          94  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          95  +
        headers: &::aws_smithy_runtime_api::http::Headers,
          96  +
        _status: u16,
          97  +
        _body: &[u8],
          98  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          99  +
        #[allow(unused_variables, unused_mut)]
         100  +
        let mut builder = Self::builder();
         101  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         102  +
            builder._request_id = Some(val.to_string());
         103  +
        }
         104  +
        #[allow(
         105  +
            unused_variables,
         106  +
            unreachable_code,
         107  +
            clippy::single_match,
         108  +
            clippy::match_single_binding,
         109  +
            clippy::diverging_sub_expression
         110  +
        )]
         111  +
        deserializer.read_struct(&CREATEGROUPOUTPUT_SCHEMA, &mut |member, deser| {
   68    112   
            match member.member_index() {
   69    113   
                Some(0) => {
   70    114   
                    builder.group = Some(crate::types::Group::deserialize(deser)?);
   71    115   
                }
   72    116   
                _ => {}
   73    117   
            }
   74    118   
            Ok(())
   75    119   
        })?;
   76    120   
        Ok(builder.build())
   77    121   
    }

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/create_instance_profile.rs

@@ -1,1 +40,44 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Orchestration and serialization glue logic for `CreateInstanceProfile`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct CreateInstanceProfile;
    6      6   
impl CreateInstanceProfile {
    7      7   
    /// Creates a new `CreateInstanceProfile`
    8      8   
    pub fn new() -> Self {
    9      9   
        Self
   10     10   
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::create_instance_profile::CreateInstanceProfileInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::create_instance_profile::CreateInstanceProfileOutput::SCHEMA;
   11     15   
    pub(crate) async fn orchestrate(
   12     16   
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13     17   
        input: crate::operation::create_instance_profile::CreateInstanceProfileInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::create_instance_profile::CreateInstanceProfileOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::create_instance_profile::CreateInstanceProfileError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -118,122 +180,185 @@
  138    142   
                crate::operation::create_instance_profile::CreateInstanceProfileError,
  139    143   
            >::new());
  140    144   
  141    145   
        ::std::borrow::Cow::Owned(rcb)
  142    146   
    }
  143    147   
}
  144    148   
  145    149   
#[derive(Debug)]
  146    150   
struct CreateInstanceProfileResponseDeserializer;
  147    151   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateInstanceProfileResponseDeserializer {
  148         -
    fn deserialize_nonstreaming(
         152  +
    fn deserialize_nonstreaming_with_config(
  149    153   
        &self,
  150    154   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         155  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  151    156   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  152    157   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  153    158   
        let headers = response.headers();
  154    159   
        let body = response.body().bytes().expect("body loaded");
  155    160   
        #[allow(unused_mut)]
  156    161   
        let mut force_error = false;
  157    162   
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  158    163   
        let parse_result = if !success && status != 200 || force_error {
  159    164   
            crate::protocol_serde::shape_create_instance_profile::de_create_instance_profile_http_error(status, headers, body)
  160    165   
        } else {

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/create_instance_profile/_create_instance_profile_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/create_instance_profile/_create_instance_profile_output.rs

@@ -1,1 +97,144 @@
   19     19   
    "com.amazonaws.iam.synthetic",
   20     20   
    "CreateInstanceProfileOutput",
   21     21   
);
   22     22   
static CREATEINSTANCEPROFILEOUTPUT_MEMBER_INSTANCE_PROFILE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   23     23   
    ::aws_smithy_schema::ShapeId::from_static(
   24     24   
        "com.amazonaws.iam.synthetic#CreateInstanceProfileOutput$InstanceProfile",
   25     25   
        "com.amazonaws.iam.synthetic",
   26     26   
        "CreateInstanceProfileOutput",
   27     27   
    ),
   28     28   
    ::aws_smithy_schema::ShapeType::Structure,
   29         -
    "instance_profile",
          29  +
    "InstanceProfile",
   30     30   
    0,
   31     31   
);
          32  +
static CREATEINSTANCEPROFILEOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
          33  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
          34  +
    ::aws_smithy_schema::ShapeType::String,
          35  +
    "request_id",
          36  +
    1,
          37  +
)
          38  +
.with_http_header("x-amzn-requestid");
   32     39   
static CREATEINSTANCEPROFILEOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   33     40   
    CREATEINSTANCEPROFILEOUTPUT_SCHEMA_ID,
   34     41   
    ::aws_smithy_schema::ShapeType::Structure,
   35         -
    &[&CREATEINSTANCEPROFILEOUTPUT_MEMBER_INSTANCE_PROFILE],
          42  +
    &[
          43  +
        &CREATEINSTANCEPROFILEOUTPUT_MEMBER_INSTANCE_PROFILE,
          44  +
        &CREATEINSTANCEPROFILEOUTPUT_MEMBER__REQUEST_ID,
          45  +
    ],
   36     46   
);
   37     47   
impl CreateInstanceProfileOutput {
   38     48   
    /// The schema for this shape.
   39     49   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATEINSTANCEPROFILEOUTPUT_SCHEMA;
   40     50   
}
   41     51   
impl ::aws_smithy_schema::serde::SerializableStruct for CreateInstanceProfileOutput {
   42     52   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   43     53   
    fn serialize_members(
   44     54   
        &self,
   45     55   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   46     56   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   47     57   
        if let Some(ref val) = self.instance_profile {
   48     58   
            ser.write_struct(&CREATEINSTANCEPROFILEOUTPUT_MEMBER_INSTANCE_PROFILE, val)?;
   49     59   
        }
   50     60   
        Ok(())
   51     61   
    }
   52     62   
}
   53     63   
impl CreateInstanceProfileOutput {
   54     64   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   55         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   56         -
        deserializer: &mut D,
          65  +
    pub fn deserialize(
          66  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   57     67   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   58     68   
        #[allow(unused_variables, unused_mut)]
   59     69   
        let mut builder = Self::builder();
   60     70   
        #[allow(
   61     71   
            unused_variables,
   62     72   
            unreachable_code,
   63     73   
            clippy::single_match,
   64     74   
            clippy::match_single_binding,
   65     75   
            clippy::diverging_sub_expression
   66     76   
        )]
   67         -
        deserializer.read_struct(&CREATEINSTANCEPROFILEOUTPUT_SCHEMA, (), |_, member, deser| {
          77  +
        deserializer.read_struct(&CREATEINSTANCEPROFILEOUTPUT_SCHEMA, &mut |member, deser| {
          78  +
            match member.member_index() {
          79  +
                Some(0) => {
          80  +
                    builder.instance_profile = Some(crate::types::InstanceProfile::deserialize(deser)?);
          81  +
                }
          82  +
                Some(1) => {
          83  +
                    builder._request_id = Some(deser.read_string(member)?);
          84  +
                }
          85  +
                _ => {}
          86  +
            }
          87  +
            Ok(())
          88  +
        })?;
          89  +
        Ok(builder.build())
          90  +
    }
          91  +
}
          92  +
impl CreateInstanceProfileOutput {
          93  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
          94  +
    /// Header-bound members are read directly from headers, avoiding runtime
          95  +
    /// member iteration overhead. Body members are read via the deserializer.
          96  +
    pub fn deserialize_with_response(
          97  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          98  +
        headers: &::aws_smithy_runtime_api::http::Headers,
          99  +
        _status: u16,
         100  +
        _body: &[u8],
         101  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         102  +
        #[allow(unused_variables, unused_mut)]
         103  +
        let mut builder = Self::builder();
         104  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         105  +
            builder._request_id = Some(val.to_string());
         106  +
        }
         107  +
        #[allow(
         108  +
            unused_variables,
         109  +
            unreachable_code,
         110  +
            clippy::single_match,
         111  +
            clippy::match_single_binding,
         112  +
            clippy::diverging_sub_expression
         113  +
        )]
         114  +
        deserializer.read_struct(&CREATEINSTANCEPROFILEOUTPUT_SCHEMA, &mut |member, deser| {
   68    115   
            match member.member_index() {
   69    116   
                Some(0) => {
   70    117   
                    builder.instance_profile = Some(crate::types::InstanceProfile::deserialize(deser)?);
   71    118   
                }
   72    119   
                _ => {}
   73    120   
            }
   74    121   
            Ok(())
   75    122   
        })?;
   76    123   
        Ok(builder.build())
   77    124   
    }

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/create_login_profile.rs

@@ -1,1 +40,44 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Orchestration and serialization glue logic for `CreateLoginProfile`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct CreateLoginProfile;
    6      6   
impl CreateLoginProfile {
    7      7   
    /// Creates a new `CreateLoginProfile`
    8      8   
    pub fn new() -> Self {
    9      9   
        Self
   10     10   
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::create_login_profile::CreateLoginProfileInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::create_login_profile::CreateLoginProfileOutput::SCHEMA;
   11     15   
    pub(crate) async fn orchestrate(
   12     16   
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13     17   
        input: crate::operation::create_login_profile::CreateLoginProfileInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::create_login_profile::CreateLoginProfileOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::create_login_profile::CreateLoginProfileError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -115,119 +177,182 @@
  135    139   
                crate::operation::create_login_profile::CreateLoginProfileError,
  136    140   
            >::new());
  137    141   
  138    142   
        ::std::borrow::Cow::Owned(rcb)
  139    143   
    }
  140    144   
}
  141    145   
  142    146   
#[derive(Debug)]
  143    147   
struct CreateLoginProfileResponseDeserializer;
  144    148   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateLoginProfileResponseDeserializer {
  145         -
    fn deserialize_nonstreaming(
         149  +
    fn deserialize_nonstreaming_with_config(
  146    150   
        &self,
  147    151   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         152  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  148    153   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  149    154   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  150    155   
        let headers = response.headers();
  151    156   
        let body = response.body().bytes().expect("body loaded");
  152    157   
        #[allow(unused_mut)]
  153    158   
        let mut force_error = false;
  154    159   
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  155    160   
        let parse_result = if !success && status != 200 || force_error {
  156    161   
            crate::protocol_serde::shape_create_login_profile::de_create_login_profile_http_error(status, headers, body)
  157    162   
        } else {

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/create_login_profile/_create_login_profile_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/create_login_profile/_create_login_profile_output.rs

@@ -1,1 +97,144 @@
   19     19   
    "com.amazonaws.iam.synthetic",
   20     20   
    "CreateLoginProfileOutput",
   21     21   
);
   22     22   
static CREATELOGINPROFILEOUTPUT_MEMBER_LOGIN_PROFILE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   23     23   
    ::aws_smithy_schema::ShapeId::from_static(
   24     24   
        "com.amazonaws.iam.synthetic#CreateLoginProfileOutput$LoginProfile",
   25     25   
        "com.amazonaws.iam.synthetic",
   26     26   
        "CreateLoginProfileOutput",
   27     27   
    ),
   28     28   
    ::aws_smithy_schema::ShapeType::Structure,
   29         -
    "login_profile",
          29  +
    "LoginProfile",
   30     30   
    0,
   31     31   
);
          32  +
static CREATELOGINPROFILEOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
          33  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
          34  +
    ::aws_smithy_schema::ShapeType::String,
          35  +
    "request_id",
          36  +
    1,
          37  +
)
          38  +
.with_http_header("x-amzn-requestid");
   32     39   
static CREATELOGINPROFILEOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   33     40   
    CREATELOGINPROFILEOUTPUT_SCHEMA_ID,
   34     41   
    ::aws_smithy_schema::ShapeType::Structure,
   35         -
    &[&CREATELOGINPROFILEOUTPUT_MEMBER_LOGIN_PROFILE],
          42  +
    &[
          43  +
        &CREATELOGINPROFILEOUTPUT_MEMBER_LOGIN_PROFILE,
          44  +
        &CREATELOGINPROFILEOUTPUT_MEMBER__REQUEST_ID,
          45  +
    ],
   36     46   
);
   37     47   
impl CreateLoginProfileOutput {
   38     48   
    /// The schema for this shape.
   39     49   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATELOGINPROFILEOUTPUT_SCHEMA;
   40     50   
}
   41     51   
impl ::aws_smithy_schema::serde::SerializableStruct for CreateLoginProfileOutput {
   42     52   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   43     53   
    fn serialize_members(
   44     54   
        &self,
   45     55   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   46     56   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   47     57   
        if let Some(ref val) = self.login_profile {
   48     58   
            ser.write_struct(&CREATELOGINPROFILEOUTPUT_MEMBER_LOGIN_PROFILE, val)?;
   49     59   
        }
   50     60   
        Ok(())
   51     61   
    }
   52     62   
}
   53     63   
impl CreateLoginProfileOutput {
   54     64   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   55         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   56         -
        deserializer: &mut D,
          65  +
    pub fn deserialize(
          66  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   57     67   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   58     68   
        #[allow(unused_variables, unused_mut)]
   59     69   
        let mut builder = Self::builder();
   60     70   
        #[allow(
   61     71   
            unused_variables,
   62     72   
            unreachable_code,
   63     73   
            clippy::single_match,
   64     74   
            clippy::match_single_binding,
   65     75   
            clippy::diverging_sub_expression
   66     76   
        )]
   67         -
        deserializer.read_struct(&CREATELOGINPROFILEOUTPUT_SCHEMA, (), |_, member, deser| {
          77  +
        deserializer.read_struct(&CREATELOGINPROFILEOUTPUT_SCHEMA, &mut |member, deser| {
          78  +
            match member.member_index() {
          79  +
                Some(0) => {
          80  +
                    builder.login_profile = Some(crate::types::LoginProfile::deserialize(deser)?);
          81  +
                }
          82  +
                Some(1) => {
          83  +
                    builder._request_id = Some(deser.read_string(member)?);
          84  +
                }
          85  +
                _ => {}
          86  +
            }
          87  +
            Ok(())
          88  +
        })?;
          89  +
        Ok(builder.build())
          90  +
    }
          91  +
}
          92  +
impl CreateLoginProfileOutput {
          93  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
          94  +
    /// Header-bound members are read directly from headers, avoiding runtime
          95  +
    /// member iteration overhead. Body members are read via the deserializer.
          96  +
    pub fn deserialize_with_response(
          97  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          98  +
        headers: &::aws_smithy_runtime_api::http::Headers,
          99  +
        _status: u16,
         100  +
        _body: &[u8],
         101  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         102  +
        #[allow(unused_variables, unused_mut)]
         103  +
        let mut builder = Self::builder();
         104  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         105  +
            builder._request_id = Some(val.to_string());
         106  +
        }
         107  +
        #[allow(
         108  +
            unused_variables,
         109  +
            unreachable_code,
         110  +
            clippy::single_match,
         111  +
            clippy::match_single_binding,
         112  +
            clippy::diverging_sub_expression
         113  +
        )]
         114  +
        deserializer.read_struct(&CREATELOGINPROFILEOUTPUT_SCHEMA, &mut |member, deser| {
   68    115   
            match member.member_index() {
   69    116   
                Some(0) => {
   70    117   
                    builder.login_profile = Some(crate::types::LoginProfile::deserialize(deser)?);
   71    118   
                }
   72    119   
                _ => {}
   73    120   
            }
   74    121   
            Ok(())
   75    122   
        })?;
   76    123   
        Ok(builder.build())
   77    124   
    }

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/create_open_id_connect_provider.rs

@@ -1,1 +40,46 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Orchestration and serialization glue logic for `CreateOpenIDConnectProvider`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct CreateOpenIDConnectProvider;
    6      6   
impl CreateOpenIDConnectProvider {
    7      7   
    /// Creates a new `CreateOpenIDConnectProvider`
    8      8   
    pub fn new() -> Self {
    9      9   
        Self
   10     10   
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          13  +
        crate::operation::create_open_id_connect_provider::CreateOpenIdConnectProviderInput::SCHEMA;
          14  +
    /// The schema for this operation's output shape.
          15  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          16  +
        crate::operation::create_open_id_connect_provider::CreateOpenIdConnectProviderOutput::SCHEMA;
   11     17   
    pub(crate) async fn orchestrate(
   12     18   
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13     19   
        input: crate::operation::create_open_id_connect_provider::CreateOpenIdConnectProviderInput,
   14     20   
    ) -> ::std::result::Result<
   15     21   
        crate::operation::create_open_id_connect_provider::CreateOpenIdConnectProviderOutput,
   16     22   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     23   
            crate::operation::create_open_id_connect_provider::CreateOpenIDConnectProviderError,
   18     24   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     25   
        >,
   20     26   
    > {
@@ -118,124 +180,187 @@
  138    144   
                crate::operation::create_open_id_connect_provider::CreateOpenIDConnectProviderError,
  139    145   
            >::new());
  140    146   
  141    147   
        ::std::borrow::Cow::Owned(rcb)
  142    148   
    }
  143    149   
}
  144    150   
  145    151   
#[derive(Debug)]
  146    152   
struct CreateOpenIDConnectProviderResponseDeserializer;
  147    153   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateOpenIDConnectProviderResponseDeserializer {
  148         -
    fn deserialize_nonstreaming(
         154  +
    fn deserialize_nonstreaming_with_config(
  149    155   
        &self,
  150    156   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         157  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  151    158   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  152    159   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  153    160   
        let headers = response.headers();
  154    161   
        let body = response.body().bytes().expect("body loaded");
  155    162   
        #[allow(unused_mut)]
  156    163   
        let mut force_error = false;
  157    164   
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  158    165   
        let parse_result = if !success && status != 200 || force_error {
  159    166   
            crate::protocol_serde::shape_create_open_id_connect_provider::de_create_open_id_connect_provider_http_error(status, headers, body)
  160    167   
        } else {

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/create_open_id_connect_provider/_create_open_id_connect_provider_input.rs

@@ -39,39 +129,129 @@
   59     59   
    "com.amazonaws.iam.synthetic",
   60     60   
    "CreateOpenIDConnectProviderInput",
   61     61   
);
   62     62   
static CREATEOPENIDCONNECTPROVIDERINPUT_MEMBER_URL: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   63     63   
    ::aws_smithy_schema::ShapeId::from_static(
   64     64   
        "com.amazonaws.iam.synthetic#CreateOpenIDConnectProviderInput$Url",
   65     65   
        "com.amazonaws.iam.synthetic",
   66     66   
        "CreateOpenIDConnectProviderInput",
   67     67   
    ),
   68     68   
    ::aws_smithy_schema::ShapeType::String,
   69         -
    "url",
          69  +
    "Url",
   70     70   
    0,
   71     71   
);
   72     72   
static CREATEOPENIDCONNECTPROVIDERINPUT_MEMBER_CLIENT_ID_LIST: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   73     73   
    ::aws_smithy_schema::ShapeId::from_static(
   74     74   
        "com.amazonaws.iam.synthetic#CreateOpenIDConnectProviderInput$ClientIDList",
   75     75   
        "com.amazonaws.iam.synthetic",
   76     76   
        "CreateOpenIDConnectProviderInput",
   77     77   
    ),
   78     78   
    ::aws_smithy_schema::ShapeType::List,
   79         -
    "client_id_list",
          79  +
    "ClientIDList",
   80     80   
    1,
   81     81   
);
   82     82   
static CREATEOPENIDCONNECTPROVIDERINPUT_MEMBER_THUMBPRINT_LIST: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   83     83   
    ::aws_smithy_schema::ShapeId::from_static(
   84     84   
        "com.amazonaws.iam.synthetic#CreateOpenIDConnectProviderInput$ThumbprintList",
   85     85   
        "com.amazonaws.iam.synthetic",
   86     86   
        "CreateOpenIDConnectProviderInput",
   87     87   
    ),
   88     88   
    ::aws_smithy_schema::ShapeType::List,
   89         -
    "thumbprint_list",
          89  +
    "ThumbprintList",
   90     90   
    2,
   91     91   
);
   92     92   
static CREATEOPENIDCONNECTPROVIDERINPUT_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   93     93   
    ::aws_smithy_schema::ShapeId::from_static(
   94     94   
        "com.amazonaws.iam.synthetic#CreateOpenIDConnectProviderInput$Tags",
   95     95   
        "com.amazonaws.iam.synthetic",
   96     96   
        "CreateOpenIDConnectProviderInput",
   97     97   
    ),
   98     98   
    ::aws_smithy_schema::ShapeType::List,
   99         -
    "tags",
          99  +
    "Tags",
  100    100   
    3,
  101    101   
);
  102    102   
static CREATEOPENIDCONNECTPROVIDERINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  103    103   
    CREATEOPENIDCONNECTPROVIDERINPUT_SCHEMA_ID,
  104    104   
    ::aws_smithy_schema::ShapeType::Structure,
  105    105   
    &[
  106    106   
        &CREATEOPENIDCONNECTPROVIDERINPUT_MEMBER_URL,
  107    107   
        &CREATEOPENIDCONNECTPROVIDERINPUT_MEMBER_CLIENT_ID_LIST,
  108    108   
        &CREATEOPENIDCONNECTPROVIDERINPUT_MEMBER_THUMBPRINT_LIST,
  109    109   
        &CREATEOPENIDCONNECTPROVIDERINPUT_MEMBER_TAGS,
@@ -133,133 +257,246 @@
  153    153   
                    }
  154    154   
                    Ok(())
  155    155   
                },
  156    156   
            )?;
  157    157   
        }
  158    158   
        Ok(())
  159    159   
    }
  160    160   
}
  161    161   
impl CreateOpenIdConnectProviderInput {
  162    162   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  163         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  164         -
        deserializer: &mut D,
         163  +
    pub fn deserialize(
         164  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  165    165   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  166    166   
        #[allow(unused_variables, unused_mut)]
  167    167   
        let mut builder = Self::builder();
  168    168   
        #[allow(
  169    169   
            unused_variables,
  170    170   
            unreachable_code,
  171    171   
            clippy::single_match,
  172    172   
            clippy::match_single_binding,
  173    173   
            clippy::diverging_sub_expression
  174    174   
        )]
  175         -
        deserializer.read_struct(&CREATEOPENIDCONNECTPROVIDERINPUT_SCHEMA, (), |_, member, deser| {
         175  +
        deserializer.read_struct(&CREATEOPENIDCONNECTPROVIDERINPUT_SCHEMA, &mut |member, deser| {
  176    176   
            match member.member_index() {
  177    177   
                Some(0) => {
  178    178   
                    builder.url = Some(deser.read_string(member)?);
  179    179   
                }
  180    180   
                Some(1) => {
  181         -
                    builder.client_id_list = Some({
  182         -
                        let container = if let Some(cap) = deser.container_size() {
  183         -
                            Vec::with_capacity(cap)
  184         -
                        } else {
  185         -
                            Vec::new()
  186         -
                        };
  187         -
                        deser.read_list(member, container, |mut list, deser| {
  188         -
                            list.push(deser.read_string(member)?);
  189         -
                            Ok(list)
  190         -
                        })?
  191         -
                    });
         181  +
                    builder.client_id_list = Some(deser.read_string_list(member)?);
  192    182   
                }
  193    183   
                Some(2) => {
  194         -
                    builder.thumbprint_list = Some({
  195         -
                        let container = if let Some(cap) = deser.container_size() {
  196         -
                            Vec::with_capacity(cap)
  197         -
                        } else {
  198         -
                            Vec::new()
  199         -
                        };
  200         -
                        deser.read_list(member, container, |mut list, deser| {
  201         -
                            list.push(deser.read_string(member)?);
  202         -
                            Ok(list)
  203         -
                        })?
  204         -
                    });
         184  +
                    builder.thumbprint_list = Some(deser.read_string_list(member)?);
  205    185   
                }
  206    186   
                Some(3) => {
  207    187   
                    builder.tags = Some({
  208         -
                        let container = if let Some(cap) = deser.container_size() {
  209         -
                            Vec::with_capacity(cap)
  210         -
                        } else {
  211         -
                            Vec::new()
  212         -
                        };
  213         -
                        deser.read_list(member, container, |mut list, deser| {
  214         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  215         -
                            Ok(list)
  216         -
                        })?
         188  +
                        let mut container = Vec::new();
         189  +
                        deser.read_list(member, &mut |deser| {
         190  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         191  +
                            Ok(())
         192  +
                        })?;
         193  +
                        container
  217    194   
                    });
  218    195   
                }
  219    196   
                _ => {}
  220    197   
            }
  221    198   
            Ok(())
  222    199   
        })?;
         200  +
        builder.url = builder.url.or(Some(String::new()));
  223    201   
        builder
  224    202   
            .build()
  225    203   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  226    204   
    }
  227    205   
}
         206  +
impl CreateOpenIdConnectProviderInput {
         207  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         208  +
    pub fn deserialize_with_response(
         209  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         210  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         211  +
        _status: u16,
         212  +
        _body: &[u8],
         213  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         214  +
        Self::deserialize(deserializer)
         215  +
    }
         216  +
}
  228    217   
impl CreateOpenIdConnectProviderInput {
  229    218   
    /// Creates a new builder-style object to manufacture [`CreateOpenIdConnectProviderInput`](crate::operation::create_open_id_connect_provider::CreateOpenIdConnectProviderInput).
  230    219   
    pub fn builder() -> crate::operation::create_open_id_connect_provider::builders::CreateOpenIdConnectProviderInputBuilder {
  231    220   
        crate::operation::create_open_id_connect_provider::builders::CreateOpenIdConnectProviderInputBuilder::default()
  232    221   
    }
  233    222   
}
  234    223   
  235    224   
/// A builder for [`CreateOpenIdConnectProviderInput`](crate::operation::create_open_id_connect_provider::CreateOpenIdConnectProviderInput).
  236    225   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  237    226   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/create_open_id_connect_provider/_create_open_id_connect_provider_output.rs

@@ -7,7 +144,196 @@
   27     27   
    "com.amazonaws.iam.synthetic",
   28     28   
    "CreateOpenIDConnectProviderOutput",
   29     29   
);
   30     30   
static CREATEOPENIDCONNECTPROVIDEROUTPUT_MEMBER_OPEN_ID_CONNECT_PROVIDER_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   31     31   
    ::aws_smithy_schema::ShapeId::from_static(
   32     32   
        "com.amazonaws.iam.synthetic#CreateOpenIDConnectProviderOutput$OpenIDConnectProviderArn",
   33     33   
        "com.amazonaws.iam.synthetic",
   34     34   
        "CreateOpenIDConnectProviderOutput",
   35     35   
    ),
   36     36   
    ::aws_smithy_schema::ShapeType::String,
   37         -
    "open_id_connect_provider_arn",
          37  +
    "OpenIDConnectProviderArn",
   38     38   
    0,
   39     39   
);
   40     40   
static CREATEOPENIDCONNECTPROVIDEROUTPUT_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   41     41   
    ::aws_smithy_schema::ShapeId::from_static(
   42     42   
        "com.amazonaws.iam.synthetic#CreateOpenIDConnectProviderOutput$Tags",
   43     43   
        "com.amazonaws.iam.synthetic",
   44     44   
        "CreateOpenIDConnectProviderOutput",
   45     45   
    ),
   46     46   
    ::aws_smithy_schema::ShapeType::List,
   47         -
    "tags",
          47  +
    "Tags",
   48     48   
    1,
   49     49   
);
          50  +
static CREATEOPENIDCONNECTPROVIDEROUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
          51  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
          52  +
    ::aws_smithy_schema::ShapeType::String,
          53  +
    "request_id",
          54  +
    2,
          55  +
)
          56  +
.with_http_header("x-amzn-requestid");
   50     57   
static CREATEOPENIDCONNECTPROVIDEROUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   51     58   
    CREATEOPENIDCONNECTPROVIDEROUTPUT_SCHEMA_ID,
   52     59   
    ::aws_smithy_schema::ShapeType::Structure,
   53     60   
    &[
   54     61   
        &CREATEOPENIDCONNECTPROVIDEROUTPUT_MEMBER_OPEN_ID_CONNECT_PROVIDER_ARN,
   55     62   
        &CREATEOPENIDCONNECTPROVIDEROUTPUT_MEMBER_TAGS,
          63  +
        &CREATEOPENIDCONNECTPROVIDEROUTPUT_MEMBER__REQUEST_ID,
   56     64   
    ],
   57     65   
);
   58     66   
impl CreateOpenIdConnectProviderOutput {
   59     67   
    /// The schema for this shape.
   60     68   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATEOPENIDCONNECTPROVIDEROUTPUT_SCHEMA;
   61     69   
}
   62     70   
impl ::aws_smithy_schema::serde::SerializableStruct for CreateOpenIdConnectProviderOutput {
   63     71   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   64     72   
    fn serialize_members(
   65     73   
        &self,
   66     74   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   67     75   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   68     76   
        if let Some(ref val) = self.open_id_connect_provider_arn {
   69     77   
            ser.write_string(&CREATEOPENIDCONNECTPROVIDEROUTPUT_MEMBER_OPEN_ID_CONNECT_PROVIDER_ARN, val)?;
   70     78   
        }
   71     79   
        if let Some(ref val) = self.tags {
   72     80   
            ser.write_list(
   73     81   
                &CREATEOPENIDCONNECTPROVIDEROUTPUT_MEMBER_TAGS,
   74     82   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   75     83   
                    for item in val {
   76     84   
                        ser.write_struct(crate::types::Tag::SCHEMA, item)?;
   77     85   
                    }
   78     86   
                    Ok(())
   79     87   
                },
   80     88   
            )?;
   81     89   
        }
   82     90   
        Ok(())
   83     91   
    }
   84     92   
}
   85     93   
impl CreateOpenIdConnectProviderOutput {
   86     94   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   87         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   88         -
        deserializer: &mut D,
          95  +
    pub fn deserialize(
          96  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   89     97   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   90     98   
        #[allow(unused_variables, unused_mut)]
   91     99   
        let mut builder = Self::builder();
   92    100   
        #[allow(
   93    101   
            unused_variables,
   94    102   
            unreachable_code,
   95    103   
            clippy::single_match,
   96    104   
            clippy::match_single_binding,
   97    105   
            clippy::diverging_sub_expression
   98    106   
        )]
   99         -
        deserializer.read_struct(&CREATEOPENIDCONNECTPROVIDEROUTPUT_SCHEMA, (), |_, member, deser| {
         107  +
        deserializer.read_struct(&CREATEOPENIDCONNECTPROVIDEROUTPUT_SCHEMA, &mut |member, deser| {
         108  +
            match member.member_index() {
         109  +
                Some(0) => {
         110  +
                    builder.open_id_connect_provider_arn = Some(deser.read_string(member)?);
         111  +
                }
         112  +
                Some(1) => {
         113  +
                    builder.tags = Some({
         114  +
                        let mut container = Vec::new();
         115  +
                        deser.read_list(member, &mut |deser| {
         116  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         117  +
                            Ok(())
         118  +
                        })?;
         119  +
                        container
         120  +
                    });
         121  +
                }
         122  +
                Some(2) => {
         123  +
                    builder._request_id = Some(deser.read_string(member)?);
         124  +
                }
         125  +
                _ => {}
         126  +
            }
         127  +
            Ok(())
         128  +
        })?;
         129  +
        Ok(builder.build())
         130  +
    }
         131  +
}
         132  +
impl CreateOpenIdConnectProviderOutput {
         133  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         134  +
    /// Header-bound members are read directly from headers, avoiding runtime
         135  +
    /// member iteration overhead. Body members are read via the deserializer.
         136  +
    pub fn deserialize_with_response(
         137  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         138  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         139  +
        _status: u16,
         140  +
        _body: &[u8],
         141  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         142  +
        #[allow(unused_variables, unused_mut)]
         143  +
        let mut builder = Self::builder();
         144  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         145  +
            builder._request_id = Some(val.to_string());
         146  +
        }
         147  +
        #[allow(
         148  +
            unused_variables,
         149  +
            unreachable_code,
         150  +
            clippy::single_match,
         151  +
            clippy::match_single_binding,
         152  +
            clippy::diverging_sub_expression
         153  +
        )]
         154  +
        deserializer.read_struct(&CREATEOPENIDCONNECTPROVIDEROUTPUT_SCHEMA, &mut |member, deser| {
  100    155   
            match member.member_index() {
  101    156   
                Some(0) => {
  102    157   
                    builder.open_id_connect_provider_arn = Some(deser.read_string(member)?);
  103    158   
                }
  104    159   
                Some(1) => {
  105    160   
                    builder.tags = Some({
  106         -
                        let container = if let Some(cap) = deser.container_size() {
  107         -
                            Vec::with_capacity(cap)
  108         -
                        } else {
  109         -
                            Vec::new()
  110         -
                        };
  111         -
                        deser.read_list(member, container, |mut list, deser| {
  112         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  113         -
                            Ok(list)
  114         -
                        })?
         161  +
                        let mut container = Vec::new();
         162  +
                        deser.read_list(member, &mut |deser| {
         163  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         164  +
                            Ok(())
         165  +
                        })?;
         166  +
                        container
  115    167   
                    });
  116    168   
                }
  117    169   
                _ => {}
  118    170   
            }
  119    171   
            Ok(())
  120    172   
        })?;
  121    173   
        Ok(builder.build())
  122    174   
    }
  123    175   
}
  124    176   
impl ::aws_types::request_id::RequestId for CreateOpenIdConnectProviderOutput {

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/create_policy.rs

@@ -1,1 +40,44 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Orchestration and serialization glue logic for `CreatePolicy`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct CreatePolicy;
    6      6   
impl CreatePolicy {
    7      7   
    /// Creates a new `CreatePolicy`
    8      8   
    pub fn new() -> Self {
    9      9   
        Self
   10     10   
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::create_policy::CreatePolicyInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::create_policy::CreatePolicyOutput::SCHEMA;
   11     15   
    pub(crate) async fn orchestrate(
   12     16   
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13     17   
        input: crate::operation::create_policy::CreatePolicyInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::create_policy::CreatePolicyOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::create_policy::CreatePolicyError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -115,119 +177,182 @@
  135    139   
                crate::operation::create_policy::CreatePolicyError,
  136    140   
            >::new());
  137    141   
  138    142   
        ::std::borrow::Cow::Owned(rcb)
  139    143   
    }
  140    144   
}
  141    145   
  142    146   
#[derive(Debug)]
  143    147   
struct CreatePolicyResponseDeserializer;
  144    148   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreatePolicyResponseDeserializer {
  145         -
    fn deserialize_nonstreaming(
         149  +
    fn deserialize_nonstreaming_with_config(
  146    150   
        &self,
  147    151   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         152  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  148    153   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  149    154   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  150    155   
        let headers = response.headers();
  151    156   
        let body = response.body().bytes().expect("body loaded");
  152    157   
        #[allow(unused_mut)]
  153    158   
        let mut force_error = false;
  154    159   
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  155    160   
        let parse_result = if !success && status != 200 || force_error {
  156    161   
            crate::protocol_serde::shape_create_policy::de_create_policy_http_error(status, headers, body)
  157    162   
        } else {

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/create_policy/_create_policy_input.rs

@@ -67,67 +266,276 @@
   87     87   
    "com.amazonaws.iam.synthetic",
   88     88   
    "CreatePolicyInput",
   89     89   
);
   90     90   
static CREATEPOLICYINPUT_MEMBER_POLICY_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   91     91   
    ::aws_smithy_schema::ShapeId::from_static(
   92     92   
        "com.amazonaws.iam.synthetic#CreatePolicyInput$PolicyName",
   93     93   
        "com.amazonaws.iam.synthetic",
   94     94   
        "CreatePolicyInput",
   95     95   
    ),
   96     96   
    ::aws_smithy_schema::ShapeType::String,
   97         -
    "policy_name",
          97  +
    "PolicyName",
   98     98   
    0,
   99     99   
);
  100    100   
static CREATEPOLICYINPUT_MEMBER_PATH: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  101    101   
    ::aws_smithy_schema::ShapeId::from_static(
  102    102   
        "com.amazonaws.iam.synthetic#CreatePolicyInput$Path",
  103    103   
        "com.amazonaws.iam.synthetic",
  104    104   
        "CreatePolicyInput",
  105    105   
    ),
  106    106   
    ::aws_smithy_schema::ShapeType::String,
  107         -
    "path",
         107  +
    "Path",
  108    108   
    1,
  109    109   
);
  110    110   
static CREATEPOLICYINPUT_MEMBER_POLICY_DOCUMENT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  111    111   
    ::aws_smithy_schema::ShapeId::from_static(
  112    112   
        "com.amazonaws.iam.synthetic#CreatePolicyInput$PolicyDocument",
  113    113   
        "com.amazonaws.iam.synthetic",
  114    114   
        "CreatePolicyInput",
  115    115   
    ),
  116    116   
    ::aws_smithy_schema::ShapeType::String,
  117         -
    "policy_document",
         117  +
    "PolicyDocument",
  118    118   
    2,
  119    119   
);
  120    120   
static CREATEPOLICYINPUT_MEMBER_DESCRIPTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  121    121   
    ::aws_smithy_schema::ShapeId::from_static(
  122    122   
        "com.amazonaws.iam.synthetic#CreatePolicyInput$Description",
  123    123   
        "com.amazonaws.iam.synthetic",
  124    124   
        "CreatePolicyInput",
  125    125   
    ),
  126    126   
    ::aws_smithy_schema::ShapeType::String,
  127         -
    "description",
         127  +
    "Description",
  128    128   
    3,
  129    129   
);
  130    130   
static CREATEPOLICYINPUT_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  131    131   
    ::aws_smithy_schema::ShapeId::from_static(
  132    132   
        "com.amazonaws.iam.synthetic#CreatePolicyInput$Tags",
  133    133   
        "com.amazonaws.iam.synthetic",
  134    134   
        "CreatePolicyInput",
  135    135   
    ),
  136    136   
    ::aws_smithy_schema::ShapeType::List,
  137         -
    "tags",
         137  +
    "Tags",
  138    138   
    4,
  139    139   
);
  140    140   
static CREATEPOLICYINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  141    141   
    CREATEPOLICYINPUT_SCHEMA_ID,
  142    142   
    ::aws_smithy_schema::ShapeType::Structure,
  143    143   
    &[
  144    144   
        &CREATEPOLICYINPUT_MEMBER_POLICY_NAME,
  145    145   
        &CREATEPOLICYINPUT_MEMBER_PATH,
  146    146   
        &CREATEPOLICYINPUT_MEMBER_POLICY_DOCUMENT,
  147    147   
        &CREATEPOLICYINPUT_MEMBER_DESCRIPTION,
  148    148   
        &CREATEPOLICYINPUT_MEMBER_TAGS,
  149    149   
    ],
  150    150   
);
  151    151   
impl CreatePolicyInput {
  152    152   
    /// The schema for this shape.
  153    153   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATEPOLICYINPUT_SCHEMA;
  154    154   
}
  155    155   
impl ::aws_smithy_schema::serde::SerializableStruct for CreatePolicyInput {
  156    156   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  157    157   
    fn serialize_members(
  158    158   
        &self,
  159    159   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  160    160   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  161    161   
        if let Some(ref val) = self.policy_name {
  162    162   
            ser.write_string(&CREATEPOLICYINPUT_MEMBER_POLICY_NAME, val)?;
  163    163   
        }
  164    164   
        if let Some(ref val) = self.path {
  165    165   
            ser.write_string(&CREATEPOLICYINPUT_MEMBER_PATH, val)?;
  166    166   
        }
  167    167   
        if let Some(ref val) = self.policy_document {
  168    168   
            ser.write_string(&CREATEPOLICYINPUT_MEMBER_POLICY_DOCUMENT, val)?;
  169    169   
        }
  170    170   
        if let Some(ref val) = self.description {
  171    171   
            ser.write_string(&CREATEPOLICYINPUT_MEMBER_DESCRIPTION, val)?;
  172    172   
        }
  173    173   
        if let Some(ref val) = self.tags {
  174    174   
            ser.write_list(
  175    175   
                &CREATEPOLICYINPUT_MEMBER_TAGS,
  176    176   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  177    177   
                    for item in val {
  178    178   
                        ser.write_struct(crate::types::Tag::SCHEMA, item)?;
  179    179   
                    }
  180    180   
                    Ok(())
  181    181   
                },
  182    182   
            )?;
  183    183   
        }
  184    184   
        Ok(())
  185    185   
    }
  186    186   
}
  187    187   
impl CreatePolicyInput {
  188    188   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  189         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  190         -
        deserializer: &mut D,
         189  +
    pub fn deserialize(
         190  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  191    191   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  192    192   
        #[allow(unused_variables, unused_mut)]
  193    193   
        let mut builder = Self::builder();
  194    194   
        #[allow(
  195    195   
            unused_variables,
  196    196   
            unreachable_code,
  197    197   
            clippy::single_match,
  198    198   
            clippy::match_single_binding,
  199    199   
            clippy::diverging_sub_expression
  200    200   
        )]
  201         -
        deserializer.read_struct(&CREATEPOLICYINPUT_SCHEMA, (), |_, member, deser| {
         201  +
        deserializer.read_struct(&CREATEPOLICYINPUT_SCHEMA, &mut |member, deser| {
  202    202   
            match member.member_index() {
  203    203   
                Some(0) => {
  204    204   
                    builder.policy_name = Some(deser.read_string(member)?);
  205    205   
                }
  206    206   
                Some(1) => {
  207    207   
                    builder.path = Some(deser.read_string(member)?);
  208    208   
                }
  209    209   
                Some(2) => {
  210    210   
                    builder.policy_document = Some(deser.read_string(member)?);
  211    211   
                }
  212    212   
                Some(3) => {
  213    213   
                    builder.description = Some(deser.read_string(member)?);
  214    214   
                }
  215    215   
                Some(4) => {
  216    216   
                    builder.tags = Some({
  217         -
                        let container = if let Some(cap) = deser.container_size() {
  218         -
                            Vec::with_capacity(cap)
  219         -
                        } else {
  220         -
                            Vec::new()
  221         -
                        };
  222         -
                        deser.read_list(member, container, |mut list, deser| {
  223         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  224         -
                            Ok(list)
  225         -
                        })?
         217  +
                        let mut container = Vec::new();
         218  +
                        deser.read_list(member, &mut |deser| {
         219  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         220  +
                            Ok(())
         221  +
                        })?;
         222  +
                        container
  226    223   
                    });
  227    224   
                }
  228    225   
                _ => {}
  229    226   
            }
  230    227   
            Ok(())
  231    228   
        })?;
         229  +
        builder.policy_name = builder.policy_name.or(Some(String::new()));
         230  +
        builder.policy_document = builder.policy_document.or(Some(String::new()));
  232    231   
        builder
  233    232   
            .build()
  234    233   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  235    234   
    }
  236    235   
}
         236  +
impl CreatePolicyInput {
         237  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         238  +
    pub fn deserialize_with_response(
         239  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         240  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         241  +
        _status: u16,
         242  +
        _body: &[u8],
         243  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         244  +
        Self::deserialize(deserializer)
         245  +
    }
         246  +
}
  237    247   
impl CreatePolicyInput {
  238    248   
    /// Creates a new builder-style object to manufacture [`CreatePolicyInput`](crate::operation::create_policy::CreatePolicyInput).
  239    249   
    pub fn builder() -> crate::operation::create_policy::builders::CreatePolicyInputBuilder {
  240    250   
        crate::operation::create_policy::builders::CreatePolicyInputBuilder::default()
  241    251   
    }
  242    252   
}
  243    253   
  244    254   
/// A builder for [`CreatePolicyInput`](crate::operation::create_policy::CreatePolicyInput).
  245    255   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  246    256   
#[non_exhaustive]