AWS SDK

AWS SDK

rev. 96f5a1b4ad139d2f1ad1e8e40f300e1cd1ff574c

Files changed:

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/start_vpc_endpoint_service_private_dns_verification/_start_vpc_endpoint_service_private_dns_verification_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/start_vpc_endpoint_service_private_dns_verification/_start_vpc_endpoint_service_private_dns_verification_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/stop_instances/_stop_instances_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/stop_instances/_stop_instances_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/terminate_client_vpn_connections/_terminate_client_vpn_connections_input.rs

@@ -15,15 +179,191 @@
   35     35   
    "com.amazonaws.ec2.synthetic",
   36     36   
    "TerminateClientVpnConnectionsInput",
   37     37   
);
   38     38   
static TERMINATECLIENTVPNCONNECTIONSINPUT_MEMBER_CLIENT_VPN_ENDPOINT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   39     39   
    ::aws_smithy_schema::ShapeId::from_static(
   40     40   
        "com.amazonaws.ec2.synthetic#TerminateClientVpnConnectionsInput$ClientVpnEndpointId",
   41     41   
        "com.amazonaws.ec2.synthetic",
   42     42   
        "TerminateClientVpnConnectionsInput",
   43     43   
    ),
   44     44   
    ::aws_smithy_schema::ShapeType::String,
   45         -
    "client_vpn_endpoint_id",
          45  +
    "ClientVpnEndpointId",
   46     46   
    0,
   47     47   
);
   48     48   
static TERMINATECLIENTVPNCONNECTIONSINPUT_MEMBER_CONNECTION_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#TerminateClientVpnConnectionsInput$ConnectionId",
   51     51   
        "com.amazonaws.ec2.synthetic",
   52     52   
        "TerminateClientVpnConnectionsInput",
   53     53   
    ),
   54     54   
    ::aws_smithy_schema::ShapeType::String,
   55         -
    "connection_id",
          55  +
    "ConnectionId",
   56     56   
    1,
   57     57   
);
   58     58   
static TERMINATECLIENTVPNCONNECTIONSINPUT_MEMBER_USERNAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   59     59   
    ::aws_smithy_schema::ShapeId::from_static(
   60     60   
        "com.amazonaws.ec2.synthetic#TerminateClientVpnConnectionsInput$Username",
   61     61   
        "com.amazonaws.ec2.synthetic",
   62     62   
        "TerminateClientVpnConnectionsInput",
   63     63   
    ),
   64     64   
    ::aws_smithy_schema::ShapeType::String,
   65         -
    "username",
          65  +
    "Username",
   66     66   
    2,
   67     67   
);
   68     68   
static TERMINATECLIENTVPNCONNECTIONSINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   69     69   
    ::aws_smithy_schema::ShapeId::from_static(
   70     70   
        "com.amazonaws.ec2.synthetic#TerminateClientVpnConnectionsInput$DryRun",
   71     71   
        "com.amazonaws.ec2.synthetic",
   72     72   
        "TerminateClientVpnConnectionsInput",
   73     73   
    ),
   74     74   
    ::aws_smithy_schema::ShapeType::Boolean,
   75         -
    "dry_run",
          75  +
    "DryRun",
   76     76   
    3,
   77     77   
);
   78     78   
static TERMINATECLIENTVPNCONNECTIONSINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   79     79   
    TERMINATECLIENTVPNCONNECTIONSINPUT_SCHEMA_ID,
   80     80   
    ::aws_smithy_schema::ShapeType::Structure,
   81     81   
    &[
   82     82   
        &TERMINATECLIENTVPNCONNECTIONSINPUT_MEMBER_CLIENT_VPN_ENDPOINT_ID,
   83     83   
        &TERMINATECLIENTVPNCONNECTIONSINPUT_MEMBER_CONNECTION_ID,
   84     84   
        &TERMINATECLIENTVPNCONNECTIONSINPUT_MEMBER_USERNAME,
   85     85   
        &TERMINATECLIENTVPNCONNECTIONSINPUT_MEMBER_DRY_RUN,
   86     86   
    ],
   87     87   
);
   88     88   
impl TerminateClientVpnConnectionsInput {
   89     89   
    /// The schema for this shape.
   90     90   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &TERMINATECLIENTVPNCONNECTIONSINPUT_SCHEMA;
   91     91   
}
   92     92   
impl ::aws_smithy_schema::serde::SerializableStruct for TerminateClientVpnConnectionsInput {
   93     93   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   94     94   
    fn serialize_members(
   95     95   
        &self,
   96     96   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   97     97   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   98     98   
        if let Some(ref val) = self.client_vpn_endpoint_id {
   99     99   
            ser.write_string(&TERMINATECLIENTVPNCONNECTIONSINPUT_MEMBER_CLIENT_VPN_ENDPOINT_ID, val)?;
  100    100   
        }
  101    101   
        if let Some(ref val) = self.connection_id {
  102    102   
            ser.write_string(&TERMINATECLIENTVPNCONNECTIONSINPUT_MEMBER_CONNECTION_ID, val)?;
  103    103   
        }
  104    104   
        if let Some(ref val) = self.username {
  105    105   
            ser.write_string(&TERMINATECLIENTVPNCONNECTIONSINPUT_MEMBER_USERNAME, val)?;
  106    106   
        }
  107    107   
        if let Some(ref val) = self.dry_run {
  108    108   
            ser.write_boolean(&TERMINATECLIENTVPNCONNECTIONSINPUT_MEMBER_DRY_RUN, *val)?;
  109    109   
        }
  110    110   
        Ok(())
  111    111   
    }
  112    112   
}
  113    113   
