AWS SDK

AWS SDK

rev. 32b1b3c3761061baed26023be3219639e42d7d12

Files changed:

tmp-codegen-diff/aws-sdk/sdk/s3control/src/operation/dissociate_access_grants_identity_center/_dissociate_access_grants_identity_center_output.rs

@@ -1,1 +83,111 @@
    3      3   
#[non_exhaustive]
    4      4   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5      5   
pub struct DissociateAccessGrantsIdentityCenterOutput {
    6      6   
    _request_id: Option<String>,
    7      7   
}
    8      8   
static DISSOCIATEACCESSGRANTSIDENTITYCENTEROUTPUT_SCHEMA_ID: ::aws_smithy_schema::ShapeId = ::aws_smithy_schema::ShapeId::from_static(
    9      9   
    "com.amazonaws.s3control.synthetic#DissociateAccessGrantsIdentityCenterOutput",
   10     10   
    "com.amazonaws.s3control.synthetic",
   11     11   
    "DissociateAccessGrantsIdentityCenterOutput",
   12     12   
);
          13  +
static DISSOCIATEACCESSGRANTSIDENTITYCENTEROUTPUT_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");
   13     20   
static DISSOCIATEACCESSGRANTSIDENTITYCENTEROUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   14     21   
    DISSOCIATEACCESSGRANTSIDENTITYCENTEROUTPUT_SCHEMA_ID,
   15     22   
    ::aws_smithy_schema::ShapeType::Structure,
   16         -
    &[],
          23  +
    &[&DISSOCIATEACCESSGRANTSIDENTITYCENTEROUTPUT_MEMBER__REQUEST_ID],
   17     24   
);
   18     25   
impl DissociateAccessGrantsIdentityCenterOutput {
   19     26   
    /// The schema for this shape.
   20     27   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &DISSOCIATEACCESSGRANTSIDENTITYCENTEROUTPUT_SCHEMA;
   21     28   
}
   22     29   
impl ::aws_smithy_schema::serde::SerializableStruct for DissociateAccessGrantsIdentityCenterOutput {
   23     30   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   24     31   
    fn serialize_members(
   25     32   
        &self,
   26     33   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   27     34   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   28     35   
        Ok(())
   29     36   
    }
   30     37   
}
   31     38   
impl DissociateAccessGrantsIdentityCenterOutput {
   32     39   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   33         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   34         -
        deserializer: &mut D,
          40  +
    pub fn deserialize(
          41  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   35     42   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   36     43   
        #[allow(unused_variables, unused_mut)]
   37     44   
        let mut builder = Self::builder();
   38     45   
        #[allow(
   39     46   
            unused_variables,
   40     47   
            unreachable_code,
   41     48   
            clippy::single_match,
   42     49   
            clippy::match_single_binding,
   43     50   
            clippy::diverging_sub_expression
   44     51   
        )]
   45         -
        deserializer.read_struct(&DISSOCIATEACCESSGRANTSIDENTITYCENTEROUTPUT_SCHEMA, (), |_, member, deser| {
          52  +
        deserializer.read_struct(&DISSOCIATEACCESSGRANTSIDENTITYCENTEROUTPUT_SCHEMA, &mut |member, deser| {
   46     53   
            match member.member_index() {
          54  +
                Some(0) => {
          55  +
                    builder._request_id = Some(deser.read_string(member)?);
          56  +
                }
   47     57   
                _ => {}
   48     58   
            }
   49     59   
            Ok(())
   50     60   
        })?;
   51     61   
        Ok(builder.build())
   52     62   
    }
   53     63   
}
          64  +
impl DissociateAccessGrantsIdentityCenterOutput {
          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  +
}
   54     82   
impl ::aws_types::request_id::RequestId for DissociateAccessGrantsIdentityCenterOutput {
   55     83   
    fn request_id(&self) -> Option<&str> {
   56     84   
        self._request_id.as_deref()
   57     85   
    }
   58     86   
}
   59     87   
impl DissociateAccessGrantsIdentityCenterOutput {
   60     88   
    /// Creates a new builder-style object to manufacture [`DissociateAccessGrantsIdentityCenterOutput`](crate::operation::dissociate_access_grants_identity_center::DissociateAccessGrantsIdentityCenterOutput).
   61     89   
    pub fn builder() -> crate::operation::dissociate_access_grants_identity_center::builders::DissociateAccessGrantsIdentityCenterOutputBuilder {
   62     90   
        crate::operation::dissociate_access_grants_identity_center::builders::DissociateAccessGrantsIdentityCenterOutputBuilder::default()
   63     91   
    }

tmp-codegen-diff/aws-sdk/sdk/s3control/src/operation/get_access_grant.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 `GetAccessGrant`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct GetAccessGrant;
    6      6   
impl GetAccessGrant {
    7      7   
    /// Creates a new `GetAccessGrant`
    8      8   
    pub fn new() -> Self {
    9      9   
        Self
   10     10   
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::get_access_grant::GetAccessGrantInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::get_access_grant::GetAccessGrantOutput::SCHEMA;
   11     15   
    pub(crate) async fn orchestrate(
   12     16   
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13     17   
        input: crate::operation::get_access_grant::GetAccessGrantInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::get_access_grant::GetAccessGrantOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::get_access_grant::GetAccessGrantError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -118,122 +180,185 @@
  138    142   
                crate::operation::get_access_grant::GetAccessGrantError,
  139    143   
            >::new());
  140    144   
  141    145   
        ::std::borrow::Cow::Owned(rcb)
  142    146   
    }
  143    147   
}
  144    148   
  145    149   
#[derive(Debug)]
  146    150   
struct GetAccessGrantResponseDeserializer;
  147    151   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for GetAccessGrantResponseDeserializer {
  148         -
    fn deserialize_nonstreaming(
         152  +
    fn deserialize_nonstreaming_with_config(
  149    153   
        &self,
  150    154   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         155  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  151    156   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  152    157   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  153    158   
        let headers = response.headers();
  154    159   
        let body = response.body().bytes().expect("body loaded");
  155    160   
        #[allow(unused_mut)]
  156    161   
        let mut force_error = false;
  157    162   
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  158    163   
        let parse_result = if !success && status != 200 || force_error {
  159    164   
            crate::protocol_serde::shape_get_access_grant::de_get_access_grant_http_error(status, headers, body)
  160    165   
        } else {

tmp-codegen-diff/aws-sdk/sdk/s3control/src/operation/get_access_grant/_get_access_grant_input.rs

@@ -3,3 +128,172 @@
   23     23   
    "com.amazonaws.s3control.synthetic",
   24     24   
    "GetAccessGrantInput",
   25     25   
);
   26     26   
static GETACCESSGRANTINPUT_MEMBER_ACCOUNT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   27     27   
    ::aws_smithy_schema::ShapeId::from_static(
   28     28   
        "com.amazonaws.s3control.synthetic#GetAccessGrantInput$AccountId",
   29     29   
        "com.amazonaws.s3control.synthetic",
   30     30   
        "GetAccessGrantInput",
   31     31   
    ),
   32     32   
    ::aws_smithy_schema::ShapeType::String,
   33         -
    "account_id",
          33  +
    "AccountId",
   34     34   
    0,
   35     35   
)
   36     36   
.with_host_label()
   37     37   
.with_http_header("x-amz-account-id");
   38     38   
static GETACCESSGRANTINPUT_MEMBER_ACCESS_GRANT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   39     39   
    ::aws_smithy_schema::ShapeId::from_static(
   40     40   
        "com.amazonaws.s3control.synthetic#GetAccessGrantInput$AccessGrantId",
   41     41   
        "com.amazonaws.s3control.synthetic",
   42     42   
        "GetAccessGrantInput",
   43     43   
    ),
   44     44   
    ::aws_smithy_schema::ShapeType::String,
   45         -
    "access_grant_id",
          45  +
    "AccessGrantId",
   46     46   
    1,
   47     47   
)
   48     48   
.with_http_label();
   49     49   
static GETACCESSGRANTINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   50     50   
    GETACCESSGRANTINPUT_SCHEMA_ID,
   51     51   
    ::aws_smithy_schema::ShapeType::Structure,
   52     52   
    &[&GETACCESSGRANTINPUT_MEMBER_ACCOUNT_ID, &GETACCESSGRANTINPUT_MEMBER_ACCESS_GRANT_ID],
   53         -
);
          53  +
)
          54  +
.with_http(aws_smithy_schema::traits::HttpTrait::new(
          55  +
    "GET",
          56  +
    "/v20180820/accessgrantsinstance/grant/{AccessGrantId}",
          57  +
    None,
          58  +
));
   54     59   
impl GetAccessGrantInput {
   55     60   
    /// The schema for this shape.
   56     61   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GETACCESSGRANTINPUT_SCHEMA;
   57     62   
}
   58     63   
impl ::aws_smithy_schema::serde::SerializableStruct for GetAccessGrantInput {
   59     64   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   60     65   
    fn serialize_members(
   61     66   
        &self,
   62     67   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   63     68   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   64     69   
        if let Some(ref val) = self.account_id {
   65     70   
            ser.write_string(&GETACCESSGRANTINPUT_MEMBER_ACCOUNT_ID, val)?;
   66     71   
        }
   67     72   
        if let Some(ref val) = self.access_grant_id {
   68     73   
            ser.write_string(&GETACCESSGRANTINPUT_MEMBER_ACCESS_GRANT_ID, val)?;
   69     74   
        }
   70     75   
        Ok(())
   71     76   
    }
   72     77   
}
   73     78   
