AWS SDK

AWS SDK

rev. 96f5a1b4ad139d2f1ad1e8e40f300e1cd1ff574c

Files changed:

tmp-codegen-diff/aws-sdk/sdk/sts/src/operation/get_caller_identity/_get_caller_identity_input.rs

@@ -1,1 +69,82 @@
   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 GetCallerIdentityInput {
   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(&GETCALLERIDENTITYINPUT_SCHEMA, (), |_, member, deser| {
          40  +
        deserializer.read_struct(&GETCALLERIDENTITYINPUT_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 GetCallerIdentityInput {
          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 GetCallerIdentityInput {
   52     65   
    /// Creates a new builder-style object to manufacture [`GetCallerIdentityInput`](crate::operation::get_caller_identity::GetCallerIdentityInput).
   53     66   
    pub fn builder() -> crate::operation::get_caller_identity::builders::GetCallerIdentityInputBuilder {
   54     67   
        crate::operation::get_caller_identity::builders::GetCallerIdentityInputBuilder::default()
   55     68   
    }
   56     69   
}
   57     70   
   58     71   
/// A builder for [`GetCallerIdentityInput`](crate::operation::get_caller_identity::GetCallerIdentityInput).
   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/sts/src/operation/get_caller_identity/_get_caller_identity_output.rs

@@ -11,11 +139,190 @@
   31     31   
    "com.amazonaws.sts.synthetic",
   32     32   
    "GetCallerIdentityOutput",
   33     33   
);
   34     34   
static GETCALLERIDENTITYOUTPUT_MEMBER_USER_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   35     35   
    ::aws_smithy_schema::ShapeId::from_static(
   36     36   
        "com.amazonaws.sts.synthetic#GetCallerIdentityOutput$UserId",
   37     37   
        "com.amazonaws.sts.synthetic",
   38     38   
        "GetCallerIdentityOutput",
   39     39   
    ),
   40     40   
    ::aws_smithy_schema::ShapeType::String,
   41         -
    "user_id",
          41  +
    "UserId",
   42     42   
    0,
   43     43   
);
   44     44   
static GETCALLERIDENTITYOUTPUT_MEMBER_ACCOUNT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   45     45   
    ::aws_smithy_schema::ShapeId::from_static(
   46     46   
        "com.amazonaws.sts.synthetic#GetCallerIdentityOutput$Account",
   47     47   
        "com.amazonaws.sts.synthetic",
   48     48   
        "GetCallerIdentityOutput",
   49     49   
    ),
   50     50   
    ::aws_smithy_schema::ShapeType::String,
   51         -
    "account",
          51  +
    "Account",
   52     52   
    1,
   53     53   
);
   54     54   
static GETCALLERIDENTITYOUTPUT_MEMBER_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   55     55   
    ::aws_smithy_schema::ShapeId::from_static(
   56     56   
        "com.amazonaws.sts.synthetic#GetCallerIdentityOutput$Arn",
   57     57   
        "com.amazonaws.sts.synthetic",
   58     58   
        "GetCallerIdentityOutput",
   59     59   
    ),
   60     60   
    ::aws_smithy_schema::ShapeType::String,
   61         -
    "arn",
          61  +
    "Arn",
   62     62   
    2,
   63     63   
);
          64  +
static GETCALLERIDENTITYOUTPUT_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 GETCALLERIDENTITYOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   65     72   
    GETCALLERIDENTITYOUTPUT_SCHEMA_ID,
   66     73   
    ::aws_smithy_schema::ShapeType::Structure,
   67     74   
    &[
   68     75   
        &GETCALLERIDENTITYOUTPUT_MEMBER_USER_ID,
   69     76   
        &GETCALLERIDENTITYOUTPUT_MEMBER_ACCOUNT,
   70     77   
        &GETCALLERIDENTITYOUTPUT_MEMBER_ARN,
          78  +
        &GETCALLERIDENTITYOUTPUT_MEMBER__REQUEST_ID,
   71     79   
    ],
   72     80   
);
   73     81   
impl GetCallerIdentityOutput {
   74     82   
    /// The schema for this shape.
   75     83   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GETCALLERIDENTITYOUTPUT_SCHEMA;
   76     84   
}
   77     85   
