AWS SDK

AWS SDK

rev. e063993ca0ab793f44c575dbe707d50a5e3e2406 (ignoring whitespace)

Files changed:

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_scheduled_instances/_describe_scheduled_instances_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_security_group_references/_describe_security_group_references_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_security_group_references/_describe_security_group_references_output.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_security_group_rules.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 `DescribeSecurityGroupRules`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct DescribeSecurityGroupRules;
    6      6   
impl DescribeSecurityGroupRules {
    7      7   
    /// Creates a new `DescribeSecurityGroupRules`
    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::describe_security_group_rules::DescribeSecurityGroupRulesInput::SCHEMA;
          14  +
    /// The schema for this operation's output shape.
          15  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          16  +
        crate::operation::describe_security_group_rules::DescribeSecurityGroupRulesOutput::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::describe_security_group_rules::DescribeSecurityGroupRulesInput,
   14     20   
    ) -> ::std::result::Result<
   15     21   
        crate::operation::describe_security_group_rules::DescribeSecurityGroupRulesOutput,
   16     22   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     23   
            crate::operation::describe_security_group_rules::DescribeSecurityGroupRulesError,
   18     24   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     25   
        >,
   20     26   
    > {
@@ -118,124 +180,187 @@
  138    144   
                crate::operation::describe_security_group_rules::DescribeSecurityGroupRulesError,
  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 DescribeSecurityGroupRulesResponseDeserializer;
  147    153   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for DescribeSecurityGroupRulesResponseDeserializer {
  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_describe_security_group_rules::de_describe_security_group_rules_http_error(status, headers, body)
  160    167   
        } else {

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_security_group_rules/_describe_security_group_rules_input.rs

@@ -53,53 +272,270 @@
   73     73   
    "com.amazonaws.ec2.synthetic",
   74     74   
    "DescribeSecurityGroupRulesInput",
   75     75   
);
   76     76   
static DESCRIBESECURITYGROUPRULESINPUT_MEMBER_FILTERS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   77     77   
    ::aws_smithy_schema::ShapeId::from_static(
   78     78   
        "com.amazonaws.ec2.synthetic#DescribeSecurityGroupRulesInput$Filters",
   79     79   
        "com.amazonaws.ec2.synthetic",
   80     80   
        "DescribeSecurityGroupRulesInput",
   81     81   
    ),
   82     82   
    ::aws_smithy_schema::ShapeType::List,
   83         -
    "filters",
          83  +
    "Filters",
   84     84   
    0,
   85     85   
)
   86     86   
.with_xml_name("Filter");
   87     87   
static DESCRIBESECURITYGROUPRULESINPUT_MEMBER_SECURITY_GROUP_RULE_IDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   88     88   
    ::aws_smithy_schema::ShapeId::from_static(
   89     89   
        "com.amazonaws.ec2.synthetic#DescribeSecurityGroupRulesInput$SecurityGroupRuleIds",
   90     90   
        "com.amazonaws.ec2.synthetic",
   91     91   
        "DescribeSecurityGroupRulesInput",
   92     92   
    ),
   93     93   
    ::aws_smithy_schema::ShapeType::List,
   94         -
    "security_group_rule_ids",
          94  +
    "SecurityGroupRuleIds",
   95     95   
    1,
   96     96   
)
   97     97   
.with_xml_name("SecurityGroupRuleId");
   98     98   
static DESCRIBESECURITYGROUPRULESINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   99     99   
    ::aws_smithy_schema::ShapeId::from_static(
  100    100   
        "com.amazonaws.ec2.synthetic#DescribeSecurityGroupRulesInput$DryRun",
  101    101   
        "com.amazonaws.ec2.synthetic",
  102    102   
        "DescribeSecurityGroupRulesInput",
  103    103   
    ),
  104    104   
    ::aws_smithy_schema::ShapeType::Boolean,
  105         -
    "dry_run",
         105  +
    "DryRun",
  106    106   
    2,
  107    107   
);
  108    108   