impl GetAccessGrantInput {
   74     79   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   75         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   76         -
        deserializer: &mut D,
          80  +
    pub fn deserialize(
          81  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   77     82   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   78     83   
        #[allow(unused_variables, unused_mut)]
   79     84   
        let mut builder = Self::builder();
   80     85   
        #[allow(
   81     86   
            unused_variables,
   82     87   
            unreachable_code,
   83     88   
            clippy::single_match,
   84     89   
            clippy::match_single_binding,
   85     90   
            clippy::diverging_sub_expression
   86     91   
        )]
   87         -
        deserializer.read_struct(&GETACCESSGRANTINPUT_SCHEMA, (), |_, member, deser| {
          92  +
        deserializer.read_struct(&GETACCESSGRANTINPUT_SCHEMA, &mut |member, deser| {
   88     93   
            match member.member_index() {
   89     94   
                Some(0) => {
   90     95   
                    builder.account_id = Some(deser.read_string(member)?);
   91     96   
                }
   92     97   
                Some(1) => {
   93     98   
                    builder.access_grant_id = Some(deser.read_string(member)?);
   94     99   
                }
   95    100   
                _ => {}
   96    101   
            }
   97    102   
            Ok(())
   98    103   
        })?;
         104  +
        builder.account_id = builder.account_id.or(Some(String::new()));
         105  +
        builder.access_grant_id = builder.access_grant_id.or(Some(String::new()));
         106  +
        builder
         107  +
            .build()
         108  +
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
         109  +
    }
         110  +
}
         111  +
impl GetAccessGrantInput {
         112  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         113  +
    /// Header-bound members are read directly from headers, avoiding runtime
         114  +
    /// member iteration overhead. Body members are read via the deserializer.
         115  +
    pub fn deserialize_with_response(
         116  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         117  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         118  +
        _status: u16,
         119  +
        _body: &[u8],
         120  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         121  +
        #[allow(unused_variables, unused_mut)]
         122  +
        let mut builder = Self::builder();
         123  +
        if let Some(val) = headers.get("x-amz-account-id") {
         124  +
            builder.account_id = Some(val.to_string());
         125  +
        }
         126  +
        #[allow(
         127  +
            unused_variables,
         128  +
            unreachable_code,
         129  +
            clippy::single_match,
         130  +
            clippy::match_single_binding,
         131  +
            clippy::diverging_sub_expression
         132  +
        )]
         133  +
        deserializer.read_struct(&GETACCESSGRANTINPUT_SCHEMA, &mut |member, deser| {
         134  +
            match member.member_index() {
         135  +
                Some(0) => { /* read from headers above */ }
         136  +
                Some(1) => {
         137  +
                    builder.access_grant_id = Some(deser.read_string(member)?);
         138  +
                }
         139  +
                _ => {}
         140  +
            }
         141  +
            Ok(())
         142  +
        })?;
   99    143   
        builder
  100    144   
            .build()
  101    145   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  102    146   
    }
  103    147   
}
  104    148   
impl GetAccessGrantInput {
  105    149   
    /// Creates a new builder-style object to manufacture [`GetAccessGrantInput`](crate::operation::get_access_grant::GetAccessGrantInput).
  106    150   
    pub fn builder() -> crate::operation::get_access_grant::builders::GetAccessGrantInputBuilder {
  107    151   
        crate::operation::get_access_grant::builders::GetAccessGrantInputBuilder::default()
  108    152   
    }

tmp-codegen-diff/aws-sdk/sdk/s3control/src/operation/get_access_grant/_get_access_grant_output.rs

@@ -62,62 +274,343 @@
   82     82   
    "com.amazonaws.s3control.synthetic",
   83     83   
    "GetAccessGrantOutput",
   84     84   
);
   85     85   
static GETACCESSGRANTOUTPUT_MEMBER_CREATED_AT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   86     86   
    ::aws_smithy_schema::ShapeId::from_static(
   87     87   
        "com.amazonaws.s3control.synthetic#GetAccessGrantOutput$CreatedAt",
   88     88   
        "com.amazonaws.s3control.synthetic",
   89     89   
        "GetAccessGrantOutput",
   90     90   
    ),
   91     91   
    ::aws_smithy_schema::ShapeType::Timestamp,
   92         -
    "created_at",
          92  +
    "CreatedAt",
   93     93   
    0,
   94     94   
);
   95     95   
static GETACCESSGRANTOUTPUT_MEMBER_ACCESS_GRANT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   96     96   
    ::aws_smithy_schema::ShapeId::from_static(
   97     97   
        "com.amazonaws.s3control.synthetic#GetAccessGrantOutput$AccessGrantId",
   98     98   
        "com.amazonaws.s3control.synthetic",
   99     99   
        "GetAccessGrantOutput",
  100    100   
    ),
  101    101   
    ::aws_smithy_schema::ShapeType::String,
  102         -
    "access_grant_id",
         102  +
    "AccessGrantId",
  103    103   
    1,
  104    104   
);
  105    105   
static GETACCESSGRANTOUTPUT_MEMBER_ACCESS_GRANT_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  106    106   
    ::aws_smithy_schema::ShapeId::from_static(
  107    107   
        "com.amazonaws.s3control.synthetic#GetAccessGrantOutput$AccessGrantArn",
  108    108   
        "com.amazonaws.s3control.synthetic",
  109    109   
        "GetAccessGrantOutput",
  110    110   
    ),
  111    111   
    ::aws_smithy_schema::ShapeType::String,
  112         -
    "access_grant_arn",
         112  +
    "AccessGrantArn",
  113    113   
    2,
  114    114   
);
  115    115   
static GETACCESSGRANTOUTPUT_MEMBER_GRANTEE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  116    116   
    ::aws_smithy_schema::ShapeId::from_static(
  117    117   
        "com.amazonaws.s3control.synthetic#GetAccessGrantOutput$Grantee",
  118    118   
        "com.amazonaws.s3control.synthetic",
  119    119   
        "GetAccessGrantOutput",
  120    120   
    ),
  121    121   
    ::aws_smithy_schema::ShapeType::Structure,
  122         -
    "grantee",
         122  +
    "Grantee",
  123    123   
    3,
  124    124   
);
  125    125   
static GETACCESSGRANTOUTPUT_MEMBER_PERMISSION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  126    126   
    ::aws_smithy_schema::ShapeId::from_static(
  127    127   
        "com.amazonaws.s3control.synthetic#GetAccessGrantOutput$Permission",
  128    128   
        "com.amazonaws.s3control.synthetic",
  129    129   
        "GetAccessGrantOutput",
  130    130   
    ),
  131    131   
    ::aws_smithy_schema::ShapeType::String,
  132         -
    "permission",
         132  +
    "Permission",
  133    133   
    4,
  134    134   
);
  135    135   
static GETACCESSGRANTOUTPUT_MEMBER_ACCESS_GRANTS_LOCATION_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  136    136   
    ::aws_smithy_schema::ShapeId::from_static(
  137    137   
        "com.amazonaws.s3control.synthetic#GetAccessGrantOutput$AccessGrantsLocationId",
  138    138   
        "com.amazonaws.s3control.synthetic",
  139    139   
        "GetAccessGrantOutput",
  140    140   
    ),
  141    141   
    ::aws_smithy_schema::ShapeType::String,
  142         -
    "access_grants_location_id",
         142  +
    "AccessGrantsLocationId",
  143    143   
    5,
  144    144   
);
  145    145   
static GETACCESSGRANTOUTPUT_MEMBER_ACCESS_GRANTS_LOCATION_CONFIGURATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  146    146   
    ::aws_smithy_schema::ShapeId::from_static(
  147    147   
        "com.amazonaws.s3control.synthetic#GetAccessGrantOutput$AccessGrantsLocationConfiguration",
  148    148   
        "com.amazonaws.s3control.synthetic",
  149    149   
        "GetAccessGrantOutput",
  150    150   
    ),
  151    151   
    ::aws_smithy_schema::ShapeType::Structure,
  152         -
    "access_grants_location_configuration",
         152  +
    "AccessGrantsLocationConfiguration",
  153    153   
    6,
  154    154   
);
  155    155   
static GETACCESSGRANTOUTPUT_MEMBER_GRANT_SCOPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  156    156   
    ::aws_smithy_schema::ShapeId::from_static(
  157    157   
        "com.amazonaws.s3control.synthetic#GetAccessGrantOutput$GrantScope",
  158    158   
        "com.amazonaws.s3control.synthetic",
  159    159   
        "GetAccessGrantOutput",
  160    160   
    ),
  161    161   
    ::aws_smithy_schema::ShapeType::String,
  162         -
    "grant_scope",
         162  +
    "GrantScope",
  163    163   
    7,
  164    164   
);
  165    165   
static GETACCESSGRANTOUTPUT_MEMBER_APPLICATION_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  166    166   
    ::aws_smithy_schema::ShapeId::from_static(
  167    167   
        "com.amazonaws.s3control.synthetic#GetAccessGrantOutput$ApplicationArn",
  168    168   
        "com.amazonaws.s3control.synthetic",
  169    169   
        "GetAccessGrantOutput",
  170    170   
    ),
  171    171   
    ::aws_smithy_schema::ShapeType::String,
  172         -
    "application_arn",
         172  +
    "ApplicationArn",
  173    173   
    8,
  174    174   
);
         175  +
static GETACCESSGRANTOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
         176  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
         177  +
    ::aws_smithy_schema::ShapeType::String,
         178  +
    "request_id",
         179  +
    9,
         180  +
)
         181  +
.with_http_header("x-amzn-requestid");
  175    182   
static GETACCESSGRANTOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  176    183   
    GETACCESSGRANTOUTPUT_SCHEMA_ID,
  177    184   
    ::aws_smithy_schema::ShapeType::Structure,
  178    185   
    &[
  179    186   
        &GETACCESSGRANTOUTPUT_MEMBER_CREATED_AT,
  180    187   
        &GETACCESSGRANTOUTPUT_MEMBER_ACCESS_GRANT_ID,
  181    188   
        &GETACCESSGRANTOUTPUT_MEMBER_ACCESS_GRANT_ARN,
  182    189   
        &GETACCESSGRANTOUTPUT_MEMBER_GRANTEE,
  183    190   
        &GETACCESSGRANTOUTPUT_MEMBER_PERMISSION,
  184    191   
        &GETACCESSGRANTOUTPUT_MEMBER_ACCESS_GRANTS_LOCATION_ID,
  185    192   
        &GETACCESSGRANTOUTPUT_MEMBER_ACCESS_GRANTS_LOCATION_CONFIGURATION,
  186    193   
        &GETACCESSGRANTOUTPUT_MEMBER_GRANT_SCOPE,
  187    194   
        &GETACCESSGRANTOUTPUT_MEMBER_APPLICATION_ARN,
         195  +
        &GETACCESSGRANTOUTPUT_MEMBER__REQUEST_ID,
  188    196   
    ],
  189    197   
);
  190    198   
impl GetAccessGrantOutput {
  191    199   
    /// The schema for this shape.
  192    200   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GETACCESSGRANTOUTPUT_SCHEMA;
  193    201   
}
  194    202   
impl ::aws_smithy_schema::serde::SerializableStruct for GetAccessGrantOutput {
  195    203   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  196    204   
    fn serialize_members(
  197    205   
        &self,
  198    206   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  199    207   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  200    208   
        if let Some(ref val) = self.created_at {
  201    209   
            ser.write_timestamp(&GETACCESSGRANTOUTPUT_MEMBER_CREATED_AT, val)?;
  202    210   
        }
  203    211   
        if let Some(ref val) = self.access_grant_id {
  204    212   
            ser.write_string(&GETACCESSGRANTOUTPUT_MEMBER_ACCESS_GRANT_ID, val)?;
  205    213   
        }
  206    214   
        if let Some(ref val) = self.access_grant_arn {
  207    215   
            ser.write_string(&GETACCESSGRANTOUTPUT_MEMBER_ACCESS_GRANT_ARN, val)?;
  208    216   
        }
  209    217   
        if let Some(ref val) = self.grantee {
  210    218   
            ser.write_struct(&GETACCESSGRANTOUTPUT_MEMBER_GRANTEE, val)?;
  211    219   
        }
  212    220   
        if let Some(ref val) = self.permission {
  213    221   
            ser.write_string(&GETACCESSGRANTOUTPUT_MEMBER_PERMISSION, val.as_str())?;
  214    222   
        }
  215    223   
        if let Some(ref val) = self.access_grants_location_id {
  216    224   
            ser.write_string(&GETACCESSGRANTOUTPUT_MEMBER_ACCESS_GRANTS_LOCATION_ID, val)?;
  217    225   
        }
  218    226   
        if let Some(ref val) = self.access_grants_location_configuration {
  219    227   
            ser.write_struct(&GETACCESSGRANTOUTPUT_MEMBER_ACCESS_GRANTS_LOCATION_CONFIGURATION, val)?;
  220    228   
        }
  221    229   
        if let Some(ref val) = self.grant_scope {
  222    230   
            ser.write_string(&GETACCESSGRANTOUTPUT_MEMBER_GRANT_SCOPE, val)?;
  223    231   
        }
  224    232   
        if let Some(ref val) = self.application_arn {
  225    233   
            ser.write_string(&GETACCESSGRANTOUTPUT_MEMBER_APPLICATION_ARN, val)?;
  226    234   
        }
  227    235   
        Ok(())
  228    236   
    }
  229    237   
}
  230    238   
impl GetAccessGrantOutput {
  231    239   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  232         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  233         -
        deserializer: &mut D,
         240  +
    pub fn deserialize(
         241  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  234    242   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  235    243   
        #[allow(unused_variables, unused_mut)]
  236    244   
        let mut builder = Self::builder();
  237    245   
        #[allow(
  238    246   
            unused_variables,
  239    247   
            unreachable_code,
  240    248   
            clippy::single_match,
  241    249   
            clippy::match_single_binding,
  242    250   
            clippy::diverging_sub_expression
  243    251   
        )]
  244         -
        deserializer.read_struct(&GETACCESSGRANTOUTPUT_SCHEMA, (), |_, member, deser| {
         252  +
        deserializer.read_struct(&GETACCESSGRANTOUTPUT_SCHEMA, &mut |member, deser| {
         253  +
            match member.member_index() {
         254  +
                Some(0) => {
         255  +
                    builder.created_at = Some(deser.read_timestamp(member)?);
         256  +
                }
         257  +
                Some(1) => {
         258  +
                    builder.access_grant_id = Some(deser.read_string(member)?);
         259  +
                }
         260  +
                Some(2) => {
         261  +
                    builder.access_grant_arn = Some(deser.read_string(member)?);
         262  +
                }
         263  +
                Some(3) => {
         264  +
                    builder.grantee = Some(crate::types::Grantee::deserialize(deser)?);
         265  +
                }
         266  +
                Some(4) => {
         267  +
                    builder.permission = Some(crate::types::Permission::from(deser.read_string(member)?.as_str()));
         268  +
                }
         269  +
                Some(5) => {
         270  +
                    builder.access_grants_location_id = Some(deser.read_string(member)?);
         271  +
                }
         272  +
                Some(6) => {
         273  +
                    builder.access_grants_location_configuration = Some(crate::types::AccessGrantsLocationConfiguration::deserialize(deser)?);
         274  +
                }
         275  +
                Some(7) => {
         276  +
                    builder.grant_scope = Some(deser.read_string(member)?);
         277  +
                }
         278  +
                Some(8) => {
         279  +
                    builder.application_arn = Some(deser.read_string(member)?);
         280  +
                }
         281  +
                Some(9) => {
         282  +
                    builder._request_id = Some(deser.read_string(member)?);
         283  +
                }
         284  +
                _ => {}
         285  +
            }
         286  +
            Ok(())
         287  +
        })?;
         288  +
        Ok(builder.build())
         289  +
    }
         290  +
}
         291  +
impl GetAccessGrantOutput {
         292  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         293  +
    /// Header-bound members are read directly from headers, avoiding runtime
         294  +
    /// member iteration overhead. Body members are read via the deserializer.
         295  +
    pub fn deserialize_with_response(
         296  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         297  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         298  +
        _status: u16,
         299  +
        _body: &[u8],
         300  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         301  +
        #[allow(unused_variables, unused_mut)]
         302  +
        let mut builder = Self::builder();
         303  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         304  +
            builder._request_id = Some(val.to_string());
         305  +
        }
         306  +
        #[allow(
         307  +
            unused_variables,
         308  +
            unreachable_code,
         309  +
            clippy::single_match,
         310  +
            clippy::match_single_binding,
         311  +
            clippy::diverging_sub_expression
         312  +
        )]
         313  +
        deserializer.read_struct(&GETACCESSGRANTOUTPUT_SCHEMA, &mut |member, deser| {
  245    314   
            match member.member_index() {
  246    315   
                Some(0) => {
  247    316   
                    builder.created_at = Some(deser.read_timestamp(member)?);
  248    317   
                }
  249    318   
                Some(1) => {
  250    319   
                    builder.access_grant_id = Some(deser.read_string(member)?);
  251    320   
                }
  252    321   
                Some(2) => {
  253    322   
                    builder.access_grant_arn = Some(deser.read_string(member)?);
  254    323   
                }

tmp-codegen-diff/aws-sdk/sdk/s3control/src/operation/get_access_grants_instance.rs

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

tmp-codegen-diff/aws-sdk/sdk/s3control/src/operation/get_access_grants_instance/_get_access_grants_instance_input.rs

@@ -1,1 +105,127 @@
   17     17   
    "com.amazonaws.s3control.synthetic",
   18     18   
    "GetAccessGrantsInstanceInput",
   19     19   
);
   20     20   
static GETACCESSGRANTSINSTANCEINPUT_MEMBER_ACCOUNT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   21     21   
    ::aws_smithy_schema::ShapeId::from_static(
   22     22   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsInstanceInput$AccountId",
   23     23   
        "com.amazonaws.s3control.synthetic",
   24     24   
        "GetAccessGrantsInstanceInput",
   25     25   
    ),
   26     26   
    ::aws_smithy_schema::ShapeType::String,
   27         -
    "account_id",
          27  +
    "AccountId",
   28     28   
    0,
   29     29   
)
   30     30   
.with_host_label()
   31     31   
.with_http_header("x-amz-account-id");
   32     32   
static GETACCESSGRANTSINSTANCEINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   33     33   
    GETACCESSGRANTSINSTANCEINPUT_SCHEMA_ID,
   34     34   
    ::aws_smithy_schema::ShapeType::Structure,
   35     35   
    &[&GETACCESSGRANTSINSTANCEINPUT_MEMBER_ACCOUNT_ID],
   36         -
);
          36  +
)
          37  +
.with_http(aws_smithy_schema::traits::HttpTrait::new("GET", "/v20180820/accessgrantsinstance", None));
   37     38   
impl GetAccessGrantsInstanceInput {
   38     39   
    /// The schema for this shape.
   39     40   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GETACCESSGRANTSINSTANCEINPUT_SCHEMA;
   40     41   
}
   41     42   