impl TerminateClientVpnConnectionsInput {
  114    114   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  115         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  116         -
        deserializer: &mut D,
         115  +
    pub fn deserialize(
         116  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  117    117   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  118    118   
        #[allow(unused_variables, unused_mut)]
  119    119   
        let mut builder = Self::builder();
  120    120   
        #[allow(
  121    121   
            unused_variables,
  122    122   
            unreachable_code,
  123    123   
            clippy::single_match,
  124    124   
            clippy::match_single_binding,
  125    125   
            clippy::diverging_sub_expression
  126    126   
        )]
  127         -
        deserializer.read_struct(&TERMINATECLIENTVPNCONNECTIONSINPUT_SCHEMA, (), |_, member, deser| {
         127  +
        deserializer.read_struct(&TERMINATECLIENTVPNCONNECTIONSINPUT_SCHEMA, &mut |member, deser| {
  128    128   
            match member.member_index() {
  129    129   
                Some(0) => {
  130    130   
                    builder.client_vpn_endpoint_id = Some(deser.read_string(member)?);
  131    131   
                }
  132    132   
                Some(1) => {
  133    133   
                    builder.connection_id = Some(deser.read_string(member)?);
  134    134   
                }
  135    135   
                Some(2) => {
  136    136   
                    builder.username = Some(deser.read_string(member)?);
  137    137   
                }
  138    138   
                Some(3) => {
  139    139   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  140    140   
                }
  141    141   
                _ => {}
  142    142   
            }
  143    143   
            Ok(())
  144    144   
        })?;
         145  +
        builder.client_vpn_endpoint_id = builder.client_vpn_endpoint_id.or(Some(String::new()));
  145    146   
        builder
  146    147   
            .build()
  147    148   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  148    149   
    }
  149    150   
}
         151  +
impl TerminateClientVpnConnectionsInput {
         152  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         153  +
    pub fn deserialize_with_response(
         154  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         155  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         156  +
        _status: u16,
         157  +
        _body: &[u8],
         158  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         159  +
        Self::deserialize(deserializer)
         160  +
    }
         161  +
}
  150    162   
impl TerminateClientVpnConnectionsInput {
  151    163   
    /// Creates a new builder-style object to manufacture [`TerminateClientVpnConnectionsInput`](crate::operation::terminate_client_vpn_connections::TerminateClientVpnConnectionsInput).
  152    164   
    pub fn builder() -> crate::operation::terminate_client_vpn_connections::builders::TerminateClientVpnConnectionsInputBuilder {
  153    165   
        crate::operation::terminate_client_vpn_connections::builders::TerminateClientVpnConnectionsInputBuilder::default()
  154    166   
    }
  155    167   
}
  156    168   
  157    169   
/// A builder for [`TerminateClientVpnConnectionsInput`](crate::operation::terminate_client_vpn_connections::TerminateClientVpnConnectionsInput).
  158    170   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  159    171   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/terminate_client_vpn_connections/_terminate_client_vpn_connections_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/terminate_instances/_terminate_instances_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/terminate_instances/_terminate_instances_output.rs

@@ -1,1 +119,170 @@
   20     20   
    "com.amazonaws.ec2.synthetic",
   21     21   
    "TerminateInstancesOutput",
   22     22   
);
   23     23   
static TERMINATEINSTANCESOUTPUT_MEMBER_TERMINATING_INSTANCES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   24     24   
    ::aws_smithy_schema::ShapeId::from_static(
   25     25   
        "com.amazonaws.ec2.synthetic#TerminateInstancesOutput$TerminatingInstances",
   26     26   
        "com.amazonaws.ec2.synthetic",
   27     27   
        "TerminateInstancesOutput",
   28     28   
    ),
   29     29   
    ::aws_smithy_schema::ShapeType::List,
   30         -
    "terminating_instances",
          30  +
    "TerminatingInstances",
   31     31   
    0,
   32     32   
)
   33     33   
.with_xml_name("instancesSet");
          34  +
static TERMINATEINSTANCESOUTPUT_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 TERMINATEINSTANCESOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   35     42   
    TERMINATEINSTANCESOUTPUT_SCHEMA_ID,
   36     43   
    ::aws_smithy_schema::ShapeType::Structure,
   37         -
    &[&TERMINATEINSTANCESOUTPUT_MEMBER_TERMINATING_INSTANCES],
          44  +
    &[
          45  +
        &TERMINATEINSTANCESOUTPUT_MEMBER_TERMINATING_INSTANCES,
          46  +
        &TERMINATEINSTANCESOUTPUT_MEMBER__REQUEST_ID,
          47  +
    ],
   38     48   
);
   39     49   
