AWS SDK

AWS SDK

rev. ec7b2441254af868911fccffe8d8dca83aff0045 (ignoring whitespace)

Files changed:

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

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

@@ -13,13 +160,171 @@
   33     33   
    "com.amazonaws.iam.synthetic",
   34     34   
    "ListUsersInput",
   35     35   
);
   36     36   
static LISTUSERSINPUT_MEMBER_PATH_PREFIX: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   37     37   
    ::aws_smithy_schema::ShapeId::from_static(
   38     38   
        "com.amazonaws.iam.synthetic#ListUsersInput$PathPrefix",
   39     39   
        "com.amazonaws.iam.synthetic",
   40     40   
        "ListUsersInput",
   41     41   
    ),
   42     42   
    ::aws_smithy_schema::ShapeType::String,
   43         -
    "path_prefix",
          43  +
    "PathPrefix",
   44     44   
    0,
   45     45   
);
   46     46   
static LISTUSERSINPUT_MEMBER_MARKER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   47     47   
    ::aws_smithy_schema::ShapeId::from_static(
   48     48   
        "com.amazonaws.iam.synthetic#ListUsersInput$Marker",
   49     49   
        "com.amazonaws.iam.synthetic",
   50     50   
        "ListUsersInput",
   51     51   
    ),
   52     52   
    ::aws_smithy_schema::ShapeType::String,
   53         -
    "marker",
          53  +
    "Marker",
   54     54   
    1,
   55     55   
);
   56     56   
static LISTUSERSINPUT_MEMBER_MAX_ITEMS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   57     57   
    ::aws_smithy_schema::ShapeId::from_static(
   58     58   
        "com.amazonaws.iam.synthetic#ListUsersInput$MaxItems",
   59     59   
        "com.amazonaws.iam.synthetic",
   60     60   
        "ListUsersInput",
   61     61   
    ),
   62     62   
    ::aws_smithy_schema::ShapeType::Integer,
   63         -
    "max_items",
          63  +
    "MaxItems",
   64     64   
    2,
   65     65   
);
   66     66   
static LISTUSERSINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   67     67   
    LISTUSERSINPUT_SCHEMA_ID,
   68     68   
    ::aws_smithy_schema::ShapeType::Structure,
   69     69   
    &[
   70     70   
        &LISTUSERSINPUT_MEMBER_PATH_PREFIX,
   71     71   
        &LISTUSERSINPUT_MEMBER_MARKER,
   72     72   
        &LISTUSERSINPUT_MEMBER_MAX_ITEMS,
   73     73   
    ],
   74     74   
);
   75     75   
impl ListUsersInput {
   76     76   
    /// The schema for this shape.
   77     77   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &LISTUSERSINPUT_SCHEMA;
   78     78   
}
   79     79   
impl ::aws_smithy_schema::serde::SerializableStruct for ListUsersInput {
   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.path_prefix {
   86     86   
            ser.write_string(&LISTUSERSINPUT_MEMBER_PATH_PREFIX, val)?;
   87     87   
        }
   88     88   
        if let Some(ref val) = self.marker {
   89     89   
            ser.write_string(&LISTUSERSINPUT_MEMBER_MARKER, val)?;
   90     90   
        }
   91     91   
        if let Some(ref val) = self.max_items {
   92     92   
            ser.write_integer(&LISTUSERSINPUT_MEMBER_MAX_ITEMS, *val)?;
   93     93   
        }
   94     94   
        Ok(())
   95     95   
    }
   96     96   
}
   97     97   
