AWS SDK

AWS SDK

rev. 96f5a1b4ad139d2f1ad1e8e40f300e1cd1ff574c

Files changed:

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

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

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/get_credential_report.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 `GetCredentialReport`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct GetCredentialReport;
    6      6   
impl GetCredentialReport {
    7      7   
    /// Creates a new `GetCredentialReport`
    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::get_credential_report::GetCredentialReportInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::get_credential_report::GetCredentialReportOutput::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::get_credential_report::GetCredentialReportInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::get_credential_report::GetCredentialReportOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::get_credential_report::GetCredentialReportError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -118,122 +180,185 @@
  138    142   
                crate::operation::get_credential_report::GetCredentialReportError,
  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 GetCredentialReportResponseDeserializer;
  147    151   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for GetCredentialReportResponseDeserializer {
  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_get_credential_report::de_get_credential_report_http_error(status, headers, body)
  160    165   
        } else {

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

@@ -1,1 +70,83 @@
   18     18   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   19     19   
    fn serialize_members(
   20     20   
        &self,
   21     21   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   22     22   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   23     23   
        Ok(())
   24     24   
    }
   25     25   
}
   26     26   
impl GetCredentialReportInput {
   27     27   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   28         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   29         -
        deserializer: &mut D,
          28  +
    pub fn deserialize(
          29  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   30     30   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   31     31   
        #[allow(unused_variables, unused_mut)]
   32     32   
        let mut builder = Self::builder();
   33     33   
        #[allow(
   34     34   
            unused_variables,
   35     35   
            unreachable_code,
   36     36   
            clippy::single_match,
   37     37   
            clippy::match_single_binding,
   38     38   
            clippy::diverging_sub_expression
   39     39   
        )]
   40         -
        deserializer.read_struct(&GETCREDENTIALREPORTINPUT_SCHEMA, (), |_, member, deser| {
          40  +
        deserializer.read_struct(&GETCREDENTIALREPORTINPUT_SCHEMA, &mut |member, deser| {
   41     41   
            match member.member_index() {
   42     42   
                _ => {}
   43     43   
            }
   44     44   
            Ok(())
   45     45   
        })?;
   46     46   
        builder
   47     47   
            .build()
   48     48   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
   49     49   
    }
   50     50   
}
          51  +
impl GetCredentialReportInput {
          52  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          53  +
    pub fn deserialize_with_response(
          54  +
        _deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          55  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          56  +
        _status: u16,
          57  +
        _body: &[u8],
          58  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          59  +
        Self::builder()
          60  +
            .build()
          61  +
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
          62  +
    }
          63  +
}
   51     64   
impl GetCredentialReportInput {
   52     65   
    /// Creates a new builder-style object to manufacture [`GetCredentialReportInput`](crate::operation::get_credential_report::GetCredentialReportInput).
   53     66   
    pub fn builder() -> crate::operation::get_credential_report::builders::GetCredentialReportInputBuilder {
   54     67   
        crate::operation::get_credential_report::builders::GetCredentialReportInputBuilder::default()
   55     68   
    }
   56     69   
}
   57     70   
   58     71   
/// A builder for [`GetCredentialReportInput`](crate::operation::get_credential_report::GetCredentialReportInput).
   59     72   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   60     73   
#[non_exhaustive]

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

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

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/get_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 `GetGroup`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct GetGroup;
    6      6   
impl GetGroup {
    7      7   
    /// Creates a new `GetGroup`
    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::get_group::GetGroupInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::get_group::GetGroupOutput::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::get_group::GetGroupInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::get_group::GetGroupOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::get_group::GetGroupError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -111,115 +173,178 @@
  131    135   
                crate::operation::get_group::GetGroupError,
  132    136   
            >::new());
  133    137   
  134    138   
        ::std::borrow::Cow::Owned(rcb)
  135    139   
    }
  136    140   
}
  137    141   
  138    142   
#[derive(Debug)]
  139    143   
