AWS SDK

AWS SDK

rev. 96f5a1b4ad139d2f1ad1e8e40f300e1cd1ff574c (ignoring whitespace)

Files changed:

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/unassign_private_ip_addresses/_unassign_private_ip_addresses_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/unassign_private_ip_addresses/_unassign_private_ip_addresses_output.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/unassign_private_nat_gateway_address.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 `UnassignPrivateNatGatewayAddress`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct UnassignPrivateNatGatewayAddress;
    6      6   
impl UnassignPrivateNatGatewayAddress {
    7      7   
    /// Creates a new `UnassignPrivateNatGatewayAddress`
    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::unassign_private_nat_gateway_address::UnassignPrivateNatGatewayAddressInput::SCHEMA;
          14  +
    /// The schema for this operation's output shape.
          15  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          16  +
        crate::operation::unassign_private_nat_gateway_address::UnassignPrivateNatGatewayAddressOutput::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::unassign_private_nat_gateway_address::UnassignPrivateNatGatewayAddressInput,
   14     20   
    ) -> ::std::result::Result<
   15     21   
        crate::operation::unassign_private_nat_gateway_address::UnassignPrivateNatGatewayAddressOutput,
   16     22   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     23   
            crate::operation::unassign_private_nat_gateway_address::UnassignPrivateNatGatewayAddressError,
   18     24   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     25   
        >,
   20     26   
    > {
@@ -124,130 +186,193 @@
  144    150   
                crate::operation::unassign_private_nat_gateway_address::UnassignPrivateNatGatewayAddressError,
  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 UnassignPrivateNatGatewayAddressResponseDeserializer;
  153    159   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for UnassignPrivateNatGatewayAddressResponseDeserializer {
  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_unassign_private_nat_gateway_address::de_unassign_private_nat_gateway_address_http_error(
  166    173   
                status, headers, body,

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/unassign_private_nat_gateway_address/_unassign_private_nat_gateway_address_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/unassign_private_nat_gateway_address/_unassign_private_nat_gateway_address_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/unlock_snapshot/_unlock_snapshot_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/unlock_snapshot/_unlock_snapshot_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/unmonitor_instances/_unmonitor_instances_input.rs

@@ -5,5 +152,154 @@
   25     25   
    "com.amazonaws.ec2.synthetic",
   26     26   
    "UnmonitorInstancesInput",
   27     27   
);
   28     28   
static UNMONITORINSTANCESINPUT_MEMBER_INSTANCE_IDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   29     29   
    ::aws_smithy_schema::ShapeId::from_static(
   30     30   
        "com.amazonaws.ec2.synthetic#UnmonitorInstancesInput$InstanceIds",
   31     31   
        "com.amazonaws.ec2.synthetic",
   32     32   
        "UnmonitorInstancesInput",
   33     33   
    ),
   34     34   
    ::aws_smithy_schema::ShapeType::List,
   35         -
    "instance_ids",
          35  +
    "InstanceIds",
   36     36   
    0,
   37     37   
)
   38     38   
.with_xml_name("InstanceId");
   39     39   
static UNMONITORINSTANCESINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   40     40   
    ::aws_smithy_schema::ShapeId::from_static(
   41     41   
        "com.amazonaws.ec2.synthetic#UnmonitorInstancesInput$DryRun",
   42     42   
        "com.amazonaws.ec2.synthetic",
   43     43   
        "UnmonitorInstancesInput",
   44     44   
    ),
   45     45   
    ::aws_smithy_schema::ShapeType::Boolean,
   46         -
    "dry_run",
          46  +
    "DryRun",
   47     47   
    1,
   48     48   
)
   49     49   
.with_xml_name("dryRun");
   50     50   
static UNMONITORINSTANCESINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   51     51   
    UNMONITORINSTANCESINPUT_SCHEMA_ID,
   52     52   
    ::aws_smithy_schema::ShapeType::Structure,
   53     53   
    &[&UNMONITORINSTANCESINPUT_MEMBER_INSTANCE_IDS, &UNMONITORINSTANCESINPUT_MEMBER_DRY_RUN],
   54     54   
);
   55     55   
impl UnmonitorInstancesInput {
   56     56   
    /// The schema for this shape.
   57     57   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &UNMONITORINSTANCESINPUT_SCHEMA;
   58     58   
}
   59     59   