static DESCRIBESECURITYGROUPRULESINPUT_MEMBER_NEXT_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  109    109   
    ::aws_smithy_schema::ShapeId::from_static(
  110    110   
        "com.amazonaws.ec2.synthetic#DescribeSecurityGroupRulesInput$NextToken",
  111    111   
        "com.amazonaws.ec2.synthetic",
  112    112   
        "DescribeSecurityGroupRulesInput",
  113    113   
    ),
  114    114   
    ::aws_smithy_schema::ShapeType::String,
  115         -
    "next_token",
         115  +
    "NextToken",
  116    116   
    3,
  117    117   
);
  118    118   
static DESCRIBESECURITYGROUPRULESINPUT_MEMBER_MAX_RESULTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  119    119   
    ::aws_smithy_schema::ShapeId::from_static(
  120    120   
        "com.amazonaws.ec2.synthetic#DescribeSecurityGroupRulesInput$MaxResults",
  121    121   
        "com.amazonaws.ec2.synthetic",
  122    122   
        "DescribeSecurityGroupRulesInput",
  123    123   
    ),
  124    124   
    ::aws_smithy_schema::ShapeType::Integer,
  125         -
    "max_results",
         125  +
    "MaxResults",
  126    126   
    4,
  127    127   
);
  128    128   
static DESCRIBESECURITYGROUPRULESINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  129    129   
    DESCRIBESECURITYGROUPRULESINPUT_SCHEMA_ID,
  130    130   
    ::aws_smithy_schema::ShapeType::Structure,
  131    131   
    &[
  132    132   
        &DESCRIBESECURITYGROUPRULESINPUT_MEMBER_FILTERS,
  133    133   
        &DESCRIBESECURITYGROUPRULESINPUT_MEMBER_SECURITY_GROUP_RULE_IDS,
  134    134   
        &DESCRIBESECURITYGROUPRULESINPUT_MEMBER_DRY_RUN,
  135    135   
        &DESCRIBESECURITYGROUPRULESINPUT_MEMBER_NEXT_TOKEN,
  136    136   
        &DESCRIBESECURITYGROUPRULESINPUT_MEMBER_MAX_RESULTS,
  137    137   
    ],
  138    138   
);
  139    139   
impl DescribeSecurityGroupRulesInput {
  140    140   
    /// The schema for this shape.
  141    141   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &DESCRIBESECURITYGROUPRULESINPUT_SCHEMA;
  142    142   
}
  143    143   
impl ::aws_smithy_schema::serde::SerializableStruct for DescribeSecurityGroupRulesInput {
  144    144   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  145    145   
    fn serialize_members(
  146    146   
        &self,
  147    147   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  148    148   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  149    149   
        if let Some(ref val) = self.filters {
  150    150   
            ser.write_list(
  151    151   
                &DESCRIBESECURITYGROUPRULESINPUT_MEMBER_FILTERS,
  152    152   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  153    153   
                    for item in val {
  154    154   
                        ser.write_struct(crate::types::Filter::SCHEMA, item)?;
  155    155   
                    }
  156    156   
                    Ok(())
  157    157   
                },
  158    158   
            )?;
  159    159   
        }
  160    160   
        if let Some(ref val) = self.security_group_rule_ids {
  161    161   
            ser.write_list(
  162    162   
                &DESCRIBESECURITYGROUPRULESINPUT_MEMBER_SECURITY_GROUP_RULE_IDS,
  163    163   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  164    164   
                    for item in val {
  165    165   
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
  166    166   
                    }
  167    167   
                    Ok(())
  168    168   
                },
  169    169   
            )?;
  170    170   
        }
  171    171   
        if let Some(ref val) = self.dry_run {
  172    172   
            ser.write_boolean(&DESCRIBESECURITYGROUPRULESINPUT_MEMBER_DRY_RUN, *val)?;
  173    173   
        }
  174    174   
        if let Some(ref val) = self.next_token {
  175    175   
            ser.write_string(&DESCRIBESECURITYGROUPRULESINPUT_MEMBER_NEXT_TOKEN, val)?;
  176    176   
        }
  177    177   
        if let Some(ref val) = self.max_results {
  178    178   
            ser.write_integer(&DESCRIBESECURITYGROUPRULESINPUT_MEMBER_MAX_RESULTS, *val)?;
  179    179   
        }
  180    180   
        Ok(())
  181    181   
    }
  182    182   
}
  183    183   