struct GetGroupResponseDeserializer;
  140    144   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for GetGroupResponseDeserializer {
  141         -
    fn deserialize_nonstreaming(
         145  +
    fn deserialize_nonstreaming_with_config(
  142    146   
        &self,
  143    147   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         148  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  144    149   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  145    150   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  146    151   
        let headers = response.headers();
  147    152   
        let body = response.body().bytes().expect("body loaded");
  148    153   
        #[allow(unused_mut)]
  149    154   
        let mut force_error = false;
  150    155   
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  151    156   
        let parse_result = if !success && status != 200 || force_error {
  152    157   
            crate::protocol_serde::shape_get_group::de_get_group_http_error(status, headers, body)
  153    158   
        } else {

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

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

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

@@ -18,18 +186,247 @@
   38     38   
    "com.amazonaws.iam.synthetic",
   39     39   
    "GetGroupOutput",
   40     40   
);
   41     41   
static GETGROUPOUTPUT_MEMBER_GROUP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   42     42   
    ::aws_smithy_schema::ShapeId::from_static(
   43     43   
        "com.amazonaws.iam.synthetic#GetGroupOutput$Group",
   44     44   
        "com.amazonaws.iam.synthetic",
   45     45   
        "GetGroupOutput",
   46     46   
    ),
   47     47   
    ::aws_smithy_schema::ShapeType::Structure,
   48         -
    "group",
          48  +
    "Group",
   49     49   
    0,
   50     50   
);
   51     51   
static GETGROUPOUTPUT_MEMBER_USERS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   52     52   
    ::aws_smithy_schema::ShapeId::from_static(
   53     53   
        "com.amazonaws.iam.synthetic#GetGroupOutput$Users",
   54     54   
        "com.amazonaws.iam.synthetic",
   55     55   
        "GetGroupOutput",
   56     56   
    ),
   57     57   
    ::aws_smithy_schema::ShapeType::List,
   58         -
    "users",
          58  +
    "Users",
   59     59   
    1,
   60     60   
);
   61     61   
static GETGROUPOUTPUT_MEMBER_IS_TRUNCATED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   62     62   
    ::aws_smithy_schema::ShapeId::from_static(
   63     63   
        "com.amazonaws.iam.synthetic#GetGroupOutput$IsTruncated",
   64     64   
        "com.amazonaws.iam.synthetic",
   65     65   
        "GetGroupOutput",
   66     66   
    ),
   67     67   
    ::aws_smithy_schema::ShapeType::Boolean,
   68         -
    "is_truncated",
          68  +
    "IsTruncated",
   69     69   
    2,
   70     70   
);
   71     71   
static GETGROUPOUTPUT_MEMBER_MARKER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   72     72   
    ::aws_smithy_schema::ShapeId::from_static(
   73     73   
        "com.amazonaws.iam.synthetic#GetGroupOutput$Marker",
   74     74   
        "com.amazonaws.iam.synthetic",
   75     75   
        "GetGroupOutput",
   76     76   
    ),
   77     77   
    ::aws_smithy_schema::ShapeType::String,
   78         -
    "marker",
          78  +
    "Marker",
   79     79   
    3,
   80     80   
);
          81  +
static GETGROUPOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
          82  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
          83  +
    ::aws_smithy_schema::ShapeType::String,
          84  +
    "request_id",
          85  +
    4,
          86  +
)
          87  +
.with_http_header("x-amzn-requestid");
   81     88   
static GETGROUPOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   82     89   
    GETGROUPOUTPUT_SCHEMA_ID,
   83     90   
    ::aws_smithy_schema::ShapeType::Structure,
   84     91   
    &[
   85     92   
        &GETGROUPOUTPUT_MEMBER_GROUP,
   86     93   
        &GETGROUPOUTPUT_MEMBER_USERS,
   87     94   
        &GETGROUPOUTPUT_MEMBER_IS_TRUNCATED,
   88     95   
        &GETGROUPOUTPUT_MEMBER_MARKER,
          96  +
        &GETGROUPOUTPUT_MEMBER__REQUEST_ID,
   89     97   
    ],
   90     98   
);
   91     99   