impl ListUsersInput {
   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(&LISTUSERSINPUT_SCHEMA, (), |_, member, deser| {
         111  +
        deserializer.read_struct(&LISTUSERSINPUT_SCHEMA, &mut |member, deser| {
  112    112   
            match member.member_index() {
  113    113   
                Some(0) => {
  114    114   
                    builder.path_prefix = Some(deser.read_string(member)?);
  115    115   
                }
  116    116   
                Some(1) => {
  117    117   
                    builder.marker = Some(deser.read_string(member)?);
  118    118   
                }
  119    119   
                Some(2) => {
  120    120   
                    builder.max_items = Some(deser.read_integer(member)?);
  121    121   
                }
  122    122   
                _ => {}
  123    123   
            }
  124    124   
            Ok(())
  125    125   
        })?;
  126    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 ListUsersInput {
         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 ListUsersInput {
  132    143   
    /// Creates a new builder-style object to manufacture [`ListUsersInput`](crate::operation::list_users::ListUsersInput).
  133    144   
    pub fn builder() -> crate::operation::list_users::builders::ListUsersInputBuilder {
  134    145   
        crate::operation::list_users::builders::ListUsersInputBuilder::default()
  135    146   
    }
  136    147   
}
  137    148   
  138    149   
/// A builder for [`ListUsersInput`](crate::operation::list_users::ListUsersInput).
  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/iam/src/operation/list_users/_list_users_output.rs

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

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

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

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

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

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

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

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

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

@@ -33,33 +180,194 @@
   53     53   
    "com.amazonaws.iam.synthetic",
   54     54   
    "PutGroupPolicyInput",
   55     55   
);
   56     56   
static PUTGROUPPOLICYINPUT_MEMBER_GROUP_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   57     57   
    ::aws_smithy_schema::ShapeId::from_static(
   58     58   
        "com.amazonaws.iam.synthetic#PutGroupPolicyInput$GroupName",
   59     59   
        "com.amazonaws.iam.synthetic",
   60     60   
        "PutGroupPolicyInput",
   61     61   
    ),
   62     62   
    ::aws_smithy_schema::ShapeType::String,
   63         -
    "group_name",
          63  +
    "GroupName",
   64     64   
    0,
   65     65   
);
   66     66   
static PUTGROUPPOLICYINPUT_MEMBER_POLICY_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   67     67   
    ::aws_smithy_schema::ShapeId::from_static(
   68     68   
        "com.amazonaws.iam.synthetic#PutGroupPolicyInput$PolicyName",
   69     69   
        "com.amazonaws.iam.synthetic",
   70     70   
        "PutGroupPolicyInput",
   71     71   
    ),
   72     72   
    ::aws_smithy_schema::ShapeType::String,
   73         -
    "policy_name",
          73  +
    "PolicyName",
   74     74   
    1,
   75     75   
);
   76     76   
static PUTGROUPPOLICYINPUT_MEMBER_POLICY_DOCUMENT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   77     77   
    ::aws_smithy_schema::ShapeId::from_static(
   78     78   
        "com.amazonaws.iam.synthetic#PutGroupPolicyInput$PolicyDocument",
   79     79   
        "com.amazonaws.iam.synthetic",
   80     80   
        "PutGroupPolicyInput",
   81     81   
    ),
   82     82   
    ::aws_smithy_schema::ShapeType::String,
   83         -
    "policy_document",
          83  +
    "PolicyDocument",
   84     84   
    2,
   85     85   
);
   86     86   
static PUTGROUPPOLICYINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   87     87   
    PUTGROUPPOLICYINPUT_SCHEMA_ID,
   88     88   
    ::aws_smithy_schema::ShapeType::Structure,
   89     89   
    &[
   90     90   
        &PUTGROUPPOLICYINPUT_MEMBER_GROUP_NAME,
   91     91   
        &PUTGROUPPOLICYINPUT_MEMBER_POLICY_NAME,
   92     92   
        &PUTGROUPPOLICYINPUT_MEMBER_POLICY_DOCUMENT,
   93     93   
    ],
   94     94   
);
   95     95   
impl PutGroupPolicyInput {
   96     96   
    /// The schema for this shape.
   97     97   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &PUTGROUPPOLICYINPUT_SCHEMA;
   98     98   
}
   99     99   
impl ::aws_smithy_schema::serde::SerializableStruct for PutGroupPolicyInput {
  100    100   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  101    101   
    fn serialize_members(
  102    102   
        &self,
  103    103   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  104    104   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  105    105   
        if let Some(ref val) = self.group_name {
  106    106   
            ser.write_string(&PUTGROUPPOLICYINPUT_MEMBER_GROUP_NAME, val)?;
  107    107   
        }
  108    108   
        if let Some(ref val) = self.policy_name {
  109    109   
            ser.write_string(&PUTGROUPPOLICYINPUT_MEMBER_POLICY_NAME, val)?;
  110    110   
        }
  111    111   
        if let Some(ref val) = self.policy_document {
  112    112   
            ser.write_string(&PUTGROUPPOLICYINPUT_MEMBER_POLICY_DOCUMENT, val)?;
  113    113   
        }
  114    114   
        Ok(())
  115    115   
    }
  116    116   
}
  117    117   