impl ::aws_smithy_schema::serde::SerializableStruct for GetCallerIdentityOutput {
   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.user_id {
   84     92   
            ser.write_string(&GETCALLERIDENTITYOUTPUT_MEMBER_USER_ID, val)?;
   85     93   
        }
   86     94   
        if let Some(ref val) = self.account {
   87     95   
            ser.write_string(&GETCALLERIDENTITYOUTPUT_MEMBER_ACCOUNT, val)?;
   88     96   
        }
   89     97   
        if let Some(ref val) = self.arn {
   90     98   
            ser.write_string(&GETCALLERIDENTITYOUTPUT_MEMBER_ARN, val)?;
   91     99   
        }
   92    100   
        Ok(())
   93    101   
    }
   94    102   
}
   95    103   
impl GetCallerIdentityOutput {
   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(&GETCALLERIDENTITYOUTPUT_SCHEMA, (), |_, member, deser| {
         117  +
        deserializer.read_struct(&GETCALLERIDENTITYOUTPUT_SCHEMA, &mut |member, deser| {
         118  +
            match member.member_index() {
         119  +
                Some(0) => {
         120  +
                    builder.user_id = Some(deser.read_string(member)?);
         121  +
                }
         122  +
                Some(1) => {
         123  +
                    builder.account = Some(deser.read_string(member)?);
         124  +
                }
         125  +
                Some(2) => {
         126  +
                    builder.arn = Some(deser.read_string(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 GetCallerIdentityOutput {
         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(&GETCALLERIDENTITYOUTPUT_SCHEMA, &mut |member, deser| {
  110    161   
            match member.member_index() {
  111    162   
                Some(0) => {
  112    163   
                    builder.user_id = Some(deser.read_string(member)?);
  113    164   
                }
  114    165   
                Some(1) => {
  115    166   
                    builder.account = Some(deser.read_string(member)?);
  116    167   
                }
  117    168   
                Some(2) => {
  118    169   
                    builder.arn = Some(deser.read_string(member)?);
  119    170   
                }

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

tmp-codegen-diff/aws-sdk/sdk/sts/src/operation/get_federation_token/_get_federation_token_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/sts/src/operation/get_federation_token/_get_federation_token_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/sts/src/operation/get_session_token/_get_session_token_input.rs

@@ -13,13 +160,171 @@
   33     33   
    "com.amazonaws.sts.synthetic",
   34     34   
    "GetSessionTokenInput",
   35     35   
);
   36     36   
static GETSESSIONTOKENINPUT_MEMBER_DURATION_SECONDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   37     37   
    ::aws_smithy_schema::ShapeId::from_static(
   38     38   
        "com.amazonaws.sts.synthetic#GetSessionTokenInput$DurationSeconds",
   39     39   
        "com.amazonaws.sts.synthetic",
   40     40   
        "GetSessionTokenInput",
   41     41   
    ),
   42     42   
    ::aws_smithy_schema::ShapeType::Integer,
   43         -
    "duration_seconds",
          43  +
    "DurationSeconds",
   44     44   
    0,
   45     45   
);
   46     46   
static GETSESSIONTOKENINPUT_MEMBER_SERIAL_NUMBER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   47     47   
    ::aws_smithy_schema::ShapeId::from_static(
   48     48   
        "com.amazonaws.sts.synthetic#GetSessionTokenInput$SerialNumber",
   49     49   
        "com.amazonaws.sts.synthetic",
   50     50   
        "GetSessionTokenInput",
   51     51   
    ),
   52     52   
    ::aws_smithy_schema::ShapeType::String,
   53         -
    "serial_number",
          53  +
    "SerialNumber",
   54     54   
    1,
   55     55   
);
   56     56   
static GETSESSIONTOKENINPUT_MEMBER_TOKEN_CODE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   57     57   
    ::aws_smithy_schema::ShapeId::from_static(
   58     58   
        "com.amazonaws.sts.synthetic#GetSessionTokenInput$TokenCode",
   59     59   
        "com.amazonaws.sts.synthetic",
   60     60   
        "GetSessionTokenInput",
   61     61   
    ),
   62     62   
    ::aws_smithy_schema::ShapeType::String,
   63         -
    "token_code",
          63  +
    "TokenCode",
   64     64   
    2,
   65     65   
);
   66     66   
static GETSESSIONTOKENINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   67     67   
    GETSESSIONTOKENINPUT_SCHEMA_ID,
   68     68   
    ::aws_smithy_schema::ShapeType::Structure,
   69     69   
    &[
   70     70   
        &GETSESSIONTOKENINPUT_MEMBER_DURATION_SECONDS,
   71     71   
        &GETSESSIONTOKENINPUT_MEMBER_SERIAL_NUMBER,
   72     72   
        &GETSESSIONTOKENINPUT_MEMBER_TOKEN_CODE,
   73     73   
    ],
   74     74   
);
   75     75   
impl GetSessionTokenInput {
   76     76   
    /// The schema for this shape.
   77     77   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GETSESSIONTOKENINPUT_SCHEMA;
   78     78   
}
   79     79   
impl ::aws_smithy_schema::serde::SerializableStruct for GetSessionTokenInput {
   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.duration_seconds {
   86     86   
            ser.write_integer(&GETSESSIONTOKENINPUT_MEMBER_DURATION_SECONDS, *val)?;
   87     87   
        }
   88     88   
        if let Some(ref val) = self.serial_number {
   89     89   
            ser.write_string(&GETSESSIONTOKENINPUT_MEMBER_SERIAL_NUMBER, val)?;
   90     90   
        }
   91     91   
        if let Some(ref val) = self.token_code {
   92     92   
            ser.write_string(&GETSESSIONTOKENINPUT_MEMBER_TOKEN_CODE, val)?;
   93     93   
        }
   94     94   
        Ok(())
   95     95   
    }
   96     96   
}
   97     97   
impl GetSessionTokenInput {
   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(&GETSESSIONTOKENINPUT_SCHEMA, (), |_, member, deser| {
         111  +
        deserializer.read_struct(&GETSESSIONTOKENINPUT_SCHEMA, &mut |member, deser| {
  112    112   
            match member.member_index() {
  113    113   
                Some(0) => {
  114    114   
                    builder.duration_seconds = Some(deser.read_integer(member)?);
  115    115   
                }
  116    116   
                Some(1) => {
  117    117   
                    builder.serial_number = Some(deser.read_string(member)?);
  118    118   
                }
  119    119   
                Some(2) => {
  120    120   
                    builder.token_code = Some(deser.read_string(member)?);
  121    121   
                }
  122    122   
                _ => {}
  123    123   
            }
  124    124   
            Ok(())
  125    125   
        })?;
  126    126   
        builder
  127    127   
            .build()
  128    128   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  129    129   
    }
  130    130   
}
         131  +
impl GetSessionTokenInput {
         132  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         133  +
    pub fn deserialize_with_response(
         134  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         135  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         136  +
        _status: u16,
         137  +
        _body: &[u8],
         138  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         139  +
        Self::deserialize(deserializer)
         140  +
    }
         141  +
}
  131    142   
impl GetSessionTokenInput {
  132    143   
    /// Creates a new builder-style object to manufacture [`GetSessionTokenInput`](crate::operation::get_session_token::GetSessionTokenInput).
  133    144   
    pub fn builder() -> crate::operation::get_session_token::builders::GetSessionTokenInputBuilder {
  134    145   
        crate::operation::get_session_token::builders::GetSessionTokenInputBuilder::default()
  135    146   
    }
  136    147   
}
  137    148   
  138    149   
/// A builder for [`GetSessionTokenInput`](crate::operation::get_session_token::GetSessionTokenInput).
  139    150   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  140    151   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/sts/src/operation/get_session_token/_get_session_token_output.rs

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

tmp-codegen-diff/aws-sdk/sdk/sts/src/types/_assumed_role_user.rs

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

tmp-codegen-diff/aws-sdk/sdk/sts/src/types/_credentials.rs

@@ -22,22 +179,194 @@
   42     42   
        formatter.field("session_token", &"*** Sensitive Data Redacted ***");
   43     43   
        formatter.field("expiration", &"*** Sensitive Data Redacted ***");
   44     44   
        formatter.finish()
   45     45   
    }
   46     46   
}
   47     47   
static CREDENTIALS_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   48     48   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.sts#Credentials", "com.amazonaws.sts", "Credentials");
   49     49   
static CREDENTIALS_MEMBER_ACCESS_KEY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   50     50   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.sts#Credentials$AccessKeyId", "com.amazonaws.sts", "Credentials"),
   51     51   
    ::aws_smithy_schema::ShapeType::String,
   52         -
    "access_key_id",
          52  +
    "AccessKeyId",
   53     53   
    0,
   54     54   
);
   55     55   
static CREDENTIALS_MEMBER_SECRET_ACCESS_KEY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   56     56   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.sts#Credentials$SecretAccessKey", "com.amazonaws.sts", "Credentials"),
   57     57   
    ::aws_smithy_schema::ShapeType::String,
   58         -
    "secret_access_key",
          58  +
    "SecretAccessKey",
   59     59   
    1,
   60     60   
);
   61     61   
static CREDENTIALS_MEMBER_SESSION_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   62     62   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.sts#Credentials$SessionToken", "com.amazonaws.sts", "Credentials"),
   63     63   
    ::aws_smithy_schema::ShapeType::String,
   64         -
    "session_token",
          64  +
    "SessionToken",
   65     65   
    2,
   66     66   
);
   67     67   
static CREDENTIALS_MEMBER_EXPIRATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   68     68   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.sts#Credentials$Expiration", "com.amazonaws.sts", "Credentials"),
   69     69   
    ::aws_smithy_schema::ShapeType::Timestamp,
   70         -
    "expiration",
          70  +
    "Expiration",
   71     71   
    3,
   72     72   
);
   73     73   
static CREDENTIALS_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   74     74   
    CREDENTIALS_SCHEMA_ID,
   75     75   
    ::aws_smithy_schema::ShapeType::Structure,
   76     76   
    &[
   77     77   
        &CREDENTIALS_MEMBER_ACCESS_KEY_ID,
   78     78   
        &CREDENTIALS_MEMBER_SECRET_ACCESS_KEY,
   79     79   
        &CREDENTIALS_MEMBER_SESSION_TOKEN,
   80     80   
        &CREDENTIALS_MEMBER_EXPIRATION,
   81     81   
    ],
   82     82   
)
   83     83   
.with_sensitive();
   84     84   
impl Credentials {
   85     85   
    /// The schema for this shape.
   86     86   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREDENTIALS_SCHEMA;
   87     87   
}
   88     88   
impl ::aws_smithy_schema::serde::SerializableStruct for Credentials {
   89     89   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   90     90   
    fn serialize_members(
   91     91   
        &self,
   92     92   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   93     93   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   94     94   
        {
   95     95   
            let val = &self.access_key_id;
   96     96   
            ser.write_string(&CREDENTIALS_MEMBER_ACCESS_KEY_ID, val)?;
   97     97   
        }
   98     98   
        {
   99     99   
            let val = &self.secret_access_key;
  100    100   
            ser.write_string(&CREDENTIALS_MEMBER_SECRET_ACCESS_KEY, val)?;
  101    101   
        }
  102    102   
        {
  103    103   
            let val = &self.session_token;
  104    104   
            ser.write_string(&CREDENTIALS_MEMBER_SESSION_TOKEN, val)?;
  105    105   
        }
  106    106   
        {
  107    107   
            let val = &self.expiration;
  108    108   
            ser.write_timestamp(&CREDENTIALS_MEMBER_EXPIRATION, val)?;
  109    109   
        }
  110    110   
        Ok(())
  111    111   
    }
  112    112   
}
  113    113   
impl Credentials {
  114    114   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  115         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  116         -
        deserializer: &mut D,
         115  +
    pub fn deserialize(
         116  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  117    117   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  118    118   
        #[allow(unused_variables, unused_mut)]
  119    119   
        let mut builder = Self::builder();
  120    120   
        #[allow(
  121    121   
            unused_variables,
  122    122   
            unreachable_code,
  123    123   
            clippy::single_match,
  124    124   
            clippy::match_single_binding,
  125    125   
            clippy::diverging_sub_expression
  126    126   
        )]
  127         -
        deserializer.read_struct(&CREDENTIALS_SCHEMA, (), |_, member, deser| {
         127  +
        deserializer.read_struct(&CREDENTIALS_SCHEMA, &mut |member, deser| {
  128    128   
            match member.member_index() {
  129    129   
                Some(0) => {
  130    130   
                    builder.access_key_id = Some(deser.read_string(member)?);
  131    131   
                }
  132    132   
                Some(1) => {
  133    133   
                    builder.secret_access_key = Some(deser.read_string(member)?);
  134    134   
                }
  135    135   
                Some(2) => {
  136    136   
                    builder.session_token = Some(deser.read_string(member)?);
  137    137   
                }
  138    138   
                Some(3) => {
  139    139   
                    builder.expiration = Some(deser.read_timestamp(member)?);
  140    140   
                }
  141    141   
                _ => {}
  142    142   
            }
  143    143   
            Ok(())
  144    144   
        })?;
         145  +
        builder.access_key_id = builder.access_key_id.or(Some(String::new()));
         146  +
        builder.secret_access_key = builder.secret_access_key.or(Some(String::new()));
         147  +
        builder.session_token = builder.session_token.or(Some(String::new()));
         148  +
        builder.expiration = builder.expiration.or(Some(::aws_smithy_types::DateTime::from_secs(0)));
  145    149   
        builder
  146    150   
            .build()
  147    151   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  148    152   
    }
  149    153   
}
         154  +
impl Credentials {
         155  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         156  +
    pub fn deserialize_with_response(
         157  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         158  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         159  +
        _status: u16,
         160  +
        _body: &[u8],
         161  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         162  +
        Self::deserialize(deserializer)
         163  +
    }
         164  +
}
  150    165   
impl Credentials {
  151    166   
    /// Creates a new builder-style object to manufacture [`Credentials`](crate::types::Credentials).
  152    167   
    pub fn builder() -> crate::types::builders::CredentialsBuilder {
  153    168   
        crate::types::builders::CredentialsBuilder::default()
  154    169   
    }
  155    170   
}
  156    171   
  157    172   
/// A builder for [`Credentials`](crate::types::Credentials).
  158    173   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
  159    174   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/sts/src/types/_federated_user.rs

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

tmp-codegen-diff/aws-sdk/sdk/sts/src/types/_policy_descriptor_type.rs

@@ -17,17 +100,111 @@
   37     37   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   38     38   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   39     39   
        if let Some(ref val) = self.arn {
   40     40   
            ser.write_string(&POLICYDESCRIPTORTYPE_MEMBER_ARN, val)?;
   41     41   
        }
   42     42   
        Ok(())
   43     43   
    }
   44     44   
}
   45     45   