impl GetGroupOutput {
   92    100   
    /// The schema for this shape.
   93    101   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GETGROUPOUTPUT_SCHEMA;
   94    102   
}
   95    103   
impl ::aws_smithy_schema::serde::SerializableStruct for GetGroupOutput {
   96    104   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   97    105   
    fn serialize_members(
   98    106   
        &self,
   99    107   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  100    108   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  101    109   
        if let Some(ref val) = self.group {
  102    110   
            ser.write_struct(&GETGROUPOUTPUT_MEMBER_GROUP, val)?;
  103    111   
        }
  104    112   
        {
  105    113   
            let val = &self.users;
  106    114   
  107    115   
            ser.write_list(
  108    116   
                &GETGROUPOUTPUT_MEMBER_USERS,
  109    117   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  110    118   
                    for item in val {
  111    119   
                        ser.write_struct(crate::types::User::SCHEMA, item)?;
  112    120   
                    }
  113    121   
                    Ok(())
  114    122   
                },
  115    123   
            )?;
  116    124   
        }
  117    125   
        {
  118    126   
            let val = &self.is_truncated;
  119    127   
            ser.write_boolean(&GETGROUPOUTPUT_MEMBER_IS_TRUNCATED, *val)?;
  120    128   
        }
  121    129   
        if let Some(ref val) = self.marker {
  122    130   
            ser.write_string(&GETGROUPOUTPUT_MEMBER_MARKER, val)?;
  123    131   
        }
  124    132   
        Ok(())
  125    133   
    }
  126    134   
}
  127    135   
impl GetGroupOutput {
  128    136   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  129         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  130         -
        deserializer: &mut D,
         137  +
    pub fn deserialize(
         138  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  131    139   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  132    140   
        #[allow(unused_variables, unused_mut)]
  133    141   
        let mut builder = Self::builder();
  134    142   
        #[allow(
  135    143   
            unused_variables,
  136    144   
            unreachable_code,
  137    145   
            clippy::single_match,
  138    146   
            clippy::match_single_binding,
  139    147   
            clippy::diverging_sub_expression
  140    148   
        )]
  141         -
        deserializer.read_struct(&GETGROUPOUTPUT_SCHEMA, (), |_, member, deser| {
         149  +
        deserializer.read_struct(&GETGROUPOUTPUT_SCHEMA, &mut |member, deser| {
         150  +
            match member.member_index() {
         151  +
                Some(0) => {
         152  +
                    builder.group = Some(crate::types::Group::deserialize(deser)?);
         153  +
                }
         154  +
                Some(1) => {
         155  +
                    builder.users = Some({
         156  +
                        let mut container = Vec::new();
         157  +
                        deser.read_list(member, &mut |deser| {
         158  +
                            container.push(crate::types::User::deserialize(deser)?);
         159  +
                            Ok(())
         160  +
                        })?;
         161  +
                        container
         162  +
                    });
         163  +
                }
         164  +
                Some(2) => {
         165  +
                    builder.is_truncated = Some(deser.read_boolean(member)?);
         166  +
                }
         167  +
                Some(3) => {
         168  +
                    builder.marker = Some(deser.read_string(member)?);
         169  +
                }
         170  +
                Some(4) => {
         171  +
                    builder._request_id = Some(deser.read_string(member)?);
         172  +
                }
         173  +
                _ => {}
         174  +
            }
         175  +
            Ok(())
         176  +
        })?;
         177  +
        builder.users = builder.users.or(Some(Vec::new()));
         178  +
        builder
         179  +
            .build()
         180  +
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
         181  +
    }
         182  +
}
         183  +