impl ::aws_smithy_schema::serde::SerializableStruct for UnmonitorInstancesInput {
   60     60   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   61     61   
    fn serialize_members(
   62     62   
        &self,
   63     63   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   64     64   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   65     65   
        if let Some(ref val) = self.instance_ids {
   66     66   
            ser.write_list(
   67     67   
                &UNMONITORINSTANCESINPUT_MEMBER_INSTANCE_IDS,
   68     68   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   69     69   
                    for item in val {
   70     70   
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
   71     71   
                    }
   72     72   
                    Ok(())
   73     73   
                },
   74     74   
            )?;
   75     75   
        }
   76     76   
        if let Some(ref val) = self.dry_run {
   77     77   
            ser.write_boolean(&UNMONITORINSTANCESINPUT_MEMBER_DRY_RUN, *val)?;
   78     78   
        }
   79     79   
        Ok(())
   80     80   
    }
   81     81   
}
   82     82   
impl UnmonitorInstancesInput {
   83     83   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   84         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   85         -
        deserializer: &mut D,
          84  +
    pub fn deserialize(
          85  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   86     86   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   87     87   
        #[allow(unused_variables, unused_mut)]
   88     88   
        let mut builder = Self::builder();
   89     89   
        #[allow(
   90     90   
            unused_variables,
   91     91   
            unreachable_code,
   92     92   
            clippy::single_match,
   93     93   
            clippy::match_single_binding,
   94     94   
            clippy::diverging_sub_expression
   95     95   
        )]
   96         -
        deserializer.read_struct(&UNMONITORINSTANCESINPUT_SCHEMA, (), |_, member, deser| {
          96  +
        deserializer.read_struct(&UNMONITORINSTANCESINPUT_SCHEMA, &mut |member, deser| {
   97     97   
            match member.member_index() {
   98     98   
                Some(0) => {
   99         -
                    builder.instance_ids = Some({
  100         -
                        let container = if let Some(cap) = deser.container_size() {
  101         -
                            Vec::with_capacity(cap)
  102         -
                        } else {
  103         -
                            Vec::new()
  104         -
                        };
  105         -
                        deser.read_list(member, container, |mut list, deser| {
  106         -
                            list.push(deser.read_string(member)?);
  107         -
                            Ok(list)
  108         -
                        })?
  109         -
                    });
          99  +
                    builder.instance_ids = Some(deser.read_string_list(member)?);
  110    100   
                }
  111    101   
                Some(1) => {
  112    102   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  113    103   
                }
  114    104   
                _ => {}
  115    105   
            }
  116    106   
            Ok(())
  117    107   
        })?;
         108  +
        builder.instance_ids = builder.instance_ids.or(Some(Vec::new()));
  118    109   
        builder
  119    110   
            .build()
  120    111   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  121    112   
    }
  122    113   
}
         114  +
impl UnmonitorInstancesInput {
         115  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         116  +
    pub fn deserialize_with_response(
         117  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         118  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         119  +
        _status: u16,
         120  +
        _body: &[u8],
         121  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         122  +
        Self::deserialize(deserializer)
         123  +
    }
         124  +
}
  123    125   
impl UnmonitorInstancesInput {
  124    126   
    /// Creates a new builder-style object to manufacture [`UnmonitorInstancesInput`](crate::operation::unmonitor_instances::UnmonitorInstancesInput).
  125    127   
    pub fn builder() -> crate::operation::unmonitor_instances::builders::UnmonitorInstancesInputBuilder {
  126    128   
        crate::operation::unmonitor_instances::builders::UnmonitorInstancesInputBuilder::default()
  127    129   
    }
  128    130   
}
  129    131   
  130    132   
/// A builder for [`UnmonitorInstancesInput`](crate::operation::unmonitor_instances::UnmonitorInstancesInput).
  131    133   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  132    134   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/unmonitor_instances/_unmonitor_instances_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/update_security_group_rule_descriptions_egress/_update_security_group_rule_descriptions_egress_input.rs

@@ -25,25 +244,249 @@
   45     45   
    "com.amazonaws.ec2.synthetic",
   46     46   
    "UpdateSecurityGroupRuleDescriptionsEgressInput",
   47     47   
);
   48     48   
static UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   49     49   
    ::aws_smithy_schema::ShapeId::from_static(
   50     50   
        "com.amazonaws.ec2.synthetic#UpdateSecurityGroupRuleDescriptionsEgressInput$DryRun",
   51     51   
        "com.amazonaws.ec2.synthetic",
   52     52   
        "UpdateSecurityGroupRuleDescriptionsEgressInput",
   53     53   
    ),
   54     54   
    ::aws_smithy_schema::ShapeType::Boolean,
   55         -
    "dry_run",
          55  +
    "DryRun",
   56     56   
    0,
   57     57   
);
   58     58   
static UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_MEMBER_GROUP_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   59     59   
    ::aws_smithy_schema::ShapeId::from_static(
   60     60   
        "com.amazonaws.ec2.synthetic#UpdateSecurityGroupRuleDescriptionsEgressInput$GroupId",
   61     61   
        "com.amazonaws.ec2.synthetic",
   62     62   
        "UpdateSecurityGroupRuleDescriptionsEgressInput",
   63     63   
    ),
   64     64   
    ::aws_smithy_schema::ShapeType::String,
   65         -
    "group_id",
          65  +
    "GroupId",
   66     66   
    1,
   67     67   
);
   68     68   
static UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_MEMBER_GROUP_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   69     69   
    ::aws_smithy_schema::ShapeId::from_static(
   70     70   
        "com.amazonaws.ec2.synthetic#UpdateSecurityGroupRuleDescriptionsEgressInput$GroupName",
   71     71   
        "com.amazonaws.ec2.synthetic",
   72     72   
        "UpdateSecurityGroupRuleDescriptionsEgressInput",
   73     73   
    ),
   74     74   
    ::aws_smithy_schema::ShapeType::String,
   75         -
    "group_name",
          75  +
    "GroupName",
   76     76   
    2,
   77     77   
);
   78     78   
static UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_MEMBER_IP_PERMISSIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   79     79   
    ::aws_smithy_schema::ShapeId::from_static(
   80     80   
        "com.amazonaws.ec2.synthetic#UpdateSecurityGroupRuleDescriptionsEgressInput$IpPermissions",
   81     81   
        "com.amazonaws.ec2.synthetic",
   82     82   
        "UpdateSecurityGroupRuleDescriptionsEgressInput",
   83     83   
    ),
   84     84   
    ::aws_smithy_schema::ShapeType::List,
   85         -
    "ip_permissions",
          85  +
    "IpPermissions",
   86     86   
    3,
   87     87   
);
   88     88   
static UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_MEMBER_SECURITY_GROUP_RULE_DESCRIPTIONS: ::aws_smithy_schema::Schema =
   89     89   
    ::aws_smithy_schema::Schema::new_member(
   90     90   
        ::aws_smithy_schema::ShapeId::from_static(
   91     91   
            "com.amazonaws.ec2.synthetic#UpdateSecurityGroupRuleDescriptionsEgressInput$SecurityGroupRuleDescriptions",
   92     92   
            "com.amazonaws.ec2.synthetic",
   93     93   
            "UpdateSecurityGroupRuleDescriptionsEgressInput",
   94     94   
        ),
   95     95   
        ::aws_smithy_schema::ShapeType::List,
   96         -
        "security_group_rule_descriptions",
          96  +
        "SecurityGroupRuleDescriptions",
   97     97   
        4,
   98     98   
    )
   99     99   
    .with_xml_name("SecurityGroupRuleDescription");
  100    100   
static UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  101    101   
    UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_SCHEMA_ID,
  102    102   
    ::aws_smithy_schema::ShapeType::Structure,
  103    103   
    &[
  104    104   
        &UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_MEMBER_DRY_RUN,
  105    105   
        &UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_MEMBER_GROUP_ID,
  106    106   
        &UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_MEMBER_GROUP_NAME,
  107    107   
        &UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_MEMBER_IP_PERMISSIONS,
  108    108   
        &UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_MEMBER_SECURITY_GROUP_RULE_DESCRIPTIONS,
  109    109   
    ],
  110    110   
);
  111    111   
impl UpdateSecurityGroupRuleDescriptionsEgressInput {
  112    112   
    /// The schema for this shape.
  113    113   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_SCHEMA;
  114    114   
}
  115    115   