impl DescribeSecurityGroupRulesInput {
  184    184   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  185         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  186         -
        deserializer: &mut D,
         185  +
    pub fn deserialize(
         186  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  187    187   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  188    188   
        #[allow(unused_variables, unused_mut)]
  189    189   
        let mut builder = Self::builder();
  190    190   
        #[allow(
  191    191   
            unused_variables,
  192    192   
            unreachable_code,
  193    193   
            clippy::single_match,
  194    194   
            clippy::match_single_binding,
  195    195   
            clippy::diverging_sub_expression
  196    196   
        )]
  197         -
        deserializer.read_struct(&DESCRIBESECURITYGROUPRULESINPUT_SCHEMA, (), |_, member, deser| {
         197  +
        deserializer.read_struct(&DESCRIBESECURITYGROUPRULESINPUT_SCHEMA, &mut |member, deser| {
  198    198   
            match member.member_index() {
  199    199   
                Some(0) => {
  200    200   
                    builder.filters = Some({
  201         -
                        let container = if let Some(cap) = deser.container_size() {
  202         -
                            Vec::with_capacity(cap)
  203         -
                        } else {
  204         -
                            Vec::new()
  205         -
                        };
  206         -
                        deser.read_list(member, container, |mut list, deser| {
  207         -
                            list.push(crate::types::Filter::deserialize(deser)?);
  208         -
                            Ok(list)
  209         -
                        })?
         201  +
                        let mut container = Vec::new();
         202  +
                        deser.read_list(member, &mut |deser| {
         203  +
                            container.push(crate::types::Filter::deserialize(deser)?);
         204  +
                            Ok(())
         205  +
                        })?;
         206  +
                        container
  210    207   
                    });
  211    208   
                }
  212    209   
                Some(1) => {
  213         -
                    builder.security_group_rule_ids = Some({
  214         -
                        let container = if let Some(cap) = deser.container_size() {
  215         -
                            Vec::with_capacity(cap)
  216         -
                        } else {
  217         -
                            Vec::new()
  218         -
                        };
  219         -
                        deser.read_list(member, container, |mut list, deser| {
  220         -
                            list.push(deser.read_string(member)?);
  221         -
                            Ok(list)
  222         -
                        })?
  223         -
                    });
         210  +
                    builder.security_group_rule_ids = Some(deser.read_string_list(member)?);
  224    211   
                }
  225    212   
                Some(2) => {
  226    213   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  227    214   
                }
  228    215   
                Some(3) => {
  229    216   
                    builder.next_token = Some(deser.read_string(member)?);
  230    217   
                }
  231    218   
                Some(4) => {
  232    219   
                    builder.max_results = Some(deser.read_integer(member)?);
  233    220   
                }
  234    221   
                _ => {}
  235    222   
            }
  236    223   
            Ok(())
  237    224   
        })?;
  238    225   
        builder
  239    226   
            .build()
  240    227   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  241    228   
    }
  242    229   
}
         230  +
impl DescribeSecurityGroupRulesInput {
         231  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         232  +
    pub fn deserialize_with_response(
         233  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         234  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         235  +
        _status: u16,
         236  +
        _body: &[u8],
         237  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         238  +
        Self::deserialize(deserializer)
         239  +
    }
         240  +
}
  243    241   