impl GetGroupOutput {
         184  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         185  +
    /// Header-bound members are read directly from headers, avoiding runtime
         186  +
    /// member iteration overhead. Body members are read via the deserializer.
         187  +
    pub fn deserialize_with_response(
         188  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         189  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         190  +
        _status: u16,
         191  +
        _body: &[u8],
         192  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         193  +
        #[allow(unused_variables, unused_mut)]
         194  +
        let mut builder = Self::builder();
         195  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         196  +
            builder._request_id = Some(val.to_string());
         197  +
        }
         198  +
        #[allow(
         199  +
            unused_variables,
         200  +
            unreachable_code,
         201  +
            clippy::single_match,
         202  +
            clippy::match_single_binding,
         203  +
            clippy::diverging_sub_expression
         204  +
        )]
         205  +
        deserializer.read_struct(&GETGROUPOUTPUT_SCHEMA, &mut |member, deser| {
  142    206   
            match member.member_index() {
  143    207   
                Some(0) => {
  144    208   
                    builder.group = Some(crate::types::Group::deserialize(deser)?);
  145    209   
                }
  146    210   
                Some(1) => {
  147    211   
                    builder.users = Some({
  148         -
                        let container = if let Some(cap) = deser.container_size() {
  149         -
                            Vec::with_capacity(cap)
  150         -
                        } else {
  151         -
                            Vec::new()
  152         -
                        };
  153         -
                        deser.read_list(member, container, |mut list, deser| {
  154         -
                            list.push(crate::types::User::deserialize(deser)?);
  155         -
                            Ok(list)
  156         -
                        })?
         212  +
                        let mut container = Vec::new();
         213  +
                        deser.read_list(member, &mut |deser| {
         214  +
                            container.push(crate::types::User::deserialize(deser)?);
         215  +
                            Ok(())
         216  +
                        })?;
         217  +
                        container
  157    218   
                    });
  158    219   
                }
  159    220   
                Some(2) => {
  160    221   
                    builder.is_truncated = Some(deser.read_boolean(member)?);
  161    222   
                }
  162    223   
                Some(3) => {
  163    224   
                    builder.marker = Some(deser.read_string(member)?);
  164    225   
                }
  165    226   
                _ => {}
  166    227   
            }

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/get_group_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 `GetGroupPolicy`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct GetGroupPolicy;
    6      6   
impl GetGroupPolicy {
    7      7   
    /// Creates a new `GetGroupPolicy`
    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::get_group_policy::GetGroupPolicyInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::get_group_policy::GetGroupPolicyOutput::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::get_group_policy::GetGroupPolicyInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::get_group_policy::GetGroupPolicyOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::get_group_policy::GetGroupPolicyError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -115,119 +177,182 @@
  135    139   
                crate::operation::get_group_policy::GetGroupPolicyError,
  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 GetGroupPolicyResponseDeserializer;
  144    148   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for GetGroupPolicyResponseDeserializer {
  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_get_group_policy::de_get_group_policy_http_error(status, headers, body)
  157    162   
        } else {

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

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

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

@@ -16,16 +147,203 @@
   36     36   
    "com.amazonaws.iam.synthetic",
   37     37   
    "GetGroupPolicyOutput",
   38     38   
);
   39     39   
static GETGROUPPOLICYOUTPUT_MEMBER_GROUP_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   40     40   
    ::aws_smithy_schema::ShapeId::from_static(
   41     41   
        "com.amazonaws.iam.synthetic#GetGroupPolicyOutput$GroupName",
   42     42   
        "com.amazonaws.iam.synthetic",
   43     43   
        "GetGroupPolicyOutput",
   44     44   
    ),
   45     45   
    ::aws_smithy_schema::ShapeType::String,
   46         -
    "group_name",
          46  +
    "GroupName",
   47     47   
    0,
   48     48   
);
   49     49   
static GETGROUPPOLICYOUTPUT_MEMBER_POLICY_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#GetGroupPolicyOutput$PolicyName",
   52     52   
        "com.amazonaws.iam.synthetic",
   53     53   
        "GetGroupPolicyOutput",
   54     54   
    ),
   55     55   
    ::aws_smithy_schema::ShapeType::String,
   56         -
    "policy_name",
          56  +
    "PolicyName",
   57     57   
    1,
   58     58   
);
   59     59   