impl ::aws_smithy_schema::serde::SerializableStruct for GetAccessGrantsInstanceInput {
   42     43   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   43     44   
    fn serialize_members(
   44     45   
        &self,
   45     46   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   46     47   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   47     48   
        if let Some(ref val) = self.account_id {
   48     49   
            ser.write_string(&GETACCESSGRANTSINSTANCEINPUT_MEMBER_ACCOUNT_ID, val)?;
   49     50   
        }
   50     51   
        Ok(())
   51     52   
    }
   52     53   
}
   53     54   
impl GetAccessGrantsInstanceInput {
   54     55   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   55         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   56         -
        deserializer: &mut D,
          56  +
    pub fn deserialize(
          57  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   57     58   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   58     59   
        #[allow(unused_variables, unused_mut)]
   59     60   
        let mut builder = Self::builder();
   60     61   
        #[allow(
   61     62   
            unused_variables,
   62     63   
            unreachable_code,
   63     64   
            clippy::single_match,
   64     65   
            clippy::match_single_binding,
   65     66   
            clippy::diverging_sub_expression
   66     67   
        )]
   67         -
        deserializer.read_struct(&GETACCESSGRANTSINSTANCEINPUT_SCHEMA, (), |_, member, deser| {
          68  +
        deserializer.read_struct(&GETACCESSGRANTSINSTANCEINPUT_SCHEMA, &mut |member, deser| {
   68     69   
            match member.member_index() {
   69     70   
                Some(0) => {
   70     71   
                    builder.account_id = Some(deser.read_string(member)?);
   71     72   
                }
   72     73   
                _ => {}
   73     74   
            }
   74     75   
            Ok(())
   75     76   
        })?;
          77  +
        builder.account_id = builder.account_id.or(Some(String::new()));
          78  +
        builder
          79  +
            .build()
          80  +
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
          81  +
    }
          82  +
}
          83  +
impl GetAccessGrantsInstanceInput {
          84  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
          85  +
    /// Header-bound members are read directly from headers, avoiding runtime
          86  +
    /// member iteration overhead. Body members are read via the deserializer.
          87  +
    pub fn deserialize_with_response(
          88  +
        _deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          89  +
        headers: &::aws_smithy_runtime_api::http::Headers,
          90  +
        _status: u16,
          91  +
        _body: &[u8],
          92  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          93  +
        #[allow(unused_variables, unused_mut)]
          94  +
        let mut builder = Self::builder();
          95  +
        if let Some(val) = headers.get("x-amz-account-id") {
          96  +
            builder.account_id = Some(val.to_string());
          97  +
        }
   76     98   
        builder
   77     99   
            .build()
   78    100   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
   79    101   
    }
   80    102   
}
   81    103   
impl GetAccessGrantsInstanceInput {
   82    104   
    /// Creates a new builder-style object to manufacture [`GetAccessGrantsInstanceInput`](crate::operation::get_access_grants_instance::GetAccessGrantsInstanceInput).
   83    105   
    pub fn builder() -> crate::operation::get_access_grants_instance::builders::GetAccessGrantsInstanceInputBuilder {
   84    106   
        crate::operation::get_access_grants_instance::builders::GetAccessGrantsInstanceInputBuilder::default()
   85    107   
    }

tmp-codegen-diff/aws-sdk/sdk/s3control/src/operation/get_access_grants_instance/_get_access_grants_instance_output.rs

@@ -30,30 +200,260 @@
   50     50   
    "com.amazonaws.s3control.synthetic",
   51     51   
    "GetAccessGrantsInstanceOutput",
   52     52   
);
   53     53   
static GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_ACCESS_GRANTS_INSTANCE_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   54     54   
    ::aws_smithy_schema::ShapeId::from_static(
   55     55   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsInstanceOutput$AccessGrantsInstanceArn",
   56     56   
        "com.amazonaws.s3control.synthetic",
   57     57   
        "GetAccessGrantsInstanceOutput",
   58     58   
    ),
   59     59   
    ::aws_smithy_schema::ShapeType::String,
   60         -
    "access_grants_instance_arn",
          60  +
    "AccessGrantsInstanceArn",
   61     61   
    0,
   62     62   
);
   63     63   
static GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_ACCESS_GRANTS_INSTANCE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   64     64   
    ::aws_smithy_schema::ShapeId::from_static(
   65     65   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsInstanceOutput$AccessGrantsInstanceId",
   66     66   
        "com.amazonaws.s3control.synthetic",
   67     67   
        "GetAccessGrantsInstanceOutput",
   68     68   
    ),
   69     69   
    ::aws_smithy_schema::ShapeType::String,
   70         -
    "access_grants_instance_id",
          70  +
    "AccessGrantsInstanceId",
   71     71   
    1,
   72     72   
);
   73     73   
static GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_IDENTITY_CENTER_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   74     74   
    ::aws_smithy_schema::ShapeId::from_static(
   75     75   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsInstanceOutput$IdentityCenterArn",
   76     76   
        "com.amazonaws.s3control.synthetic",
   77     77   
        "GetAccessGrantsInstanceOutput",
   78     78   
    ),
   79     79   
    ::aws_smithy_schema::ShapeType::String,
   80         -
    "identity_center_arn",
          80  +
    "IdentityCenterArn",
   81     81   
    2,
   82     82   
);
   83     83   
static GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_IDENTITY_CENTER_INSTANCE_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   84     84   
    ::aws_smithy_schema::ShapeId::from_static(
   85     85   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsInstanceOutput$IdentityCenterInstanceArn",
   86     86   
        "com.amazonaws.s3control.synthetic",
   87     87   
        "GetAccessGrantsInstanceOutput",
   88     88   
    ),
   89     89   
    ::aws_smithy_schema::ShapeType::String,
   90         -
    "identity_center_instance_arn",
          90  +
    "IdentityCenterInstanceArn",
   91     91   
    3,
   92     92   
);
   93     93   
static GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_IDENTITY_CENTER_APPLICATION_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   94     94   
    ::aws_smithy_schema::ShapeId::from_static(
   95     95   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsInstanceOutput$IdentityCenterApplicationArn",
   96     96   
        "com.amazonaws.s3control.synthetic",
   97     97   
        "GetAccessGrantsInstanceOutput",
   98     98   
    ),
   99     99   
    ::aws_smithy_schema::ShapeType::String,
  100         -
    "identity_center_application_arn",
         100  +
    "IdentityCenterApplicationArn",
  101    101   
    4,
  102    102   
);
  103    103   
static GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_CREATED_AT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  104    104   
    ::aws_smithy_schema::ShapeId::from_static(
  105    105   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsInstanceOutput$CreatedAt",
  106    106   
        "com.amazonaws.s3control.synthetic",
  107    107   
        "GetAccessGrantsInstanceOutput",
  108    108   
    ),
  109    109   
    ::aws_smithy_schema::ShapeType::Timestamp,
  110         -
    "created_at",
         110  +
    "CreatedAt",
  111    111   
    5,
  112    112   
);
         113  +
static GETACCESSGRANTSINSTANCEOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
         114  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
         115  +
    ::aws_smithy_schema::ShapeType::String,
         116  +
    "request_id",
         117  +
    6,
         118  +
)
         119  +
.with_http_header("x-amzn-requestid");
  113    120   
static GETACCESSGRANTSINSTANCEOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  114    121   
    GETACCESSGRANTSINSTANCEOUTPUT_SCHEMA_ID,
  115    122   
    ::aws_smithy_schema::ShapeType::Structure,
  116    123   
    &[
  117    124   
        &GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_ACCESS_GRANTS_INSTANCE_ARN,
  118    125   
        &GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_ACCESS_GRANTS_INSTANCE_ID,
  119    126   
        &GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_IDENTITY_CENTER_ARN,
  120    127   
        &GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_IDENTITY_CENTER_INSTANCE_ARN,
  121    128   
        &GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_IDENTITY_CENTER_APPLICATION_ARN,
  122    129   
        &GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_CREATED_AT,
         130  +
        &GETACCESSGRANTSINSTANCEOUTPUT_MEMBER__REQUEST_ID,
  123    131   
    ],
  124    132   
);
  125    133   
impl GetAccessGrantsInstanceOutput {
  126    134   
    /// The schema for this shape.
  127    135   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GETACCESSGRANTSINSTANCEOUTPUT_SCHEMA;
  128    136   
}
  129    137   
impl ::aws_smithy_schema::serde::SerializableStruct for GetAccessGrantsInstanceOutput {
  130    138   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  131    139   
    fn serialize_members(
  132    140   
        &self,
  133    141   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  134    142   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  135    143   
        if let Some(ref val) = self.access_grants_instance_arn {
  136    144   
            ser.write_string(&GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_ACCESS_GRANTS_INSTANCE_ARN, val)?;
  137    145   
        }
  138    146   
        if let Some(ref val) = self.access_grants_instance_id {
  139    147   
            ser.write_string(&GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_ACCESS_GRANTS_INSTANCE_ID, val)?;
  140    148   
        }
  141    149   
        if let Some(ref val) = self.identity_center_arn {
  142    150   
            ser.write_string(&GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_IDENTITY_CENTER_ARN, val)?;
  143    151   
        }
  144    152   
        if let Some(ref val) = self.identity_center_instance_arn {
  145    153   
            ser.write_string(&GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_IDENTITY_CENTER_INSTANCE_ARN, val)?;
  146    154   
        }
  147    155   
        if let Some(ref val) = self.identity_center_application_arn {
  148    156   
            ser.write_string(&GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_IDENTITY_CENTER_APPLICATION_ARN, val)?;
  149    157   
        }
  150    158   
        if let Some(ref val) = self.created_at {
  151    159   
            ser.write_timestamp(&GETACCESSGRANTSINSTANCEOUTPUT_MEMBER_CREATED_AT, val)?;
  152    160   
        }
  153    161   
        Ok(())
  154    162   
    }
  155    163   
}
  156    164   