impl PolicyDescriptorType {
   46     46   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   47         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   48         -
        deserializer: &mut D,
          47  +
    pub fn deserialize(
          48  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   49     49   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   50     50   
        #[allow(unused_variables, unused_mut)]
   51     51   
        let mut builder = Self::builder();
   52     52   
        #[allow(
   53     53   
            unused_variables,
   54     54   
            unreachable_code,
   55     55   
            clippy::single_match,
   56     56   
            clippy::match_single_binding,
   57     57   
            clippy::diverging_sub_expression
   58     58   
        )]
   59         -
        deserializer.read_struct(&POLICYDESCRIPTORTYPE_SCHEMA, (), |_, member, deser| {
          59  +
        deserializer.read_struct(&POLICYDESCRIPTORTYPE_SCHEMA, &mut |member, deser| {
   60     60   
            match member.member_index() {
   61     61   
                Some(0) => {
   62     62   
                    builder.arn = Some(deser.read_string(member)?);
   63     63   
                }
   64     64   
                _ => {}
   65     65   
            }
   66     66   
            Ok(())
   67     67   
        })?;
   68     68   
        Ok(builder.build())
   69     69   
    }
   70     70   
}
          71  +
impl PolicyDescriptorType {
          72  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          73  +
    pub fn deserialize_with_response(
          74  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          75  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          76  +
        _status: u16,
          77  +
        _body: &[u8],
          78  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          79  +
        Self::deserialize(deserializer)
          80  +
    }
          81  +
}
   71     82   