static GETGROUPPOLICYOUTPUT_MEMBER_POLICY_DOCUMENT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   60     60   
    ::aws_smithy_schema::ShapeId::from_static(
   61     61   
        "com.amazonaws.iam.synthetic#GetGroupPolicyOutput$PolicyDocument",
   62     62   
        "com.amazonaws.iam.synthetic",
   63     63   
        "GetGroupPolicyOutput",
   64     64   
    ),
   65     65   
    ::aws_smithy_schema::ShapeType::String,
   66         -
    "policy_document",
          66  +
    "PolicyDocument",
   67     67   
    2,
   68     68   
);
          69  +
static GETGROUPPOLICYOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
          70  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
          71  +
    ::aws_smithy_schema::ShapeType::String,
          72  +
    "request_id",
          73  +
    3,
          74  +
)
          75  +
.with_http_header("x-amzn-requestid");
   69     76   
static GETGROUPPOLICYOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   70     77   
    GETGROUPPOLICYOUTPUT_SCHEMA_ID,
   71     78   
    ::aws_smithy_schema::ShapeType::Structure,
   72     79   
    &[
   73     80   
        &GETGROUPPOLICYOUTPUT_MEMBER_GROUP_NAME,
   74     81   
        &GETGROUPPOLICYOUTPUT_MEMBER_POLICY_NAME,
   75     82   
        &GETGROUPPOLICYOUTPUT_MEMBER_POLICY_DOCUMENT,
          83  +
        &GETGROUPPOLICYOUTPUT_MEMBER__REQUEST_ID,
   76     84   
    ],
   77     85   
);
   78     86   
impl GetGroupPolicyOutput {
   79     87   
    /// The schema for this shape.
   80     88   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GETGROUPPOLICYOUTPUT_SCHEMA;
   81     89   
}
   82     90   
impl ::aws_smithy_schema::serde::SerializableStruct for GetGroupPolicyOutput {
   83     91   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   84     92   
    fn serialize_members(
   85     93   
        &self,
   86     94   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   87     95   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   88     96   
        {
   89     97   
            let val = &self.group_name;
   90     98   
            ser.write_string(&GETGROUPPOLICYOUTPUT_MEMBER_GROUP_NAME, val)?;
   91     99   
        }
   92    100   
        {
   93    101   
            let val = &self.policy_name;
   94    102   
            ser.write_string(&GETGROUPPOLICYOUTPUT_MEMBER_POLICY_NAME, val)?;
   95    103   
        }
   96    104   
        {
   97    105   
            let val = &self.policy_document;
   98    106   
            ser.write_string(&GETGROUPPOLICYOUTPUT_MEMBER_POLICY_DOCUMENT, val)?;
   99    107   
        }
  100    108   
        Ok(())
  101    109   
    }
  102    110   
}
  103    111   
impl GetGroupPolicyOutput {
  104    112   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  105         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  106         -
        deserializer: &mut D,
         113  +
    pub fn deserialize(
         114  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  107    115   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  108    116   
        #[allow(unused_variables, unused_mut)]
  109    117   
        let mut builder = Self::builder();
  110    118   
        #[allow(
  111    119   
            unused_variables,
  112    120   
            unreachable_code,
  113    121   
            clippy::single_match,
  114    122   
            clippy::match_single_binding,
  115    123   
            clippy::diverging_sub_expression
  116    124   
        )]
  117         -
        deserializer.read_struct(&GETGROUPPOLICYOUTPUT_SCHEMA, (), |_, member, deser| {
         125  +
        deserializer.read_struct(&GETGROUPPOLICYOUTPUT_SCHEMA, &mut |member, deser| {
         126  +
            match member.member_index() {
         127  +
                Some(0) => {
         128  +
                    builder.group_name = Some(deser.read_string(member)?);
         129  +
                }
         130  +
                Some(1) => {
         131  +
                    builder.policy_name = Some(deser.read_string(member)?);
         132  +
                }
         133  +
                Some(2) => {
         134  +
                    builder.policy_document = Some(deser.read_string(member)?);
         135  +
                }
         136  +
                Some(3) => {
         137  +
                    builder._request_id = Some(deser.read_string(member)?);
         138  +
                }
         139  +
                _ => {}
         140  +
            }
         141  +
            Ok(())
         142  +
        })?;
         143  +
        builder.group_name = builder.group_name.or(Some(String::new()));
         144  +
        builder.policy_name = builder.policy_name.or(Some(String::new()));
         145  +
        builder.policy_document = builder.policy_document.or(Some(String::new()));
         146  +
        builder
         147  +
            .build()
         148  +
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
         149  +
    }
         150  +
}
         151  +