impl ::aws_smithy_schema::serde::SerializableStruct for UpdateSecurityGroupRuleDescriptionsEgressInput {
  116    116   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  117    117   
    fn serialize_members(
  118    118   
        &self,
  119    119   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  120    120   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  121    121   
        if let Some(ref val) = self.dry_run {
  122    122   
            ser.write_boolean(&UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_MEMBER_DRY_RUN, *val)?;
  123    123   
        }
  124    124   
        if let Some(ref val) = self.group_id {
  125    125   
            ser.write_string(&UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_MEMBER_GROUP_ID, val)?;
  126    126   
        }
  127    127   
        if let Some(ref val) = self.group_name {
  128    128   
            ser.write_string(&UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_MEMBER_GROUP_NAME, val)?;
  129    129   
        }
  130    130   
        if let Some(ref val) = self.ip_permissions {
  131    131   
            ser.write_list(
  132    132   
                &UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_MEMBER_IP_PERMISSIONS,
  133    133   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  134    134   
                    for item in val {
  135    135   
                        ser.write_struct(crate::types::IpPermission::SCHEMA, item)?;
  136    136   
                    }
  137    137   
                    Ok(())
  138    138   
                },
  139    139   
            )?;
  140    140   
        }
  141    141   
        if let Some(ref val) = self.security_group_rule_descriptions {
  142    142   
            ser.write_list(
  143    143   
                &UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_MEMBER_SECURITY_GROUP_RULE_DESCRIPTIONS,
  144    144   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  145    145   
                    for item in val {
  146    146   
                        ser.write_struct(crate::types::SecurityGroupRuleDescription::SCHEMA, item)?;
  147    147   
                    }
  148    148   
                    Ok(())
  149    149   
                },
  150    150   
            )?;
  151    151   
        }
  152    152   
        Ok(())
  153    153   
    }
  154    154   
}
  155    155   
impl UpdateSecurityGroupRuleDescriptionsEgressInput {
  156    156   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  157         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  158         -
        deserializer: &mut D,
         157  +
    pub fn deserialize(
         158  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  159    159   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  160    160   
        #[allow(unused_variables, unused_mut)]
  161    161   
        let mut builder = Self::builder();
  162    162   
        #[allow(
  163    163   
            unused_variables,
  164    164   
            unreachable_code,
  165    165   
            clippy::single_match,
  166    166   
            clippy::match_single_binding,
  167    167   
            clippy::diverging_sub_expression
  168    168   
        )]
  169         -
        deserializer.read_struct(&UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_SCHEMA, (), |_, member, deser| {
         169  +
        deserializer.read_struct(&UPDATESECURITYGROUPRULEDESCRIPTIONSEGRESSINPUT_SCHEMA, &mut |member, deser| {
  170    170   
            match member.member_index() {
  171    171   
                Some(0) => {
  172    172   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  173    173   
                }
  174    174   
                Some(1) => {
  175    175   
                    builder.group_id = Some(deser.read_string(member)?);
  176    176   
                }
  177    177   
                Some(2) => {
  178    178   
                    builder.group_name = Some(deser.read_string(member)?);
  179    179   
                }
  180    180   
                Some(3) => {
  181    181   
                    builder.ip_permissions = Some({
  182         -
                        let container = if let Some(cap) = deser.container_size() {
  183         -
                            Vec::with_capacity(cap)
  184         -
                        } else {
  185         -
                            Vec::new()
  186         -
                        };
  187         -
                        deser.read_list(member, container, |mut list, deser| {
  188         -
                            list.push(crate::types::IpPermission::deserialize(deser)?);
  189         -
                            Ok(list)
  190         -
                        })?
         182  +
                        let mut container = Vec::new();
         183  +
                        deser.read_list(member, &mut |deser| {
         184  +
                            container.push(crate::types::IpPermission::deserialize(deser)?);
         185  +
                            Ok(())
         186  +
                        })?;
         187  +
                        container
  191    188   
                    });
  192    189   
                }
  193    190   
                Some(4) => {
  194    191   
                    builder.security_group_rule_descriptions = Some({
  195         -
                        let container = if let Some(cap) = deser.container_size() {
  196         -
                            Vec::with_capacity(cap)
  197         -
                        } else {
  198         -
                            Vec::new()
  199         -
                        };
  200         -
                        deser.read_list(member, container, |mut list, deser| {
  201         -
                            list.push(crate::types::SecurityGroupRuleDescription::deserialize(deser)?);
  202         -
                            Ok(list)
  203         -
                        })?
         192  +
                        let mut container = Vec::new();
         193  +
                        deser.read_list(member, &mut |deser| {
         194  +
                            container.push(crate::types::SecurityGroupRuleDescription::deserialize(deser)?);
         195  +
                            Ok(())
         196  +
                        })?;
         197  +
                        container
  204    198   
                    });
  205    199   
                }
  206    200   
                _ => {}
  207    201   
            }
  208    202   
            Ok(())
  209    203   
        })?;
  210    204   
        builder
  211    205   
            .build()
  212    206   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  213    207   
    }
  214    208   
}
         209  +