impl PolicyDescriptorType {
   72     83   
    /// Creates a new builder-style object to manufacture [`PolicyDescriptorType`](crate::types::PolicyDescriptorType).
   73     84   
    pub fn builder() -> crate::types::builders::PolicyDescriptorTypeBuilder {
   74     85   
        crate::types::builders::PolicyDescriptorTypeBuilder::default()
   75     86   
    }
   76     87   
}
   77     88   
   78     89   
/// A builder for [`PolicyDescriptorType`](crate::types::PolicyDescriptorType).
   79     90   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   80     91   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/sts/src/types/_provided_context.rs

@@ -1,1 +122,133 @@
   17     17   
    /// <p>The signed and encrypted trusted context assertion generated by the context provider. The trusted context assertion is signed and encrypted by Amazon Web Services STS.</p>
   18     18   
    pub fn context_assertion(&self) -> ::std::option::Option<&str> {
   19     19   
        self.context_assertion.as_deref()
   20     20   
    }
   21     21   
}
   22     22   
static PROVIDEDCONTEXT_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   23     23   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.sts#ProvidedContext", "com.amazonaws.sts", "ProvidedContext");
   24     24   
static PROVIDEDCONTEXT_MEMBER_PROVIDER_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   25     25   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.sts#ProvidedContext$ProviderArn", "com.amazonaws.sts", "ProvidedContext"),
   26     26   
    ::aws_smithy_schema::ShapeType::String,
   27         -
    "provider_arn",
          27  +
    "ProviderArn",
   28     28   
    0,
   29     29   
);
   30     30   