impl GetAccessGrantsInstanceOutput {
  157    165   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  158         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  159         -
        deserializer: &mut D,
         166  +
    pub fn deserialize(
         167  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         168  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         169  +
        #[allow(unused_variables, unused_mut)]
         170  +
        let mut builder = Self::builder();
         171  +
        #[allow(
         172  +
            unused_variables,
         173  +
            unreachable_code,
         174  +
            clippy::single_match,
         175  +
            clippy::match_single_binding,
         176  +
            clippy::diverging_sub_expression
         177  +
        )]
         178  +
        deserializer.read_struct(&GETACCESSGRANTSINSTANCEOUTPUT_SCHEMA, &mut |member, deser| {
         179  +
            match member.member_index() {
         180  +
                Some(0) => {
         181  +
                    builder.access_grants_instance_arn = Some(deser.read_string(member)?);
         182  +
                }
         183  +
                Some(1) => {
         184  +
                    builder.access_grants_instance_id = Some(deser.read_string(member)?);
         185  +
                }
         186  +
                Some(2) => {
         187  +
                    builder.identity_center_arn = Some(deser.read_string(member)?);
         188  +
                }
         189  +
                Some(3) => {
         190  +
                    builder.identity_center_instance_arn = Some(deser.read_string(member)?);
         191  +
                }
         192  +
                Some(4) => {
         193  +
                    builder.identity_center_application_arn = Some(deser.read_string(member)?);
         194  +
                }
         195  +
                Some(5) => {
         196  +
                    builder.created_at = Some(deser.read_timestamp(member)?);
         197  +
                }
         198  +
                Some(6) => {
         199  +
                    builder._request_id = Some(deser.read_string(member)?);
         200  +
                }
         201  +
                _ => {}
         202  +
            }
         203  +
            Ok(())
         204  +
        })?;
         205  +
        Ok(builder.build())
         206  +
    }
         207  +
}
         208  +
impl GetAccessGrantsInstanceOutput {
         209  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         210  +
    /// Header-bound members are read directly from headers, avoiding runtime
         211  +
    /// member iteration overhead. Body members are read via the deserializer.
         212  +
    pub fn deserialize_with_response(
         213  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         214  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         215  +
        _status: u16,
         216  +
        _body: &[u8],
  160    217   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  161    218   
        #[allow(unused_variables, unused_mut)]
  162    219   
        let mut builder = Self::builder();
         220  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         221  +
            builder._request_id = Some(val.to_string());
         222  +
        }
  163    223   
        #[allow(
  164    224   
            unused_variables,
  165    225   
            unreachable_code,
  166    226   
            clippy::single_match,
  167    227   
            clippy::match_single_binding,
  168    228   
            clippy::diverging_sub_expression
  169    229   
        )]
  170         -
        deserializer.read_struct(&GETACCESSGRANTSINSTANCEOUTPUT_SCHEMA, (), |_, member, deser| {
         230  +
        deserializer.read_struct(&GETACCESSGRANTSINSTANCEOUTPUT_SCHEMA, &mut |member, deser| {
  171    231   
            match member.member_index() {
  172    232   
                Some(0) => {
  173    233   
                    builder.access_grants_instance_arn = Some(deser.read_string(member)?);
  174    234   
                }
  175    235   
                Some(1) => {
  176    236   
                    builder.access_grants_instance_id = Some(deser.read_string(member)?);
  177    237   
                }
  178    238   
                Some(2) => {
  179    239   
                    builder.identity_center_arn = Some(deser.read_string(member)?);
  180    240   
                }

tmp-codegen-diff/aws-sdk/sdk/s3control/src/operation/get_access_grants_instance_for_prefix.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 `GetAccessGrantsInstanceForPrefix`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct GetAccessGrantsInstanceForPrefix;
    6      6   
impl GetAccessGrantsInstanceForPrefix {
    7      7   
    /// Creates a new `GetAccessGrantsInstanceForPrefix`
    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::get_access_grants_instance_for_prefix::GetAccessGrantsInstanceForPrefixInput::SCHEMA;
          14  +
    /// The schema for this operation's output shape.
          15  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          16  +
        crate::operation::get_access_grants_instance_for_prefix::GetAccessGrantsInstanceForPrefixOutput::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::get_access_grants_instance_for_prefix::GetAccessGrantsInstanceForPrefixInput,
   14     20   
    ) -> ::std::result::Result<
   15     21   
        crate::operation::get_access_grants_instance_for_prefix::GetAccessGrantsInstanceForPrefixOutput,
   16     22   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     23   
            crate::operation::get_access_grants_instance_for_prefix::GetAccessGrantsInstanceForPrefixError,
   18     24   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     25   
        >,
   20     26   
    > {
@@ -124,130 +186,193 @@
  144    150   
                crate::operation::get_access_grants_instance_for_prefix::GetAccessGrantsInstanceForPrefixError,
  145    151   
            >::new());
  146    152   
  147    153   
        ::std::borrow::Cow::Owned(rcb)
  148    154   
    }
  149    155   
}
  150    156   
  151    157   
#[derive(Debug)]
  152    158   
struct GetAccessGrantsInstanceForPrefixResponseDeserializer;
  153    159   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for GetAccessGrantsInstanceForPrefixResponseDeserializer {
  154         -
    fn deserialize_nonstreaming(
         160  +
    fn deserialize_nonstreaming_with_config(
  155    161   
        &self,
  156    162   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         163  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  157    164   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  158    165   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  159    166   
        let headers = response.headers();
  160    167   
        let body = response.body().bytes().expect("body loaded");
  161    168   
        #[allow(unused_mut)]
  162    169   
        let mut force_error = false;
  163    170   
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  164    171   
        let parse_result = if !success && status != 200 || force_error {
  165    172   
            crate::protocol_serde::shape_get_access_grants_instance_for_prefix::de_get_access_grants_instance_for_prefix_http_error(
  166    173   
                status, headers, body,

tmp-codegen-diff/aws-sdk/sdk/s3control/src/operation/get_access_grants_instance_for_prefix/_get_access_grants_instance_for_prefix_input.rs

@@ -3,3 +131,175 @@
   23     23   
    "com.amazonaws.s3control.synthetic",
   24     24   
    "GetAccessGrantsInstanceForPrefixInput",
   25     25   
);
   26     26   
static GETACCESSGRANTSINSTANCEFORPREFIXINPUT_MEMBER_ACCOUNT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   27     27   
    ::aws_smithy_schema::ShapeId::from_static(
   28     28   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsInstanceForPrefixInput$AccountId",
   29     29   
        "com.amazonaws.s3control.synthetic",
   30     30   
        "GetAccessGrantsInstanceForPrefixInput",
   31     31   
    ),
   32     32   
    ::aws_smithy_schema::ShapeType::String,
   33         -
    "account_id",
          33  +
    "AccountId",
   34     34   
    0,
   35     35   
)
   36     36   
.with_host_label()
   37     37   
.with_http_header("x-amz-account-id");
   38     38   
static GETACCESSGRANTSINSTANCEFORPREFIXINPUT_MEMBER_S3_PREFIX: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   39     39   
    ::aws_smithy_schema::ShapeId::from_static(
   40     40   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsInstanceForPrefixInput$S3Prefix",
   41     41   
        "com.amazonaws.s3control.synthetic",
   42     42   
        "GetAccessGrantsInstanceForPrefixInput",
   43     43   
    ),
   44     44   
    ::aws_smithy_schema::ShapeType::String,
   45         -
    "s3_prefix",
          45  +
    "S3Prefix",
   46     46   
    1,
   47     47   
)
   48     48   
.with_http_query("s3prefix");
   49     49   
static GETACCESSGRANTSINSTANCEFORPREFIXINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   50     50   
    GETACCESSGRANTSINSTANCEFORPREFIXINPUT_SCHEMA_ID,
   51     51   
    ::aws_smithy_schema::ShapeType::Structure,
   52     52   
    &[
   53     53   
        &GETACCESSGRANTSINSTANCEFORPREFIXINPUT_MEMBER_ACCOUNT_ID,
   54     54   
        &GETACCESSGRANTSINSTANCEFORPREFIXINPUT_MEMBER_S3_PREFIX,
   55     55   
    ],
   56         -
);
          56  +
)
          57  +
.with_http(aws_smithy_schema::traits::HttpTrait::new(
          58  +
    "GET",
          59  +
    "/v20180820/accessgrantsinstance/prefix",
          60  +
    None,
          61  +
));
   57     62   
impl GetAccessGrantsInstanceForPrefixInput {
   58     63   
    /// The schema for this shape.
   59     64   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GETACCESSGRANTSINSTANCEFORPREFIXINPUT_SCHEMA;
   60     65   
}
   61     66   
impl ::aws_smithy_schema::serde::SerializableStruct for GetAccessGrantsInstanceForPrefixInput {
   62     67   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   63     68   
    fn serialize_members(
   64     69   
        &self,
   65     70   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   66     71   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   67     72   
        if let Some(ref val) = self.account_id {
   68     73   
            ser.write_string(&GETACCESSGRANTSINSTANCEFORPREFIXINPUT_MEMBER_ACCOUNT_ID, val)?;
   69     74   
        }
   70     75   
        if let Some(ref val) = self.s3_prefix {
   71     76   
            ser.write_string(&GETACCESSGRANTSINSTANCEFORPREFIXINPUT_MEMBER_S3_PREFIX, val)?;
   72     77   
        }
   73     78   
        Ok(())
   74     79   
    }
   75     80   
}
   76     81   
impl GetAccessGrantsInstanceForPrefixInput {
   77     82   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   78         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   79         -
        deserializer: &mut D,
          83  +
    pub fn deserialize(
          84  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   80     85   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   81     86   
        #[allow(unused_variables, unused_mut)]
   82     87   
        let mut builder = Self::builder();
   83     88   
        #[allow(
   84     89   
            unused_variables,
   85     90   
            unreachable_code,
   86     91   
            clippy::single_match,
   87     92   
            clippy::match_single_binding,
   88     93   
            clippy::diverging_sub_expression
   89     94   
        )]
   90         -
        deserializer.read_struct(&GETACCESSGRANTSINSTANCEFORPREFIXINPUT_SCHEMA, (), |_, member, deser| {
          95  +
        deserializer.read_struct(&GETACCESSGRANTSINSTANCEFORPREFIXINPUT_SCHEMA, &mut |member, deser| {
   91     96   
            match member.member_index() {
   92     97   
                Some(0) => {
   93     98   
                    builder.account_id = Some(deser.read_string(member)?);
   94     99   
                }
   95    100   
                Some(1) => {
   96    101   
                    builder.s3_prefix = Some(deser.read_string(member)?);
   97    102   
                }
   98    103   
                _ => {}
   99    104   
            }
  100    105   
            Ok(())
  101    106   
        })?;
         107  +
        builder.account_id = builder.account_id.or(Some(String::new()));
         108  +
        builder.s3_prefix = builder.s3_prefix.or(Some(String::new()));
         109  +
        builder
         110  +
            .build()
         111  +
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
         112  +
    }
         113  +
}
         114  +
impl GetAccessGrantsInstanceForPrefixInput {
         115  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         116  +
    /// Header-bound members are read directly from headers, avoiding runtime
         117  +
    /// member iteration overhead. Body members are read via the deserializer.
         118  +
    pub fn deserialize_with_response(
         119  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         120  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         121  +
        _status: u16,
         122  +
        _body: &[u8],
         123  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         124  +
        #[allow(unused_variables, unused_mut)]
         125  +
        let mut builder = Self::builder();
         126  +
        if let Some(val) = headers.get("x-amz-account-id") {
         127  +
            builder.account_id = Some(val.to_string());
         128  +
        }
         129  +
        #[allow(
         130  +
            unused_variables,
         131  +
            unreachable_code,
         132  +
            clippy::single_match,
         133  +
            clippy::match_single_binding,
         134  +
            clippy::diverging_sub_expression
         135  +
        )]
         136  +
        deserializer.read_struct(&GETACCESSGRANTSINSTANCEFORPREFIXINPUT_SCHEMA, &mut |member, deser| {
         137  +
            match member.member_index() {
         138  +
                Some(0) => { /* read from headers above */ }
         139  +
                Some(1) => {
         140  +
                    builder.s3_prefix = Some(deser.read_string(member)?);
         141  +
                }
         142  +
                _ => {}
         143  +
            }
         144  +
            Ok(())
         145  +
        })?;
  102    146   
        builder
  103    147   
            .build()
  104    148   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  105    149   
    }
  106    150   
}
  107    151   
impl GetAccessGrantsInstanceForPrefixInput {
  108    152   
    /// Creates a new builder-style object to manufacture [`GetAccessGrantsInstanceForPrefixInput`](crate::operation::get_access_grants_instance_for_prefix::GetAccessGrantsInstanceForPrefixInput).
  109    153   
    pub fn builder() -> crate::operation::get_access_grants_instance_for_prefix::builders::GetAccessGrantsInstanceForPrefixInputBuilder {
  110    154   
        crate::operation::get_access_grants_instance_for_prefix::builders::GetAccessGrantsInstanceForPrefixInputBuilder::default()
  111    155   
    }

tmp-codegen-diff/aws-sdk/sdk/s3control/src/operation/get_access_grants_instance_for_prefix/_get_access_grants_instance_for_prefix_output.rs

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

tmp-codegen-diff/aws-sdk/sdk/s3control/src/operation/get_access_grants_instance_resource_policy.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 `GetAccessGrantsInstanceResourcePolicy`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct GetAccessGrantsInstanceResourcePolicy;
    6      6   
impl GetAccessGrantsInstanceResourcePolicy {
    7      7   
    /// Creates a new `GetAccessGrantsInstanceResourcePolicy`
    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::get_access_grants_instance_resource_policy::GetAccessGrantsInstanceResourcePolicyInput::SCHEMA;
          14  +
    /// The schema for this operation's output shape.
          15  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          16  +
        crate::operation::get_access_grants_instance_resource_policy::GetAccessGrantsInstanceResourcePolicyOutput::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::get_access_grants_instance_resource_policy::GetAccessGrantsInstanceResourcePolicyInput,
   14     20   
    ) -> ::std::result::Result<
   15     21   
        crate::operation::get_access_grants_instance_resource_policy::GetAccessGrantsInstanceResourcePolicyOutput,
   16     22   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     23   
            crate::operation::get_access_grants_instance_resource_policy::GetAccessGrantsInstanceResourcePolicyError,
   18     24   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     25   
        >,
   20     26   
    > {
@@ -124,130 +186,193 @@
  144    150   
                crate::operation::get_access_grants_instance_resource_policy::GetAccessGrantsInstanceResourcePolicyError,
  145    151   
            >::new());
  146    152   
  147    153   
        ::std::borrow::Cow::Owned(rcb)
  148    154   
    }
  149    155   
}
  150    156   
  151    157   