impl GetGroupPolicyOutput {
         152  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         153  +
    /// Header-bound members are read directly from headers, avoiding runtime
         154  +
    /// member iteration overhead. Body members are read via the deserializer.
         155  +
    pub fn deserialize_with_response(
         156  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         157  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         158  +
        _status: u16,
         159  +
        _body: &[u8],
         160  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         161  +
        #[allow(unused_variables, unused_mut)]
         162  +
        let mut builder = Self::builder();
         163  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         164  +
            builder._request_id = Some(val.to_string());
         165  +
        }
         166  +
        #[allow(
         167  +
            unused_variables,
         168  +
            unreachable_code,
         169  +
            clippy::single_match,
         170  +
            clippy::match_single_binding,
         171  +
            clippy::diverging_sub_expression
         172  +
        )]
         173  +
        deserializer.read_struct(&GETGROUPPOLICYOUTPUT_SCHEMA, &mut |member, deser| {
  118    174   
            match member.member_index() {
  119    175   
                Some(0) => {
  120    176   
                    builder.group_name = Some(deser.read_string(member)?);
  121    177   
                }
  122    178   
                Some(1) => {
  123    179   
                    builder.policy_name = Some(deser.read_string(member)?);
  124    180   
                }
  125    181   
                Some(2) => {
  126    182   
                    builder.policy_document = Some(deser.read_string(member)?);
  127    183   
                }

tmp-codegen-diff/aws-sdk/sdk/iam/src/operation/get_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 `GetInstanceProfile`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct GetInstanceProfile;
    6      6   
impl GetInstanceProfile {
    7      7   
    /// Creates a new `GetInstanceProfile`
    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::get_instance_profile::GetInstanceProfileInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::get_instance_profile::GetInstanceProfileOutput::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::get_instance_profile::GetInstanceProfileInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::get_instance_profile::GetInstanceProfileOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::get_instance_profile::GetInstanceProfileError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -115,119 +177,182 @@
  135    139   
                crate::operation::get_instance_profile::GetInstanceProfileError,
  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 GetInstanceProfileResponseDeserializer;
  144    148   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for GetInstanceProfileResponseDeserializer {
  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_get_instance_profile::de_get_instance_profile_http_error(status, headers, body)
  157    162   
        } else {

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

@@ -1,1 +110,122 @@
   19     19   
    "com.amazonaws.iam.synthetic",
   20     20   
    "GetInstanceProfileInput",
   21     21   
);
   22     22   
static GETINSTANCEPROFILEINPUT_MEMBER_INSTANCE_PROFILE_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   23     23   
    ::aws_smithy_schema::ShapeId::from_static(
   24     24   
        "com.amazonaws.iam.synthetic#GetInstanceProfileInput$InstanceProfileName",
   25     25   
        "com.amazonaws.iam.synthetic",
   26     26   
        "GetInstanceProfileInput",
   27     27   
    ),
   28     28   
    ::aws_smithy_schema::ShapeType::String,
   29         -
    "instance_profile_name",
          29  +
    "InstanceProfileName",
   30     30   
    0,
   31     31   
);
   32     32   
static GETINSTANCEPROFILEINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   33     33   
    GETINSTANCEPROFILEINPUT_SCHEMA_ID,
   34     34   
    ::aws_smithy_schema::ShapeType::Structure,
   35     35   
    &[&GETINSTANCEPROFILEINPUT_MEMBER_INSTANCE_PROFILE_NAME],
   36     36   
);
   37     37   
impl GetInstanceProfileInput {
   38     38   
    /// The schema for this shape.
   39     39   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GETINSTANCEPROFILEINPUT_SCHEMA;
   40     40   
}
   41     41   
impl ::aws_smithy_schema::serde::SerializableStruct for GetInstanceProfileInput {
   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.instance_profile_name {
   48     48   
            ser.write_string(&GETINSTANCEPROFILEINPUT_MEMBER_INSTANCE_PROFILE_NAME, val)?;
   49     49   
        }
   50     50   
        Ok(())
   51     51   
    }
   52     52   
}
   53     53   
impl GetInstanceProfileInput {
   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(&GETINSTANCEPROFILEINPUT_SCHEMA, (), |_, member, deser| {
          67  +
        deserializer.read_struct(&GETINSTANCEPROFILEINPUT_SCHEMA, &mut |member, deser| {
   68     68   
            match member.member_index() {
   69     69   
                Some(0) => {
   70     70   
                    builder.instance_profile_name = Some(deser.read_string(member)?);
   71     71   
                }
   72     72   
                _ => {}
   73     73   
            }
   74     74   
            Ok(())
   75     75   
        })?;
          76  +
        builder.instance_profile_name = builder.instance_profile_name.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 GetInstanceProfileInput {
          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 GetInstanceProfileInput {
   82     94   
    /// Creates a new builder-style object to manufacture [`GetInstanceProfileInput`](crate::operation::get_instance_profile::GetInstanceProfileInput).
   83     95   
    pub fn builder() -> crate::operation::get_instance_profile::builders::GetInstanceProfileInputBuilder {
   84     96   
        crate::operation::get_instance_profile::builders::GetInstanceProfileInputBuilder::default()
   85     97   
    }
   86     98   
}
   87     99   
   88    100   
/// A builder for [`GetInstanceProfileInput`](crate::operation::get_instance_profile::GetInstanceProfileInput).
   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/get_instance_profile/_get_instance_profile_output.rs

@@ -1,1 +97,144 @@
   19     19   
    "com.amazonaws.iam.synthetic",
   20     20   
    "GetInstanceProfileOutput",
   21     21   
);
   22     22   
static GETINSTANCEPROFILEOUTPUT_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#GetInstanceProfileOutput$InstanceProfile",
   25     25   
        "com.amazonaws.iam.synthetic",
   26     26   
        "GetInstanceProfileOutput",
   27     27   
    ),
   28     28   
    ::aws_smithy_schema::ShapeType::Structure,
   29         -
    "instance_profile",
          29  +
    "InstanceProfile",
   30     30   
    0,
   31     31   
);
          32  +
static GETINSTANCEPROFILEOUTPUT_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 GETINSTANCEPROFILEOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   33     40   
    GETINSTANCEPROFILEOUTPUT_SCHEMA_ID,
   34     41   
    ::aws_smithy_schema::ShapeType::Structure,
   35         -
    &[&GETINSTANCEPROFILEOUTPUT_MEMBER_INSTANCE_PROFILE],
          42  +
    &[
          43  +
        &GETINSTANCEPROFILEOUTPUT_MEMBER_INSTANCE_PROFILE,
          44  +
        &GETINSTANCEPROFILEOUTPUT_MEMBER__REQUEST_ID,
          45  +
    ],
   36     46   
);
   37     47   
impl GetInstanceProfileOutput {
   38     48   
    /// The schema for this shape.
   39     49   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GETINSTANCEPROFILEOUTPUT_SCHEMA;
   40     50   
}
   41     51   
impl ::aws_smithy_schema::serde::SerializableStruct for GetInstanceProfileOutput {
   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(&GETINSTANCEPROFILEOUTPUT_MEMBER_INSTANCE_PROFILE, val)?;
   49     59   
        }
   50     60   
        Ok(())
   51     61   
    }
   52     62   
}
   53     63   