impl PutGroupPolicyInput {
  118    118   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  119         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  120         -
        deserializer: &mut D,
         119  +
    pub fn deserialize(
         120  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  121    121   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  122    122   
        #[allow(unused_variables, unused_mut)]
  123    123   
        let mut builder = Self::builder();
  124    124   
        #[allow(
  125    125   
            unused_variables,
  126    126   
            unreachable_code,
  127    127   
            clippy::single_match,
  128    128   
            clippy::match_single_binding,
  129    129   
            clippy::diverging_sub_expression
  130    130   
        )]
  131         -
        deserializer.read_struct(&PUTGROUPPOLICYINPUT_SCHEMA, (), |_, member, deser| {
         131  +
        deserializer.read_struct(&PUTGROUPPOLICYINPUT_SCHEMA, &mut |member, deser| {
  132    132   
            match member.member_index() {
  133    133   
                Some(0) => {
  134    134   
                    builder.group_name = Some(deser.read_string(member)?);
  135    135   
                }
  136    136   
                Some(1) => {
  137    137   
                    builder.policy_name = Some(deser.read_string(member)?);
  138    138   
                }
  139    139   
                Some(2) => {
  140    140   
                    builder.policy_document = Some(deser.read_string(member)?);
  141    141   
                }
  142    142   
                _ => {}
  143    143   
            }
  144    144   
            Ok(())
  145    145   
        })?;
         146  +
        builder.group_name = builder.group_name.or(Some(String::new()));
         147  +
        builder.policy_name = builder.policy_name.or(Some(String::new()));
         148  +
        builder.policy_document = builder.policy_document.or(Some(String::new()));
  146    149   
        builder
  147    150   
            .build()
  148    151   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  149    152   
    }
  150    153   
}
         154  +
impl PutGroupPolicyInput {
         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  +
}
  151    165   
impl PutGroupPolicyInput {
  152    166   
    /// Creates a new builder-style object to manufacture [`PutGroupPolicyInput`](crate::operation::put_group_policy::PutGroupPolicyInput).
  153    167   
    pub fn builder() -> crate::operation::put_group_policy::builders::PutGroupPolicyInputBuilder {
  154    168   
        crate::operation::put_group_policy::builders::PutGroupPolicyInputBuilder::default()
  155    169   
    }
  156    170   
}
  157    171   
  158    172   
/// A builder for [`PutGroupPolicyInput`](crate::operation::put_group_policy::PutGroupPolicyInput).
  159    173   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  160    174   
#[non_exhaustive]

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

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

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

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

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

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

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

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

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

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

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

@@ -33,33 +180,194 @@
   53     53   
    "com.amazonaws.iam.synthetic",
   54     54   
    "PutRolePolicyInput",
   55     55   
);
   56     56   
static PUTROLEPOLICYINPUT_MEMBER_ROLE_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   57     57   
    ::aws_smithy_schema::ShapeId::from_static(
   58     58   
        "com.amazonaws.iam.synthetic#PutRolePolicyInput$RoleName",
   59     59   
        "com.amazonaws.iam.synthetic",
   60     60   
        "PutRolePolicyInput",
   61     61   
    ),
   62     62   
    ::aws_smithy_schema::ShapeType::String,
   63         -
    "role_name",
          63  +
    "RoleName",
   64     64   
    0,
   65     65   
);
   66     66   
static PUTROLEPOLICYINPUT_MEMBER_POLICY_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   67     67   
    ::aws_smithy_schema::ShapeId::from_static(
   68     68   
        "com.amazonaws.iam.synthetic#PutRolePolicyInput$PolicyName",
   69     69   
        "com.amazonaws.iam.synthetic",
   70     70   
        "PutRolePolicyInput",
   71     71   
    ),
   72     72   
    ::aws_smithy_schema::ShapeType::String,
   73         -
    "policy_name",
          73  +
    "PolicyName",
   74     74   
    1,
   75     75   
);
   76     76   
static PUTROLEPOLICYINPUT_MEMBER_POLICY_DOCUMENT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   77     77   
    ::aws_smithy_schema::ShapeId::from_static(
   78     78   
        "com.amazonaws.iam.synthetic#PutRolePolicyInput$PolicyDocument",
   79     79   
        "com.amazonaws.iam.synthetic",
   80     80   
        "PutRolePolicyInput",
   81     81   
    ),
   82     82   
    ::aws_smithy_schema::ShapeType::String,
   83         -
    "policy_document",
          83  +
    "PolicyDocument",
   84     84   
    2,
   85     85   
);
   86     86   
static PUTROLEPOLICYINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   87     87   
    PUTROLEPOLICYINPUT_SCHEMA_ID,
   88     88   
    ::aws_smithy_schema::ShapeType::Structure,
   89     89   
    &[
   90     90   
        &PUTROLEPOLICYINPUT_MEMBER_ROLE_NAME,
   91     91   
        &PUTROLEPOLICYINPUT_MEMBER_POLICY_NAME,
   92     92   
        &PUTROLEPOLICYINPUT_MEMBER_POLICY_DOCUMENT,
   93     93   
    ],
   94     94   
);
   95     95   
impl PutRolePolicyInput {
   96     96   
    /// The schema for this shape.
   97     97   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &PUTROLEPOLICYINPUT_SCHEMA;
   98     98   
}
   99     99   
impl ::aws_smithy_schema::serde::SerializableStruct for PutRolePolicyInput {
  100    100   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  101    101   
    fn serialize_members(
  102    102   
        &self,
  103    103   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  104    104   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  105    105   
        if let Some(ref val) = self.role_name {
  106    106   
            ser.write_string(&PUTROLEPOLICYINPUT_MEMBER_ROLE_NAME, val)?;
  107    107   
        }
  108    108   
        if let Some(ref val) = self.policy_name {
  109    109   
            ser.write_string(&PUTROLEPOLICYINPUT_MEMBER_POLICY_NAME, val)?;
  110    110   
        }
  111    111   
        if let Some(ref val) = self.policy_document {
  112    112   
            ser.write_string(&PUTROLEPOLICYINPUT_MEMBER_POLICY_DOCUMENT, val)?;
  113    113   
        }
  114    114   
        Ok(())
  115    115   
    }
  116    116   
}
  117    117   
impl PutRolePolicyInput {
  118    118   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  119         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  120         -
        deserializer: &mut D,
         119  +
    pub fn deserialize(
         120  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  121    121   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  122    122   
        #[allow(unused_variables, unused_mut)]
  123    123   
        let mut builder = Self::builder();
  124    124   
        #[allow(
  125    125   
            unused_variables,
  126    126   
            unreachable_code,
  127    127   
            clippy::single_match,
  128    128   
            clippy::match_single_binding,
  129    129   
            clippy::diverging_sub_expression
  130    130   
        )]
  131         -
        deserializer.read_struct(&PUTROLEPOLICYINPUT_SCHEMA, (), |_, member, deser| {
         131  +
        deserializer.read_struct(&PUTROLEPOLICYINPUT_SCHEMA, &mut |member, deser| {
  132    132   
            match member.member_index() {
  133    133   
                Some(0) => {
  134    134   
                    builder.role_name = Some(deser.read_string(member)?);
  135    135   
                }
  136    136   
                Some(1) => {
  137    137   
                    builder.policy_name = Some(deser.read_string(member)?);
  138    138   
                }
  139    139   
                Some(2) => {
  140    140   
                    builder.policy_document = Some(deser.read_string(member)?);
  141    141   
                }
  142    142   
                _ => {}
  143    143   
            }
  144    144   
            Ok(())
  145    145   
        })?;
         146  +
        builder.role_name = builder.role_name.or(Some(String::new()));
         147  +
        builder.policy_name = builder.policy_name.or(Some(String::new()));
         148  +
        builder.policy_document = builder.policy_document.or(Some(String::new()));
  146    149   
        builder
  147    150   
            .build()
  148    151   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  149    152   
    }
  150    153   
}
         154  +
impl PutRolePolicyInput {
         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  +
}
  151    165   
impl PutRolePolicyInput {
  152    166   
    /// Creates a new builder-style object to manufacture [`PutRolePolicyInput`](crate::operation::put_role_policy::PutRolePolicyInput).
  153    167   
    pub fn builder() -> crate::operation::put_role_policy::builders::PutRolePolicyInputBuilder {
  154    168   
        crate::operation::put_role_policy::builders::PutRolePolicyInputBuilder::default()
  155    169   
    }
  156    170   
}
  157    171   
  158    172   
/// A builder for [`PutRolePolicyInput`](crate::operation::put_role_policy::PutRolePolicyInput).
  159    173   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  160    174   
#[non_exhaustive]

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

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

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

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