#[derive(Debug)]
  152    158   
struct GetAccessGrantsInstanceResourcePolicyResponseDeserializer;
  153    159   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for GetAccessGrantsInstanceResourcePolicyResponseDeserializer {
  154         -
    fn deserialize_nonstreaming(
         160  +
    fn deserialize_nonstreaming_with_config(
  155    161   
        &self,
  156    162   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         163  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  157    164   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  158    165   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  159    166   
        let headers = response.headers();
  160    167   
        let body = response.body().bytes().expect("body loaded");
  161    168   
        #[allow(unused_mut)]
  162    169   
        let mut force_error = false;
  163    170   
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  164    171   
        let parse_result = if !success && status != 200 || force_error {
  165    172   
            crate::protocol_serde::shape_get_access_grants_instance_resource_policy::de_get_access_grants_instance_resource_policy_http_error(
  166    173   
                status, headers, body,

tmp-codegen-diff/aws-sdk/sdk/s3control/src/operation/get_access_grants_instance_resource_policy/_get_access_grants_instance_resource_policy_input.rs

@@ -1,1 +105,131 @@
   17     17   
    "com.amazonaws.s3control.synthetic",
   18     18   
    "GetAccessGrantsInstanceResourcePolicyInput",
   19     19   
);
   20     20   
static GETACCESSGRANTSINSTANCERESOURCEPOLICYINPUT_MEMBER_ACCOUNT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   21     21   
    ::aws_smithy_schema::ShapeId::from_static(
   22     22   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsInstanceResourcePolicyInput$AccountId",
   23     23   
        "com.amazonaws.s3control.synthetic",
   24     24   
        "GetAccessGrantsInstanceResourcePolicyInput",
   25     25   
    ),
   26     26   
    ::aws_smithy_schema::ShapeType::String,
   27         -
    "account_id",
          27  +
    "AccountId",
   28     28   
    0,
   29     29   
)
   30     30   
.with_host_label()
   31     31   
.with_http_header("x-amz-account-id");
   32     32   
static GETACCESSGRANTSINSTANCERESOURCEPOLICYINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   33     33   
    GETACCESSGRANTSINSTANCERESOURCEPOLICYINPUT_SCHEMA_ID,
   34     34   
    ::aws_smithy_schema::ShapeType::Structure,
   35     35   
    &[&GETACCESSGRANTSINSTANCERESOURCEPOLICYINPUT_MEMBER_ACCOUNT_ID],
   36         -
);
          36  +
)
          37  +
.with_http(aws_smithy_schema::traits::HttpTrait::new(
          38  +
    "GET",
          39  +
    "/v20180820/accessgrantsinstance/resourcepolicy",
          40  +
    None,
          41  +
));
   37     42   
impl GetAccessGrantsInstanceResourcePolicyInput {
   38     43   
    /// The schema for this shape.
   39     44   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GETACCESSGRANTSINSTANCERESOURCEPOLICYINPUT_SCHEMA;
   40     45   
}
   41     46   
impl ::aws_smithy_schema::serde::SerializableStruct for GetAccessGrantsInstanceResourcePolicyInput {
   42     47   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   43     48   
    fn serialize_members(
   44     49   
        &self,
   45     50   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   46     51   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   47     52   
        if let Some(ref val) = self.account_id {
   48     53   
            ser.write_string(&GETACCESSGRANTSINSTANCERESOURCEPOLICYINPUT_MEMBER_ACCOUNT_ID, val)?;
   49     54   
        }
   50     55   
        Ok(())
   51     56   
    }
   52     57   
}
   53     58   
impl GetAccessGrantsInstanceResourcePolicyInput {
   54     59   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   55         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   56         -
        deserializer: &mut D,
          60  +
    pub fn deserialize(
          61  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   57     62   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   58     63   
        #[allow(unused_variables, unused_mut)]
   59     64   
        let mut builder = Self::builder();
   60     65   
        #[allow(
   61     66   
            unused_variables,
   62     67   
            unreachable_code,
   63     68   
            clippy::single_match,
   64     69   
            clippy::match_single_binding,
   65     70   
            clippy::diverging_sub_expression
   66     71   
        )]
   67         -
        deserializer.read_struct(&GETACCESSGRANTSINSTANCERESOURCEPOLICYINPUT_SCHEMA, (), |_, member, deser| {
          72  +
        deserializer.read_struct(&GETACCESSGRANTSINSTANCERESOURCEPOLICYINPUT_SCHEMA, &mut |member, deser| {
   68     73   
            match member.member_index() {
   69     74   
                Some(0) => {
   70     75   
                    builder.account_id = Some(deser.read_string(member)?);
   71     76   
                }
   72     77   
                _ => {}
   73     78   
            }
   74     79   
            Ok(())
   75     80   
        })?;
          81  +
        builder.account_id = builder.account_id.or(Some(String::new()));
          82  +
        builder
          83  +
            .build()
          84  +
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
          85  +
    }
          86  +
}
          87  +
impl GetAccessGrantsInstanceResourcePolicyInput {
          88  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
          89  +
    /// Header-bound members are read directly from headers, avoiding runtime
          90  +
    /// member iteration overhead. Body members are read via the deserializer.
          91  +
    pub fn deserialize_with_response(
          92  +
        _deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          93  +
        headers: &::aws_smithy_runtime_api::http::Headers,
          94  +
        _status: u16,
          95  +
        _body: &[u8],
          96  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          97  +
        #[allow(unused_variables, unused_mut)]
          98  +
        let mut builder = Self::builder();
          99  +
        if let Some(val) = headers.get("x-amz-account-id") {
         100  +
            builder.account_id = Some(val.to_string());
         101  +
        }
   76    102   
        builder
   77    103   
            .build()
   78    104   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
   79    105   
    }
   80    106   
}
   81    107   
impl GetAccessGrantsInstanceResourcePolicyInput {
   82    108   
    /// Creates a new builder-style object to manufacture [`GetAccessGrantsInstanceResourcePolicyInput`](crate::operation::get_access_grants_instance_resource_policy::GetAccessGrantsInstanceResourcePolicyInput).
   83    109   
    pub fn builder() -> crate::operation::get_access_grants_instance_resource_policy::builders::GetAccessGrantsInstanceResourcePolicyInputBuilder {
   84    110   
        crate::operation::get_access_grants_instance_resource_policy::builders::GetAccessGrantsInstanceResourcePolicyInputBuilder::default()
   85    111   
    }

tmp-codegen-diff/aws-sdk/sdk/s3control/src/operation/get_access_grants_instance_resource_policy/_get_access_grants_instance_resource_policy_output.rs

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

tmp-codegen-diff/aws-sdk/sdk/s3control/src/operation/get_access_grants_location.rs

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

tmp-codegen-diff/aws-sdk/sdk/s3control/src/operation/get_access_grants_location/_get_access_grants_location_input.rs

@@ -3,3 +131,175 @@
   23     23   
    "com.amazonaws.s3control.synthetic",
   24     24   
    "GetAccessGrantsLocationInput",
   25     25   
);
   26     26   
static GETACCESSGRANTSLOCATIONINPUT_MEMBER_ACCOUNT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   27     27   
    ::aws_smithy_schema::ShapeId::from_static(
   28     28   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsLocationInput$AccountId",
   29     29   
        "com.amazonaws.s3control.synthetic",
   30     30   
        "GetAccessGrantsLocationInput",
   31     31   
    ),
   32     32   
    ::aws_smithy_schema::ShapeType::String,
   33         -
    "account_id",
          33  +
    "AccountId",
   34     34   
    0,
   35     35   
)
   36     36   