impl GetInstanceProfileOutput {
   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(&GETINSTANCEPROFILEOUTPUT_SCHEMA, (), |_, member, deser| {
          77  +
        deserializer.read_struct(&GETINSTANCEPROFILEOUTPUT_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 GetInstanceProfileOutput {
          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(&GETINSTANCEPROFILEOUTPUT_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/get_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 `GetLoginProfile`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct GetLoginProfile;
    6      6   
impl GetLoginProfile {
    7      7   
    /// Creates a new `GetLoginProfile`
    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::get_login_profile::GetLoginProfileInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::get_login_profile::GetLoginProfileOutput::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::get_login_profile::GetLoginProfileInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::get_login_profile::GetLoginProfileOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::get_login_profile::GetLoginProfileError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -115,119 +177,182 @@
  135    139   
                crate::operation::get_login_profile::GetLoginProfileError,
  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 GetLoginProfileResponseDeserializer;
  144    148   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for GetLoginProfileResponseDeserializer {
  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_get_login_profile::de_get_login_profile_http_error(status, headers, body)
  157    162   
        } else {

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

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

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

@@ -1,1 +97,141 @@
   19     19   
    "com.amazonaws.iam.synthetic",
   20     20   
    "GetLoginProfileOutput",
   21     21   
);
   22     22   
static GETLOGINPROFILEOUTPUT_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#GetLoginProfileOutput$LoginProfile",
   25     25   
        "com.amazonaws.iam.synthetic",
   26     26   
        "GetLoginProfileOutput",
   27     27   
    ),
   28     28   
    ::aws_smithy_schema::ShapeType::Structure,
   29         -
    "login_profile",
          29  +
    "LoginProfile",
   30     30   
    0,
   31     31   
);
          32  +
static GETLOGINPROFILEOUTPUT_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 GETLOGINPROFILEOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   33     40   
    GETLOGINPROFILEOUTPUT_SCHEMA_ID,
   34     41   
    ::aws_smithy_schema::ShapeType::Structure,
   35         -
    &[&GETLOGINPROFILEOUTPUT_MEMBER_LOGIN_PROFILE],
          42  +
    &[&GETLOGINPROFILEOUTPUT_MEMBER_LOGIN_PROFILE, &GETLOGINPROFILEOUTPUT_MEMBER__REQUEST_ID],
   36     43   
);
   37     44   
impl GetLoginProfileOutput {
   38     45   
    /// The schema for this shape.
   39     46   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GETLOGINPROFILEOUTPUT_SCHEMA;
   40     47   
}
   41     48   
impl ::aws_smithy_schema::serde::SerializableStruct for GetLoginProfileOutput {
   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.login_profile {
   48     55   
            ser.write_struct(&GETLOGINPROFILEOUTPUT_MEMBER_LOGIN_PROFILE, val)?;
   49     56   
        }
   50     57   
        Ok(())
   51     58   
    }
   52     59   
}
   53     60   
impl GetLoginProfileOutput {
   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(&GETLOGINPROFILEOUTPUT_SCHEMA, (), |_, member, deser| {
          74  +
        deserializer.read_struct(&GETLOGINPROFILEOUTPUT_SCHEMA, &mut |member, deser| {
          75  +
            match member.member_index() {
          76  +
                Some(0) => {
          77  +
                    builder.login_profile = Some(crate::types::LoginProfile::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 GetLoginProfileOutput {
          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(&GETLOGINPROFILEOUTPUT_SCHEMA, &mut |member, deser| {
   68    112   
            match member.member_index() {
   69    113   
                Some(0) => {
   70    114   
                    builder.login_profile = Some(crate::types::LoginProfile::deserialize(deser)?);
   71    115   
                }
   72    116   
                _ => {}
   73    117   
            }
   74    118   
            Ok(())
   75    119   
        })?;
   76    120   
        Ok(builder.build())
   77    121   
    }