impl DescribeSecurityGroupRulesInput {
  244    242   
    /// Creates a new builder-style object to manufacture [`DescribeSecurityGroupRulesInput`](crate::operation::describe_security_group_rules::DescribeSecurityGroupRulesInput).
  245    243   
    pub fn builder() -> crate::operation::describe_security_group_rules::builders::DescribeSecurityGroupRulesInputBuilder {
  246    244   
        crate::operation::describe_security_group_rules::builders::DescribeSecurityGroupRulesInputBuilder::default()
  247    245   
    }
  248    246   
}
  249    247   
  250    248   
/// A builder for [`DescribeSecurityGroupRulesInput`](crate::operation::describe_security_group_rules::DescribeSecurityGroupRulesInput).
  251    249   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  252    250   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_security_group_rules/_describe_security_group_rules_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_security_group_vpc_associations/_describe_security_group_vpc_associations_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_security_group_vpc_associations/_describe_security_group_vpc_associations_output.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_security_groups.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 `DescribeSecurityGroups`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct DescribeSecurityGroups;
    6      6   
impl DescribeSecurityGroups {
    7      7   
    /// Creates a new `DescribeSecurityGroups`
    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::describe_security_groups::DescribeSecurityGroupsInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::describe_security_groups::DescribeSecurityGroupsOutput::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::describe_security_groups::DescribeSecurityGroupsInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::describe_security_groups::DescribeSecurityGroupsOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::describe_security_groups::DescribeSecurityGroupsError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -118,122 +180,185 @@
  138    142   
                crate::operation::describe_security_groups::DescribeSecurityGroupsError,
  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 DescribeSecurityGroupsResponseDeserializer;
  147    151   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for DescribeSecurityGroupsResponseDeserializer {
  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_describe_security_groups::de_describe_security_groups_http_error(status, headers, body)
  160    165   
        } else {

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_security_groups/_describe_security_groups_input.rs

@@ -153,153 +266,266 @@
  173    173   
    "com.amazonaws.ec2.synthetic",
  174    174   
    "DescribeSecurityGroupsInput",
  175    175   
);
  176    176   
static DESCRIBESECURITYGROUPSINPUT_MEMBER_GROUP_IDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  177    177   
    ::aws_smithy_schema::ShapeId::from_static(
  178    178   
        "com.amazonaws.ec2.synthetic#DescribeSecurityGroupsInput$GroupIds",
  179    179   
        "com.amazonaws.ec2.synthetic",
  180    180   
        "DescribeSecurityGroupsInput",
  181    181   
    ),
  182    182   
    ::aws_smithy_schema::ShapeType::List,
  183         -
    "group_ids",
         183  +
    "GroupIds",
  184    184   
    0,
  185    185   
)
  186    186   
.with_xml_name("GroupId");
  187    187   
static DESCRIBESECURITYGROUPSINPUT_MEMBER_GROUP_NAMES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  188    188   
    ::aws_smithy_schema::ShapeId::from_static(
  189    189   
        "com.amazonaws.ec2.synthetic#DescribeSecurityGroupsInput$GroupNames",
  190    190   
        "com.amazonaws.ec2.synthetic",
  191    191   
        "DescribeSecurityGroupsInput",
  192    192   
    ),
  193    193   
    ::aws_smithy_schema::ShapeType::List,
  194         -
    "group_names",
         194  +
    "GroupNames",
  195    195   
    1,
  196    196   
)
  197    197   
.with_xml_name("GroupName");
  198    198   
static DESCRIBESECURITYGROUPSINPUT_MEMBER_NEXT_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  199    199   
    ::aws_smithy_schema::ShapeId::from_static(
  200    200   
        "com.amazonaws.ec2.synthetic#DescribeSecurityGroupsInput$NextToken",
  201    201   
        "com.amazonaws.ec2.synthetic",
  202    202   
        "DescribeSecurityGroupsInput",
  203    203   
    ),
  204    204   
    ::aws_smithy_schema::ShapeType::String,
  205         -
    "next_token",
         205  +
    "NextToken",
  206    206   
    2,
  207    207   
);
  208    208   