.with_host_label()
   37     37   
.with_http_header("x-amz-account-id");
   38     38   
static GETACCESSGRANTSLOCATIONINPUT_MEMBER_ACCESS_GRANTS_LOCATION_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   39     39   
    ::aws_smithy_schema::ShapeId::from_static(
   40     40   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsLocationInput$AccessGrantsLocationId",
   41     41   
        "com.amazonaws.s3control.synthetic",
   42     42   
        "GetAccessGrantsLocationInput",
   43     43   
    ),
   44     44   
    ::aws_smithy_schema::ShapeType::String,
   45         -
    "access_grants_location_id",
          45  +
    "AccessGrantsLocationId",
   46     46   
    1,
   47     47   
)
   48     48   
.with_http_label();
   49     49   
static GETACCESSGRANTSLOCATIONINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   50     50   
    GETACCESSGRANTSLOCATIONINPUT_SCHEMA_ID,
   51     51   
    ::aws_smithy_schema::ShapeType::Structure,
   52     52   
    &[
   53     53   
        &GETACCESSGRANTSLOCATIONINPUT_MEMBER_ACCOUNT_ID,
   54     54   
        &GETACCESSGRANTSLOCATIONINPUT_MEMBER_ACCESS_GRANTS_LOCATION_ID,
   55     55   
    ],
   56         -
);
          56  +
)
          57  +
.with_http(aws_smithy_schema::traits::HttpTrait::new(
          58  +
    "GET",
          59  +
    "/v20180820/accessgrantsinstance/location/{AccessGrantsLocationId}",
          60  +
    None,
          61  +
));
   57     62   
impl GetAccessGrantsLocationInput {
   58     63   
    /// The schema for this shape.
   59     64   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GETACCESSGRANTSLOCATIONINPUT_SCHEMA;
   60     65   
}
   61     66   
impl ::aws_smithy_schema::serde::SerializableStruct for GetAccessGrantsLocationInput {
   62     67   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   63     68   
    fn serialize_members(
   64     69   
        &self,
   65     70   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   66     71   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   67     72   
        if let Some(ref val) = self.account_id {
   68     73   
            ser.write_string(&GETACCESSGRANTSLOCATIONINPUT_MEMBER_ACCOUNT_ID, val)?;
   69     74   
        }
   70     75   
        if let Some(ref val) = self.access_grants_location_id {
   71     76   
            ser.write_string(&GETACCESSGRANTSLOCATIONINPUT_MEMBER_ACCESS_GRANTS_LOCATION_ID, val)?;
   72     77   
        }
   73     78   
        Ok(())
   74     79   
    }
   75     80   
}
   76     81   
impl GetAccessGrantsLocationInput {
   77     82   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   78         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   79         -
        deserializer: &mut D,
          83  +
    pub fn deserialize(
          84  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   80     85   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   81     86   
        #[allow(unused_variables, unused_mut)]
   82     87   
        let mut builder = Self::builder();
   83     88   
        #[allow(
   84     89   
            unused_variables,
   85     90   
            unreachable_code,
   86     91   
            clippy::single_match,
   87     92   
            clippy::match_single_binding,
   88     93   
            clippy::diverging_sub_expression
   89     94   
        )]
   90         -
        deserializer.read_struct(&GETACCESSGRANTSLOCATIONINPUT_SCHEMA, (), |_, member, deser| {
          95  +
        deserializer.read_struct(&GETACCESSGRANTSLOCATIONINPUT_SCHEMA, &mut |member, deser| {
   91     96   
            match member.member_index() {
   92     97   
                Some(0) => {
   93     98   
                    builder.account_id = Some(deser.read_string(member)?);
   94     99   
                }
   95    100   
                Some(1) => {
   96    101   
                    builder.access_grants_location_id = Some(deser.read_string(member)?);
   97    102   
                }
   98    103   
                _ => {}
   99    104   
            }
  100    105   
            Ok(())
  101    106   
        })?;
         107  +
        builder.account_id = builder.account_id.or(Some(String::new()));
         108  +
        builder.access_grants_location_id = builder.access_grants_location_id.or(Some(String::new()));
         109  +
        builder
         110  +
            .build()
         111  +
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
         112  +
    }
         113  +
}
         114  +
impl GetAccessGrantsLocationInput {
         115  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         116  +
    /// Header-bound members are read directly from headers, avoiding runtime
         117  +
    /// member iteration overhead. Body members are read via the deserializer.
         118  +
    pub fn deserialize_with_response(
         119  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         120  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         121  +
        _status: u16,
         122  +
        _body: &[u8],
         123  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         124  +
        #[allow(unused_variables, unused_mut)]
         125  +
        let mut builder = Self::builder();
         126  +
        if let Some(val) = headers.get("x-amz-account-id") {
         127  +
            builder.account_id = Some(val.to_string());
         128  +
        }
         129  +
        #[allow(
         130  +
            unused_variables,
         131  +
            unreachable_code,
         132  +
            clippy::single_match,
         133  +
            clippy::match_single_binding,
         134  +
            clippy::diverging_sub_expression
         135  +
        )]
         136  +
        deserializer.read_struct(&GETACCESSGRANTSLOCATIONINPUT_SCHEMA, &mut |member, deser| {
         137  +
            match member.member_index() {
         138  +
                Some(0) => { /* read from headers above */ }
         139  +
                Some(1) => {
         140  +
                    builder.access_grants_location_id = Some(deser.read_string(member)?);
         141  +
                }
         142  +
                _ => {}
         143  +
            }
         144  +
            Ok(())
         145  +
        })?;
  102    146   
        builder
  103    147   
            .build()
  104    148   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  105    149   
    }
  106    150   
}
  107    151   
impl GetAccessGrantsLocationInput {
  108    152   
    /// Creates a new builder-style object to manufacture [`GetAccessGrantsLocationInput`](crate::operation::get_access_grants_location::GetAccessGrantsLocationInput).
  109    153   
    pub fn builder() -> crate::operation::get_access_grants_location::builders::GetAccessGrantsLocationInputBuilder {
  110    154   
        crate::operation::get_access_grants_location::builders::GetAccessGrantsLocationInputBuilder::default()
  111    155   
    }

tmp-codegen-diff/aws-sdk/sdk/s3control/src/operation/get_access_grants_location/_get_access_grants_location_output.rs

@@ -22,22 +178,235 @@
   42     42   
    "com.amazonaws.s3control.synthetic",
   43     43   
    "GetAccessGrantsLocationOutput",
   44     44   
);
   45     45   