static PROVIDEDCONTEXT_MEMBER_CONTEXT_ASSERTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   31     31   
    ::aws_smithy_schema::ShapeId::from_static(
   32     32   
        "com.amazonaws.sts#ProvidedContext$ContextAssertion",
   33     33   
        "com.amazonaws.sts",
   34     34   
        "ProvidedContext",
   35     35   
    ),
   36     36   
    ::aws_smithy_schema::ShapeType::String,
   37         -
    "context_assertion",
          37  +
    "ContextAssertion",
   38     38   
    1,
   39     39   
);
   40     40   
static PROVIDEDCONTEXT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   41     41   
    PROVIDEDCONTEXT_SCHEMA_ID,
   42     42   
    ::aws_smithy_schema::ShapeType::Structure,
   43     43   
    &[&PROVIDEDCONTEXT_MEMBER_PROVIDER_ARN, &PROVIDEDCONTEXT_MEMBER_CONTEXT_ASSERTION],
   44     44   
);
   45     45   
impl ProvidedContext {
   46     46   
    /// The schema for this shape.
   47     47   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &PROVIDEDCONTEXT_SCHEMA;
   48     48   
}
   49     49   
impl ::aws_smithy_schema::serde::SerializableStruct for ProvidedContext {
   50     50   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   51     51   
    fn serialize_members(
   52     52   
        &self,
   53     53   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   54     54   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   55     55   
        if let Some(ref val) = self.provider_arn {
   56     56   
            ser.write_string(&PROVIDEDCONTEXT_MEMBER_PROVIDER_ARN, val)?;
   57     57   
        }
   58     58   
        if let Some(ref val) = self.context_assertion {
   59     59   
            ser.write_string(&PROVIDEDCONTEXT_MEMBER_CONTEXT_ASSERTION, val)?;
   60     60   
        }
   61     61   
        Ok(())
   62     62   
    }
   63     63   
}
   64     64   