static DESCRIBESECURITYGROUPSINPUT_MEMBER_MAX_RESULTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  209    209   
    ::aws_smithy_schema::ShapeId::from_static(
  210    210   
        "com.amazonaws.ec2.synthetic#DescribeSecurityGroupsInput$MaxResults",
  211    211   
        "com.amazonaws.ec2.synthetic",
  212    212   
        "DescribeSecurityGroupsInput",
  213    213   
    ),
  214    214   
    ::aws_smithy_schema::ShapeType::Integer,
  215         -
    "max_results",
         215  +
    "MaxResults",
  216    216   
    3,
  217    217   
);
  218    218   
static DESCRIBESECURITYGROUPSINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  219    219   
    ::aws_smithy_schema::ShapeId::from_static(
  220    220   
        "com.amazonaws.ec2.synthetic#DescribeSecurityGroupsInput$DryRun",
  221    221   
        "com.amazonaws.ec2.synthetic",
  222    222   
        "DescribeSecurityGroupsInput",
  223    223   
    ),
  224    224   
    ::aws_smithy_schema::ShapeType::Boolean,
  225         -
    "dry_run",
         225  +
    "DryRun",
  226    226   
    4,
  227    227   
)
  228    228   
.with_xml_name("dryRun");
  229    229   
static DESCRIBESECURITYGROUPSINPUT_MEMBER_FILTERS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  230    230   
    ::aws_smithy_schema::ShapeId::from_static(
  231    231   
        "com.amazonaws.ec2.synthetic#DescribeSecurityGroupsInput$Filters",
  232    232   
        "com.amazonaws.ec2.synthetic",
  233    233   
        "DescribeSecurityGroupsInput",
  234    234   
    ),
  235    235   
    ::aws_smithy_schema::ShapeType::List,
  236         -
    "filters",
         236  +
    "Filters",
  237    237   
    5,
  238    238   
)
  239    239   
.with_xml_name("Filter");
  240    240   
static DESCRIBESECURITYGROUPSINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  241    241   
    DESCRIBESECURITYGROUPSINPUT_SCHEMA_ID,
  242    242   
    ::aws_smithy_schema::ShapeType::Structure,
  243    243   
    &[
  244    244   
        &DESCRIBESECURITYGROUPSINPUT_MEMBER_GROUP_IDS,
  245    245   
        &DESCRIBESECURITYGROUPSINPUT_MEMBER_GROUP_NAMES,
  246    246   
        &DESCRIBESECURITYGROUPSINPUT_MEMBER_NEXT_TOKEN,
@@ -279,279 +409,397 @@
  299    299   
                    }
  300    300   
                    Ok(())
  301    301   
                },
  302    302   
            )?;
  303    303   
        }
  304    304   
        Ok(())
  305    305   
    }
  306    306   
}
  307    307   