impl UpdateSecurityGroupRuleDescriptionsEgressInput {
         210  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         211  +
    pub fn deserialize_with_response(
         212  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         213  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         214  +
        _status: u16,
         215  +
        _body: &[u8],
         216  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         217  +
        Self::deserialize(deserializer)
         218  +
    }
         219  +
}
  215    220   
impl UpdateSecurityGroupRuleDescriptionsEgressInput {
  216    221   
    /// Creates a new builder-style object to manufacture [`UpdateSecurityGroupRuleDescriptionsEgressInput`](crate::operation::update_security_group_rule_descriptions_egress::UpdateSecurityGroupRuleDescriptionsEgressInput).
  217    222   
    pub fn builder(
  218    223   
    ) -> crate::operation::update_security_group_rule_descriptions_egress::builders::UpdateSecurityGroupRuleDescriptionsEgressInputBuilder {
  219    224   
        crate::operation::update_security_group_rule_descriptions_egress::builders::UpdateSecurityGroupRuleDescriptionsEgressInputBuilder::default()
  220    225   
    }
  221    226   
}
  222    227   
  223    228   
/// A builder for [`UpdateSecurityGroupRuleDescriptionsEgressInput`](crate::operation::update_security_group_rule_descriptions_egress::UpdateSecurityGroupRuleDescriptionsEgressInput).
  224    229   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/update_security_group_rule_descriptions_egress/_update_security_group_rule_descriptions_egress_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/update_security_group_rule_descriptions_ingress/_update_security_group_rule_descriptions_ingress_input.rs

@@ -25,25 +244,249 @@
   45     45   
    "com.amazonaws.ec2.synthetic",
   46     46   
    "UpdateSecurityGroupRuleDescriptionsIngressInput",
   47     47   
);
   48     48   
static UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   49     49   
    ::aws_smithy_schema::ShapeId::from_static(
   50     50   
        "com.amazonaws.ec2.synthetic#UpdateSecurityGroupRuleDescriptionsIngressInput$DryRun",
   51     51   
        "com.amazonaws.ec2.synthetic",
   52     52   
        "UpdateSecurityGroupRuleDescriptionsIngressInput",
   53     53   
    ),
   54     54   
    ::aws_smithy_schema::ShapeType::Boolean,
   55         -
    "dry_run",
          55  +
    "DryRun",
   56     56   
    0,
   57     57   
);
   58     58   
static UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_MEMBER_GROUP_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   59     59   
    ::aws_smithy_schema::ShapeId::from_static(
   60     60   
        "com.amazonaws.ec2.synthetic#UpdateSecurityGroupRuleDescriptionsIngressInput$GroupId",
   61     61   
        "com.amazonaws.ec2.synthetic",
   62     62   
        "UpdateSecurityGroupRuleDescriptionsIngressInput",
   63     63   
    ),
   64     64   
    ::aws_smithy_schema::ShapeType::String,
   65         -
    "group_id",
          65  +
    "GroupId",
   66     66   
    1,
   67     67   
);
   68     68   
static UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_MEMBER_GROUP_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   69     69   
    ::aws_smithy_schema::ShapeId::from_static(
   70     70   
        "com.amazonaws.ec2.synthetic#UpdateSecurityGroupRuleDescriptionsIngressInput$GroupName",
   71     71   
        "com.amazonaws.ec2.synthetic",
   72     72   
        "UpdateSecurityGroupRuleDescriptionsIngressInput",
   73     73   
    ),
   74     74   
    ::aws_smithy_schema::ShapeType::String,
   75         -
    "group_name",
          75  +
    "GroupName",
   76     76   
    2,
   77     77   
);
   78     78   
static UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_MEMBER_IP_PERMISSIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   79     79   
    ::aws_smithy_schema::ShapeId::from_static(
   80     80   
        "com.amazonaws.ec2.synthetic#UpdateSecurityGroupRuleDescriptionsIngressInput$IpPermissions",
   81     81   
        "com.amazonaws.ec2.synthetic",
   82     82   
        "UpdateSecurityGroupRuleDescriptionsIngressInput",
   83     83   
    ),
   84     84   
    ::aws_smithy_schema::ShapeType::List,
   85         -
    "ip_permissions",
          85  +
    "IpPermissions",
   86     86   
    3,
   87     87   
);
   88     88   
static UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_MEMBER_SECURITY_GROUP_RULE_DESCRIPTIONS: ::aws_smithy_schema::Schema =
   89     89   
    ::aws_smithy_schema::Schema::new_member(
   90     90   
        ::aws_smithy_schema::ShapeId::from_static(
   91     91   
            "com.amazonaws.ec2.synthetic#UpdateSecurityGroupRuleDescriptionsIngressInput$SecurityGroupRuleDescriptions",
   92     92   
            "com.amazonaws.ec2.synthetic",
   93     93   
            "UpdateSecurityGroupRuleDescriptionsIngressInput",
   94     94   
        ),
   95     95   
        ::aws_smithy_schema::ShapeType::List,
   96         -
        "security_group_rule_descriptions",
          96  +
        "SecurityGroupRuleDescriptions",
   97     97   
        4,
   98     98   
    )
   99     99   
    .with_xml_name("SecurityGroupRuleDescription");
  100    100   
static UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  101    101   
    UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_SCHEMA_ID,
  102    102   
    ::aws_smithy_schema::ShapeType::Structure,
  103    103   
    &[
  104    104   
        &UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_MEMBER_DRY_RUN,
  105    105   
        &UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_MEMBER_GROUP_ID,
  106    106   
        &UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_MEMBER_GROUP_NAME,
  107    107   
        &UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_MEMBER_IP_PERMISSIONS,
  108    108   
        &UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_MEMBER_SECURITY_GROUP_RULE_DESCRIPTIONS,
  109    109   
    ],
  110    110   
);
  111    111   
impl UpdateSecurityGroupRuleDescriptionsIngressInput {
  112    112   
    /// The schema for this shape.
  113    113   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_SCHEMA;
  114    114   
}
  115    115   
impl ::aws_smithy_schema::serde::SerializableStruct for UpdateSecurityGroupRuleDescriptionsIngressInput {
  116    116   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  117    117   
    fn serialize_members(
  118    118   
        &self,
  119    119   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  120    120   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  121    121   
        if let Some(ref val) = self.dry_run {
  122    122   
            ser.write_boolean(&UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_MEMBER_DRY_RUN, *val)?;
  123    123   
        }
  124    124   
        if let Some(ref val) = self.group_id {
  125    125   
            ser.write_string(&UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_MEMBER_GROUP_ID, val)?;
  126    126   
        }
  127    127   
        if let Some(ref val) = self.group_name {
  128    128   
            ser.write_string(&UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_MEMBER_GROUP_NAME, val)?;
  129    129   
        }
  130    130   
        if let Some(ref val) = self.ip_permissions {
  131    131   
            ser.write_list(
  132    132   
                &UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_MEMBER_IP_PERMISSIONS,
  133    133   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  134    134   
                    for item in val {
  135    135   
                        ser.write_struct(crate::types::IpPermission::SCHEMA, item)?;
  136    136   
                    }
  137    137   
                    Ok(())
  138    138   
                },
  139    139   
            )?;
  140    140   
        }
  141    141   
        if let Some(ref val) = self.security_group_rule_descriptions {
  142    142   
            ser.write_list(
  143    143   
                &UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_MEMBER_SECURITY_GROUP_RULE_DESCRIPTIONS,
  144    144   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  145    145   
                    for item in val {
  146    146   
                        ser.write_struct(crate::types::SecurityGroupRuleDescription::SCHEMA, item)?;
  147    147   
                    }
  148    148   
                    Ok(())
  149    149   
                },
  150    150   
            )?;
  151    151   
        }
  152    152   
        Ok(())
  153    153   
    }
  154    154   
}
  155    155   