impl ProvidedContext {
   65     65   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   66         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   67         -
        deserializer: &mut D,
          66  +
    pub fn deserialize(
          67  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   68     68   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   69     69   
        #[allow(unused_variables, unused_mut)]
   70     70   
        let mut builder = Self::builder();
   71     71   
        #[allow(
   72     72   
            unused_variables,
   73     73   
            unreachable_code,
   74     74   
            clippy::single_match,
   75     75   
            clippy::match_single_binding,
   76     76   
            clippy::diverging_sub_expression
   77     77   
        )]
   78         -
        deserializer.read_struct(&PROVIDEDCONTEXT_SCHEMA, (), |_, member, deser| {
          78  +
        deserializer.read_struct(&PROVIDEDCONTEXT_SCHEMA, &mut |member, deser| {
   79     79   
            match member.member_index() {
   80     80   
                Some(0) => {
   81     81   
                    builder.provider_arn = Some(deser.read_string(member)?);
   82     82   
                }
   83     83   
                Some(1) => {
   84     84   
                    builder.context_assertion = Some(deser.read_string(member)?);
   85     85   
                }
   86     86   
                _ => {}
   87     87   
            }
   88     88   
            Ok(())
   89     89   
        })?;
   90     90   
        Ok(builder.build())
   91     91   
    }
   92     92   
}
          93  +
impl ProvidedContext {
          94  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          95  +
    pub fn deserialize_with_response(
          96  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          97  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          98  +
        _status: u16,
          99  +
        _body: &[u8],
         100  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         101  +
        Self::deserialize(deserializer)
         102  +
    }
         103  +
}
   93    104   
impl ProvidedContext {
   94    105   
    /// Creates a new builder-style object to manufacture [`ProvidedContext`](crate::types::ProvidedContext).
   95    106   
    pub fn builder() -> crate::types::builders::ProvidedContextBuilder {
   96    107   
        crate::types::builders::ProvidedContextBuilder::default()
   97    108   
    }
   98    109   
}
   99    110   
  100    111   