static GETACCESSGRANTSLOCATIONOUTPUT_MEMBER_CREATED_AT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   46     46   
    ::aws_smithy_schema::ShapeId::from_static(
   47     47   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsLocationOutput$CreatedAt",
   48     48   
        "com.amazonaws.s3control.synthetic",
   49     49   
        "GetAccessGrantsLocationOutput",
   50     50   
    ),
   51     51   
    ::aws_smithy_schema::ShapeType::Timestamp,
   52         -
    "created_at",
          52  +
    "CreatedAt",
   53     53   
    0,
   54     54   
);
   55     55   
static GETACCESSGRANTSLOCATIONOUTPUT_MEMBER_ACCESS_GRANTS_LOCATION_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   56     56   
    ::aws_smithy_schema::ShapeId::from_static(
   57     57   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsLocationOutput$AccessGrantsLocationId",
   58     58   
        "com.amazonaws.s3control.synthetic",
   59     59   
        "GetAccessGrantsLocationOutput",
   60     60   
    ),
   61     61   
    ::aws_smithy_schema::ShapeType::String,
   62         -
    "access_grants_location_id",
          62  +
    "AccessGrantsLocationId",
   63     63   
    1,
   64     64   
);
   65     65   
static GETACCESSGRANTSLOCATIONOUTPUT_MEMBER_ACCESS_GRANTS_LOCATION_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   66     66   
    ::aws_smithy_schema::ShapeId::from_static(
   67     67   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsLocationOutput$AccessGrantsLocationArn",
   68     68   
        "com.amazonaws.s3control.synthetic",
   69     69   
        "GetAccessGrantsLocationOutput",
   70     70   
    ),
   71     71   
    ::aws_smithy_schema::ShapeType::String,
   72         -
    "access_grants_location_arn",
          72  +
    "AccessGrantsLocationArn",
   73     73   
    2,
   74     74   
);
   75     75   
static GETACCESSGRANTSLOCATIONOUTPUT_MEMBER_LOCATION_SCOPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   76     76   
    ::aws_smithy_schema::ShapeId::from_static(
   77     77   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsLocationOutput$LocationScope",
   78     78   
        "com.amazonaws.s3control.synthetic",
   79     79   
        "GetAccessGrantsLocationOutput",
   80     80   
    ),
   81     81   
    ::aws_smithy_schema::ShapeType::String,
   82         -
    "location_scope",
          82  +
    "LocationScope",
   83     83   
    3,
   84     84   
);
   85     85   
static GETACCESSGRANTSLOCATIONOUTPUT_MEMBER_IAM_ROLE_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   86     86   
    ::aws_smithy_schema::ShapeId::from_static(
   87     87   
        "com.amazonaws.s3control.synthetic#GetAccessGrantsLocationOutput$IAMRoleArn",
   88     88   
        "com.amazonaws.s3control.synthetic",
   89     89   
        "GetAccessGrantsLocationOutput",
   90     90   
    ),
   91     91   
    ::aws_smithy_schema::ShapeType::String,
   92         -
    "iam_role_arn",
          92  +
    "IAMRoleArn",
   93     93   
    4,
   94     94   
);
          95  +
static GETACCESSGRANTSLOCATIONOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
          96  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
          97  +
    ::aws_smithy_schema::ShapeType::String,
          98  +
    "request_id",
          99  +
    5,
         100  +
)
         101  +
.with_http_header("x-amzn-requestid");
   95    102   
static GETACCESSGRANTSLOCATIONOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   96    103   
    GETACCESSGRANTSLOCATIONOUTPUT_SCHEMA_ID,
   97    104   
    ::aws_smithy_schema::ShapeType::Structure,
   98    105   
    &[
   99    106   
        &GETACCESSGRANTSLOCATIONOUTPUT_MEMBER_CREATED_AT,
  100    107   
        &GETACCESSGRANTSLOCATIONOUTPUT_MEMBER_ACCESS_GRANTS_LOCATION_ID,
  101    108   
        &GETACCESSGRANTSLOCATIONOUTPUT_MEMBER_ACCESS_GRANTS_LOCATION_ARN,
  102    109   
        &GETACCESSGRANTSLOCATIONOUTPUT_MEMBER_LOCATION_SCOPE,
  103    110   
        &GETACCESSGRANTSLOCATIONOUTPUT_MEMBER_IAM_ROLE_ARN,
         111  +
        &GETACCESSGRANTSLOCATIONOUTPUT_MEMBER__REQUEST_ID,
  104    112   
    ],
  105    113   
);
  106    114   
impl GetAccessGrantsLocationOutput {
  107    115   
    /// The schema for this shape.
  108    116   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GETACCESSGRANTSLOCATIONOUTPUT_SCHEMA;
  109    117   
}
  110    118   
impl ::aws_smithy_schema::serde::SerializableStruct for GetAccessGrantsLocationOutput {
  111    119   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  112    120   
    fn serialize_members(
  113    121   
        &self,
  114    122   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  115    123   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  116    124   
        if let Some(ref val) = self.created_at {
  117    125   
            ser.write_timestamp(&GETACCESSGRANTSLOCATIONOUTPUT_MEMBER_CREATED_AT, val)?;
  118    126   
        }
  119    127   
        if let Some(ref val) = self.access_grants_location_id {
  120    128   
            ser.write_string(&GETACCESSGRANTSLOCATIONOUTPUT_MEMBER_ACCESS_GRANTS_LOCATION_ID, val)?;
  121    129   
        }
  122    130   
        if let Some(ref val) = self.access_grants_location_arn {
  123    131   
            ser.write_string(&GETACCESSGRANTSLOCATIONOUTPUT_MEMBER_ACCESS_GRANTS_LOCATION_ARN, val)?;
  124    132   
        }
  125    133   
        if let Some(ref val) = self.location_scope {
  126    134   
            ser.write_string(&GETACCESSGRANTSLOCATIONOUTPUT_MEMBER_LOCATION_SCOPE, val)?;
  127    135   
        }
  128    136   
        if let Some(ref val) = self.iam_role_arn {
  129    137   
            ser.write_string(&GETACCESSGRANTSLOCATIONOUTPUT_MEMBER_IAM_ROLE_ARN, val)?;
  130    138   
        }
  131    139   
        Ok(())
  132    140   
    }
  133    141   
}
  134    142   
impl GetAccessGrantsLocationOutput {
  135    143   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  136         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  137         -
        deserializer: &mut D,
         144  +
    pub fn deserialize(
         145  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  138    146   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  139    147   
        #[allow(unused_variables, unused_mut)]
  140    148   
        let mut builder = Self::builder();
  141    149   
        #[allow(
  142    150   
            unused_variables,
  143    151   
            unreachable_code,
  144    152   
            clippy::single_match,
  145    153   
            clippy::match_single_binding,
  146    154   
            clippy::diverging_sub_expression
  147    155   
        )]
  148         -
        deserializer.read_struct(&GETACCESSGRANTSLOCATIONOUTPUT_SCHEMA, (), |_, member, deser| {
         156  +
        deserializer.read_struct(&GETACCESSGRANTSLOCATIONOUTPUT_SCHEMA, &mut |member, deser| {
         157  +
            match member.member_index() {
         158  +
                Some(0) => {
         159  +
                    builder.created_at = Some(deser.read_timestamp(member)?);
         160  +
                }
         161  +
                Some(1) => {
         162  +
                    builder.access_grants_location_id = Some(deser.read_string(member)?);
         163  +
                }
         164  +
                Some(2) => {
         165  +
                    builder.access_grants_location_arn = Some(deser.read_string(member)?);
         166  +
                }
         167  +
                Some(3) => {
         168  +
                    builder.location_scope = Some(deser.read_string(member)?);
         169  +
                }
         170  +
                Some(4) => {
         171  +
                    builder.iam_role_arn = Some(deser.read_string(member)?);
         172  +
                }
         173  +
                Some(5) => {
         174  +
                    builder._request_id = Some(deser.read_string(member)?);
         175  +
                }
         176  +
                _ => {}
         177  +
            }
         178  +
            Ok(())
         179  +
        })?;
         180  +
        Ok(builder.build())
         181  +
    }
         182  +
}
         183  +
impl GetAccessGrantsLocationOutput {
         184  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         185  +
    /// Header-bound members are read directly from headers, avoiding runtime
         186  +
    /// member iteration overhead. Body members are read via the deserializer.
         187  +
    pub fn deserialize_with_response(
         188  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         189  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         190  +
        _status: u16,
         191  +
        _body: &[u8],
         192  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         193  +
        #[allow(unused_variables, unused_mut)]
         194  +
        let mut builder = Self::builder();
         195  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         196  +
            builder._request_id = Some(val.to_string());
         197  +
        }
         198  +
        #[allow(
         199  +
            unused_variables,
         200  +
            unreachable_code,
         201  +
            clippy::single_match,
         202  +
            clippy::match_single_binding,
         203  +
            clippy::diverging_sub_expression
         204  +
        )]
         205  +
        deserializer.read_struct(&GETACCESSGRANTSLOCATIONOUTPUT_SCHEMA, &mut |member, deser| {
  149    206   
            match member.member_index() {
  150    207   
                Some(0) => {
  151    208   
                    builder.created_at = Some(deser.read_timestamp(member)?);
  152    209   
                }
  153    210   
                Some(1) => {
  154    211   
                    builder.access_grants_location_id = Some(deser.read_string(member)?);
  155    212   
                }
  156    213   
                Some(2) => {
  157    214   
                    builder.access_grants_location_arn = Some(deser.read_string(member)?);
  158    215   
                }