impl UpdateSecurityGroupRuleDescriptionsIngressInput {
  156    156   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  157         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  158         -
        deserializer: &mut D,
         157  +
    pub fn deserialize(
         158  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  159    159   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  160    160   
        #[allow(unused_variables, unused_mut)]
  161    161   
        let mut builder = Self::builder();
  162    162   
        #[allow(
  163    163   
            unused_variables,
  164    164   
            unreachable_code,
  165    165   
            clippy::single_match,
  166    166   
            clippy::match_single_binding,
  167    167   
            clippy::diverging_sub_expression
  168    168   
        )]
  169         -
        deserializer.read_struct(&UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_SCHEMA, (), |_, member, deser| {
         169  +
        deserializer.read_struct(&UPDATESECURITYGROUPRULEDESCRIPTIONSINGRESSINPUT_SCHEMA, &mut |member, deser| {
  170    170   
            match member.member_index() {
  171    171   
                Some(0) => {
  172    172   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  173    173   
                }
  174    174   
                Some(1) => {
  175    175   
                    builder.group_id = Some(deser.read_string(member)?);
  176    176   
                }
  177    177   
                Some(2) => {
  178    178   
                    builder.group_name = Some(deser.read_string(member)?);
  179    179   
                }
  180    180   
                Some(3) => {
  181    181   
                    builder.ip_permissions = Some({
  182         -
                        let container = if let Some(cap) = deser.container_size() {
  183         -
                            Vec::with_capacity(cap)
  184         -
                        } else {
  185         -
                            Vec::new()
  186         -
                        };
  187         -
                        deser.read_list(member, container, |mut list, deser| {
  188         -
                            list.push(crate::types::IpPermission::deserialize(deser)?);
  189         -
                            Ok(list)
  190         -
                        })?
         182  +
                        let mut container = Vec::new();
         183  +
                        deser.read_list(member, &mut |deser| {
         184  +
                            container.push(crate::types::IpPermission::deserialize(deser)?);
         185  +
                            Ok(())
         186  +
                        })?;
         187  +
                        container
  191    188   
                    });
  192    189   
                }
  193    190   
                Some(4) => {
  194    191   
                    builder.security_group_rule_descriptions = Some({
  195         -
                        let container = if let Some(cap) = deser.container_size() {
  196         -
                            Vec::with_capacity(cap)
  197         -
                        } else {
  198         -
                            Vec::new()
  199         -
                        };
  200         -
                        deser.read_list(member, container, |mut list, deser| {
  201         -
                            list.push(crate::types::SecurityGroupRuleDescription::deserialize(deser)?);
  202         -
                            Ok(list)
  203         -
                        })?
         192  +
                        let mut container = Vec::new();
         193  +
                        deser.read_list(member, &mut |deser| {
         194  +
                            container.push(crate::types::SecurityGroupRuleDescription::deserialize(deser)?);
         195  +
                            Ok(())
         196  +
                        })?;
         197  +
                        container
  204    198   
                    });
  205    199   
                }
  206    200   
                _ => {}
  207    201   
            }
  208    202   
            Ok(())
  209    203   
        })?;
  210    204   
        builder
  211    205   
            .build()
  212    206   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  213    207   
    }
  214    208   
}
         209  +
impl UpdateSecurityGroupRuleDescriptionsIngressInput {
         210  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         211  +
    pub fn deserialize_with_response(
         212  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         213  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         214  +
        _status: u16,
         215  +
        _body: &[u8],
         216  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         217  +
        Self::deserialize(deserializer)
         218  +
    }
         219  +
}
  215    220   
impl UpdateSecurityGroupRuleDescriptionsIngressInput {
  216    221   
    /// Creates a new builder-style object to manufacture [`UpdateSecurityGroupRuleDescriptionsIngressInput`](crate::operation::update_security_group_rule_descriptions_ingress::UpdateSecurityGroupRuleDescriptionsIngressInput).
  217    222   
    pub fn builder(
  218    223   
    ) -> crate::operation::update_security_group_rule_descriptions_ingress::builders::UpdateSecurityGroupRuleDescriptionsIngressInputBuilder {
  219    224   
        crate::operation::update_security_group_rule_descriptions_ingress::builders::UpdateSecurityGroupRuleDescriptionsIngressInputBuilder::default()
  220    225   
    }
  221    226   
}
  222    227   
  223    228   
/// A builder for [`UpdateSecurityGroupRuleDescriptionsIngressInput`](crate::operation::update_security_group_rule_descriptions_ingress::UpdateSecurityGroupRuleDescriptionsIngressInput).
  224    229   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]