/// A builder for [`ProvidedContext`](crate::types::ProvidedContext).
  101    112   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  102    113   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/sts/src/types/_tag.rs

@@ -2,2 +127,140 @@
   22     22   
    /// <p>You can pass up to 50 session tags. The plain text session tag values can’t exceed 256 characters. For these and additional limits, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length">IAM and STS Character Limits</a> in the <i>IAM User Guide</i>.</p>
   23     23   
    pub fn value(&self) -> &str {
   24     24   
        use std::ops::Deref;
   25     25   
        self.value.deref()
   26     26   
    }
   27     27   
}
   28     28   
static TAG_SCHEMA_ID: ::aws_smithy_schema::ShapeId = ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.sts#Tag", "com.amazonaws.sts", "Tag");
   29     29   
static TAG_MEMBER_KEY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   30     30   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.sts#Tag$Key", "com.amazonaws.sts", "Tag"),
   31     31   
    ::aws_smithy_schema::ShapeType::String,
   32         -
    "key",
          32  +
    "Key",
   33     33   
    0,
   34     34   
);
   35     35   
static TAG_MEMBER_VALUE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   36     36   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.sts#Tag$Value", "com.amazonaws.sts", "Tag"),
   37     37   
    ::aws_smithy_schema::ShapeType::String,
   38         -
    "value",
          38  +
    "Value",
   39     39   
    1,
   40     40   
);
   41     41   
static TAG_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   42     42   
    TAG_SCHEMA_ID,
   43     43   
    ::aws_smithy_schema::ShapeType::Structure,
   44     44   
    &[&TAG_MEMBER_KEY, &TAG_MEMBER_VALUE],
   45     45   
);
   46     46   
impl Tag {
   47     47   
    /// The schema for this shape.
   48     48   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &TAG_SCHEMA;
   49     49   
}
   50     50   
impl ::aws_smithy_schema::serde::SerializableStruct for Tag {
   51     51   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   52     52   
    fn serialize_members(
   53     53   
        &self,
   54     54   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   55     55   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   56     56   
        {
   57     57   
            let val = &self.key;
   58     58   
            ser.write_string(&TAG_MEMBER_KEY, val)?;
   59     59   
        }
   60     60   
        {
   61     61   
            let val = &self.value;
   62     62   
            ser.write_string(&TAG_MEMBER_VALUE, val)?;
   63     63   
        }
   64     64   
        Ok(())
   65     65   
    }
   66     66   
}
   67     67   
impl Tag {
   68     68   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   69         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   70         -
        deserializer: &mut D,
          69  +
    pub fn deserialize(
          70  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   71     71   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   72     72   
        #[allow(unused_variables, unused_mut)]
   73     73   
        let mut builder = Self::builder();
   74     74   
        #[allow(
   75     75   
            unused_variables,
   76     76   
            unreachable_code,
   77     77   
            clippy::single_match,
   78     78   
            clippy::match_single_binding,
   79     79   
            clippy::diverging_sub_expression
   80     80   
        )]
   81         -
        deserializer.read_struct(&TAG_SCHEMA, (), |_, member, deser| {
          81  +
        deserializer.read_struct(&TAG_SCHEMA, &mut |member, deser| {
   82     82   
            match member.member_index() {
   83     83   
                Some(0) => {
   84     84   
                    builder.key = Some(deser.read_string(member)?);
   85     85   
                }
   86     86   
                Some(1) => {
   87     87   
                    builder.value = Some(deser.read_string(member)?);
   88     88   
                }
   89     89   
                _ => {}
   90     90   
            }
   91     91   
            Ok(())
   92     92   
        })?;
          93  +
        builder.key = builder.key.or(Some(String::new()));
          94  +
        builder.value = builder.value.or(Some(String::new()));
   93     95   
        builder
   94     96   
            .build()
   95     97   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
   96     98   
    }
   97     99   
}
         100  +
impl Tag {
         101  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         102  +
    pub fn deserialize_with_response(
         103  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         104  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         105  +
        _status: u16,
         106  +
        _body: &[u8],
         107  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         108  +
        Self::deserialize(deserializer)
         109  +
    }
         110  +
}
   98    111   
impl Tag {
   99    112   
    /// Creates a new builder-style object to manufacture [`Tag`](crate::types::Tag).
  100    113   
    pub fn builder() -> crate::types::builders::TagBuilder {
  101    114   
        crate::types::builders::TagBuilder::default()
  102    115   
    }
  103    116   
}
  104    117   
  105    118   