impl TerminateInstancesOutput {
   40     50   
    /// The schema for this shape.
   41     51   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &TERMINATEINSTANCESOUTPUT_SCHEMA;
   42     52   
}
   43     53   
impl ::aws_smithy_schema::serde::SerializableStruct for TerminateInstancesOutput {
   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.terminating_instances {
   50     60   
            ser.write_list(
   51     61   
                &TERMINATEINSTANCESOUTPUT_MEMBER_TERMINATING_INSTANCES,
   52     62   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   53     63   
                    for item in val {
   54     64   
                        ser.write_struct(crate::types::InstanceStateChange::SCHEMA, item)?;
   55     65   
                    }
   56     66   
                    Ok(())
   57     67   
                },
   58     68   
            )?;
   59     69   
        }
   60     70   
        Ok(())
   61     71   
    }
   62     72   
}
   63     73   
impl TerminateInstancesOutput {
   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,
          77  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          78  +
        #[allow(unused_variables, unused_mut)]
          79  +
        let mut builder = Self::builder();
          80  +
        #[allow(
          81  +
            unused_variables,
          82  +
            unreachable_code,
          83  +
            clippy::single_match,
          84  +
            clippy::match_single_binding,
          85  +
            clippy::diverging_sub_expression
          86  +
        )]
          87  +
        deserializer.read_struct(&TERMINATEINSTANCESOUTPUT_SCHEMA, &mut |member, deser| {
          88  +
            match member.member_index() {
          89  +
                Some(0) => {
          90  +
                    builder.terminating_instances = Some({
          91  +
                        let mut container = Vec::new();
          92  +
                        deser.read_list(member, &mut |deser| {
          93  +
                            container.push(crate::types::InstanceStateChange::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 TerminateInstancesOutput {
         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],
   67    118   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   68    119   
        #[allow(unused_variables, unused_mut)]
   69    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  +
        }
   70    124   
        #[allow(
   71    125   
            unused_variables,
   72    126   
            unreachable_code,
   73    127   
            clippy::single_match,
   74    128   
            clippy::match_single_binding,
   75    129   
            clippy::diverging_sub_expression
   76    130   
        )]
   77         -
        deserializer.read_struct(&TERMINATEINSTANCESOUTPUT_SCHEMA, (), |_, member, deser| {
         131  +
        deserializer.read_struct(&TERMINATEINSTANCESOUTPUT_SCHEMA, &mut |member, deser| {
   78    132   
            match member.member_index() {
   79    133   
                Some(0) => {
   80    134   
                    builder.terminating_instances = 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::InstanceStateChange::deserialize(deser)?);
   88         -
                            Ok(list)
   89         -
                        })?
         135  +
                        let mut container = Vec::new();
         136  +
                        deser.read_list(member, &mut |deser| {
         137  +
                            container.push(crate::types::InstanceStateChange::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 TerminateInstancesOutput {

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/unassign_ipv6_addresses/_unassign_ipv6_addresses_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/unassign_ipv6_addresses/_unassign_ipv6_addresses_output.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/unassign_private_ip_addresses.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 `UnassignPrivateIpAddresses`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct UnassignPrivateIpAddresses;
    6      6   
impl UnassignPrivateIpAddresses {
    7      7   
    /// Creates a new `UnassignPrivateIpAddresses`
    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_ip_addresses::UnassignPrivateIpAddressesInput::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_ip_addresses::UnassignPrivateIpAddressesOutput::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_ip_addresses::UnassignPrivateIpAddressesInput,
   14     20   
    ) -> ::std::result::Result<
   15     21   
        crate::operation::unassign_private_ip_addresses::UnassignPrivateIpAddressesOutput,
   16     22   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     23   
            crate::operation::unassign_private_ip_addresses::UnassignPrivateIpAddressesError,
   18     24   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     25   
        >,
   20     26   
    > {
@@ -118,124 +180,187 @@
  138    144   
                crate::operation::unassign_private_ip_addresses::UnassignPrivateIpAddressesError,
  139    145   
            >::new());
  140    146   
  141    147   
        ::std::borrow::Cow::Owned(rcb)
  142    148   
    }
  143    149   
}
  144    150   
  145    151   
#[derive(Debug)]
  146    152   
struct UnassignPrivateIpAddressesResponseDeserializer;
  147    153   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for UnassignPrivateIpAddressesResponseDeserializer {
  148         -
    fn deserialize_nonstreaming(
         154  +
    fn deserialize_nonstreaming_with_config(
  149    155   
        &self,
  150    156   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         157  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  151    158   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  152    159   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  153    160   
        let headers = response.headers();
  154    161   
        let body = response.body().bytes().expect("body loaded");
  155    162   
        #[allow(unused_mut)]
  156    163   
        let mut force_error = false;
  157    164   
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  158    165   
        let parse_result = if !success && status != 200 || force_error {
  159    166   
            crate::protocol_serde::shape_unassign_private_ip_addresses::de_unassign_private_ip_addresses_http_error(status, headers, body)
  160    167   
        } else {