impl DescribeSecurityGroupsInput {
  308    308   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  309         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  310         -
        deserializer: &mut D,
         309  +
    pub fn deserialize(
         310  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  311    311   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  312    312   
        #[allow(unused_variables, unused_mut)]
  313    313   
        let mut builder = Self::builder();
  314    314   
        #[allow(
  315    315   
            unused_variables,
  316    316   
            unreachable_code,
  317    317   
            clippy::single_match,
  318    318   
            clippy::match_single_binding,
  319    319   
            clippy::diverging_sub_expression
  320    320   
        )]
  321         -
        deserializer.read_struct(&DESCRIBESECURITYGROUPSINPUT_SCHEMA, (), |_, member, deser| {
         321  +
        deserializer.read_struct(&DESCRIBESECURITYGROUPSINPUT_SCHEMA, &mut |member, deser| {
  322    322   
            match member.member_index() {
  323    323   
                Some(0) => {
  324         -
                    builder.group_ids = Some({
  325         -
                        let container = if let Some(cap) = deser.container_size() {
  326         -
                            Vec::with_capacity(cap)
  327         -
                        } else {
  328         -
                            Vec::new()
  329         -
                        };
  330         -
                        deser.read_list(member, container, |mut list, deser| {
  331         -
                            list.push(deser.read_string(member)?);
  332         -
                            Ok(list)
  333         -
                        })?
  334         -
                    });
         324  +
                    builder.group_ids = Some(deser.read_string_list(member)?);
  335    325   
                }
  336    326   
                Some(1) => {
  337         -
                    builder.group_names = Some({
  338         -
                        let container = if let Some(cap) = deser.container_size() {
  339         -
                            Vec::with_capacity(cap)
  340         -
                        } else {
  341         -
                            Vec::new()
  342         -
                        };
  343         -
                        deser.read_list(member, container, |mut list, deser| {
  344         -
                            list.push(deser.read_string(member)?);
  345         -
                            Ok(list)
  346         -
                        })?
  347         -
                    });
         327  +
                    builder.group_names = Some(deser.read_string_list(member)?);
  348    328   
                }
  349    329   
                Some(2) => {
  350    330   
                    builder.next_token = Some(deser.read_string(member)?);
  351    331   
                }
  352    332   
                Some(3) => {
  353    333   
                    builder.max_results = Some(deser.read_integer(member)?);
  354    334   
                }
  355    335   
                Some(4) => {
  356    336   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  357    337   
                }
  358    338   
                Some(5) => {
  359    339   
                    builder.filters = Some({
  360         -
                        let container = if let Some(cap) = deser.container_size() {
  361         -
                            Vec::with_capacity(cap)
  362         -
                        } else {
  363         -
                            Vec::new()
  364         -
                        };
  365         -
                        deser.read_list(member, container, |mut list, deser| {
  366         -
                            list.push(crate::types::Filter::deserialize(deser)?);
  367         -
                            Ok(list)
  368         -
                        })?
         340  +
                        let mut container = Vec::new();
         341  +
                        deser.read_list(member, &mut |deser| {
         342  +
                            container.push(crate::types::Filter::deserialize(deser)?);
         343  +
                            Ok(())
         344  +
                        })?;
         345  +
                        container
  369    346   
                    });
  370    347   
                }
  371    348   
                _ => {}
  372    349   
            }
  373    350   
            Ok(())
  374    351   
        })?;
  375    352   
        builder
  376    353   
            .build()
  377    354   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  378    355   
    }
  379    356   
}
         357  +
impl DescribeSecurityGroupsInput {
         358  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         359  +
    pub fn deserialize_with_response(
         360  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         361  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         362  +
        _status: u16,
         363  +
        _body: &[u8],
         364  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         365  +
        Self::deserialize(deserializer)
         366  +
    }
         367  +
}
  380    368   
impl DescribeSecurityGroupsInput {
  381    369   
    /// Creates a new builder-style object to manufacture [`DescribeSecurityGroupsInput`](crate::operation::describe_security_groups::DescribeSecurityGroupsInput).
  382    370   
    pub fn builder() -> crate::operation::describe_security_groups::builders::DescribeSecurityGroupsInputBuilder {
  383    371   
        crate::operation::describe_security_groups::builders::DescribeSecurityGroupsInputBuilder::default()
  384    372   
    }
  385    373   
}
  386    374   
  387    375   
/// A builder for [`DescribeSecurityGroupsInput`](crate::operation::describe_security_groups::DescribeSecurityGroupsInput).
  388    376   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  389    377   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_security_groups/_describe_security_groups_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_service_link_virtual_interfaces/_describe_service_link_virtual_interfaces_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_service_link_virtual_interfaces/_describe_service_link_virtual_interfaces_output.rs

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