/// A builder for [`Tag`](crate::types::Tag).
  106    119   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  107    120   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/sts/src/types/error/_expired_token_exception.rs

@@ -25,25 +108,119 @@
   45     45   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   46     46   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   47     47   
        if let Some(ref val) = self.message {
   48     48   
            ser.write_string(&EXPIREDTOKENEXCEPTION_MEMBER_MESSAGE, val)?;
   49     49   
        }
   50     50   
        Ok(())
   51     51   
    }
   52     52   
}
   53     53   
impl ExpiredTokenException {
   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(&EXPIREDTOKENEXCEPTION_SCHEMA, (), |_, member, deser| {
          67  +
        deserializer.read_struct(&EXPIREDTOKENEXCEPTION_SCHEMA, &mut |member, deser| {
   68     68   
            match member.member_index() {
   69     69   
                Some(0) => {
   70     70   
                    builder.message = Some(deser.read_string(member)?);
   71     71   
                }
   72     72   
                _ => {}
   73     73   
            }
   74     74   
            Ok(())
   75     75   
        })?;
   76     76   
        Ok(builder.build())
   77     77   
    }
   78     78   
}
          79  +
impl ExpiredTokenException {
          80  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          81  +
    pub fn deserialize_with_response(
          82  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          83  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          84  +
        _status: u16,
          85  +
        _body: &[u8],
          86  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          87  +
        Self::deserialize(deserializer)
          88  +
    }
          89  +
}
   79     90   
impl ExpiredTokenException {
   80     91   
    /// Returns the error message.
   81     92   
    pub fn message(&self) -> ::std::option::Option<&str> {
   82     93   
        self.message.as_deref()
   83     94   
    }
   84     95   
}
   85     96   
impl ::std::fmt::Display for ExpiredTokenException {
   86     97   
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
   87     98   
        ::std::write!(f, "ExpiredTokenException")?;
   88     99   
        if let ::std::option::Option::Some(inner_1) = &self.message {

tmp-codegen-diff/aws-sdk/sdk/sts/src/types/error/_idp_communication_error_exception.rs

@@ -28,28 +111,122 @@
   48     48   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   49     49   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   50     50   
        if let Some(ref val) = self.message {
   51     51   
            ser.write_string(&IDPCOMMUNICATIONERROREXCEPTION_MEMBER_MESSAGE, val)?;
   52     52   
        }
   53     53   
        Ok(())
   54     54   
    }
   55     55   
}
   56     56   
impl IdpCommunicationErrorException {
   57     57   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   58         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   59         -
        deserializer: &mut D,
          58  +
    pub fn deserialize(
          59  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   60     60   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   61     61   
        #[allow(unused_variables, unused_mut)]
   62     62   
        let mut builder = Self::builder();
   63     63   
        #[allow(
   64     64   
            unused_variables,
   65     65   
            unreachable_code,
   66     66   
            clippy::single_match,
   67     67   
            clippy::match_single_binding,
   68     68   
            clippy::diverging_sub_expression
   69     69   
        )]
   70         -
        deserializer.read_struct(&IDPCOMMUNICATIONERROREXCEPTION_SCHEMA, (), |_, member, deser| {
          70  +
        deserializer.read_struct(&IDPCOMMUNICATIONERROREXCEPTION_SCHEMA, &mut |member, deser| {
   71     71   
            match member.member_index() {
   72     72   
                Some(0) => {
   73     73   
                    builder.message = Some(deser.read_string(member)?);
   74     74   
                }
   75     75   
                _ => {}
   76     76   
            }
   77     77   
            Ok(())
   78     78   
        })?;
   79     79   
        Ok(builder.build())
   80     80   
    }
   81     81   
}
          82  +
impl IdpCommunicationErrorException {
          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  +
}
   82     93   
impl IdpCommunicationErrorException {
   83     94   
    /// Returns `Some(ErrorKind)` if the error is retryable. Otherwise, returns `None`.
   84     95   
    pub fn retryable_error_kind(&self) -> ::aws_smithy_types::retry::ErrorKind {
   85     96   
        ::aws_smithy_types::retry::ErrorKind::ServerError
   86     97   
    }
   87     98   
    /// Returns the error message.
   88     99   
    pub fn message(&self) -> ::std::option::Option<&str> {
   89    100   
        self.message.as_deref()
   90    101   
    }
   91    102   
}