AWS SDK

AWS SDK

rev. 163d4d6410694aaf071424777ecbecd050925f36

Files changed:

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_instance_status/_describe_instance_status_input.rs

@@ -111,111 +224,224 @@
  131    131   
    "com.amazonaws.ec2.synthetic",
  132    132   
    "DescribeInstanceStatusInput",
  133    133   
);
  134    134   
static DESCRIBEINSTANCESTATUSINPUT_MEMBER_INSTANCE_IDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  135    135   
    ::aws_smithy_schema::ShapeId::from_static(
  136    136   
        "com.amazonaws.ec2.synthetic#DescribeInstanceStatusInput$InstanceIds",
  137    137   
        "com.amazonaws.ec2.synthetic",
  138    138   
        "DescribeInstanceStatusInput",
  139    139   
    ),
  140    140   
    ::aws_smithy_schema::ShapeType::List,
  141         -
    "instance_ids",
         141  +
    "InstanceIds",
  142    142   
    0,
  143    143   
)
  144    144   
.with_xml_name("InstanceId");
  145    145   
static DESCRIBEINSTANCESTATUSINPUT_MEMBER_MAX_RESULTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  146    146   
    ::aws_smithy_schema::ShapeId::from_static(
  147    147   
        "com.amazonaws.ec2.synthetic#DescribeInstanceStatusInput$MaxResults",
  148    148   
        "com.amazonaws.ec2.synthetic",
  149    149   
        "DescribeInstanceStatusInput",
  150    150   
    ),
  151    151   
    ::aws_smithy_schema::ShapeType::Integer,
  152         -
    "max_results",
         152  +
    "MaxResults",
  153    153   
    1,
  154    154   
);
  155    155   
static DESCRIBEINSTANCESTATUSINPUT_MEMBER_NEXT_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  156    156   
    ::aws_smithy_schema::ShapeId::from_static(
  157    157   
        "com.amazonaws.ec2.synthetic#DescribeInstanceStatusInput$NextToken",
  158    158   
        "com.amazonaws.ec2.synthetic",
  159    159   
        "DescribeInstanceStatusInput",
  160    160   
    ),
  161    161   
    ::aws_smithy_schema::ShapeType::String,
  162         -
    "next_token",
         162  +
    "NextToken",
  163    163   
    2,
  164    164   
);
  165    165   
static DESCRIBEINSTANCESTATUSINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  166    166   
    ::aws_smithy_schema::ShapeId::from_static(
  167    167   
        "com.amazonaws.ec2.synthetic#DescribeInstanceStatusInput$DryRun",
  168    168   
        "com.amazonaws.ec2.synthetic",
  169    169   
        "DescribeInstanceStatusInput",
  170    170   
    ),
  171    171   
    ::aws_smithy_schema::ShapeType::Boolean,
  172         -
    "dry_run",
         172  +
    "DryRun",
  173    173   
    3,
  174    174   
)
  175    175   
.with_xml_name("dryRun");
  176    176   
static DESCRIBEINSTANCESTATUSINPUT_MEMBER_FILTERS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  177    177   
    ::aws_smithy_schema::ShapeId::from_static(
  178    178   
        "com.amazonaws.ec2.synthetic#DescribeInstanceStatusInput$Filters",
  179    179   
        "com.amazonaws.ec2.synthetic",
  180    180   
        "DescribeInstanceStatusInput",
  181    181   
    ),
  182    182   
    ::aws_smithy_schema::ShapeType::List,
  183         -
    "filters",
         183  +
    "Filters",
  184    184   
    4,
  185    185   
)
  186    186   
.with_xml_name("Filter");
  187    187   
static DESCRIBEINSTANCESTATUSINPUT_MEMBER_INCLUDE_ALL_INSTANCES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  188    188   
    ::aws_smithy_schema::ShapeId::from_static(
  189    189   
        "com.amazonaws.ec2.synthetic#DescribeInstanceStatusInput$IncludeAllInstances",
  190    190   
        "com.amazonaws.ec2.synthetic",
  191    191   
        "DescribeInstanceStatusInput",
  192    192   
    ),
  193    193   
    ::aws_smithy_schema::ShapeType::Boolean,
  194         -
    "include_all_instances",
         194  +
    "IncludeAllInstances",
  195    195   
    5,
  196    196   
)
  197    197   
.with_xml_name("includeAllInstances");
  198    198   
static DESCRIBEINSTANCESTATUSINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  199    199   
    DESCRIBEINSTANCESTATUSINPUT_SCHEMA_ID,
  200    200   
    ::aws_smithy_schema::ShapeType::Structure,
  201    201   
    &[
  202    202   
        &DESCRIBEINSTANCESTATUSINPUT_MEMBER_INSTANCE_IDS,
  203    203   
        &DESCRIBEINSTANCESTATUSINPUT_MEMBER_MAX_RESULTS,
  204    204   
        &DESCRIBEINSTANCESTATUSINPUT_MEMBER_NEXT_TOKEN,
@@ -229,229 +349,347 @@
  249    249   
            )?;
  250    250   
        }
  251    251   
        if let Some(ref val) = self.include_all_instances {
  252    252   
            ser.write_boolean(&DESCRIBEINSTANCESTATUSINPUT_MEMBER_INCLUDE_ALL_INSTANCES, *val)?;
  253    253   
        }
  254    254   
        Ok(())
  255    255   
    }
  256    256   
}
  257    257   
impl DescribeInstanceStatusInput {
  258    258   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  259         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  260         -
        deserializer: &mut D,
         259  +
    pub fn deserialize(
         260  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  261    261   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  262    262   
        #[allow(unused_variables, unused_mut)]
  263    263   
        let mut builder = Self::builder();
  264    264   
        #[allow(
  265    265   
            unused_variables,
  266    266   
            unreachable_code,
  267    267   
            clippy::single_match,
  268    268   
            clippy::match_single_binding,
  269    269   
            clippy::diverging_sub_expression
  270    270   
        )]
  271         -
        deserializer.read_struct(&DESCRIBEINSTANCESTATUSINPUT_SCHEMA, (), |_, member, deser| {
         271  +
        deserializer.read_struct(&DESCRIBEINSTANCESTATUSINPUT_SCHEMA, &mut |member, deser| {
  272    272   
            match member.member_index() {
  273    273   
                Some(0) => {
  274         -
                    builder.instance_ids = Some({
  275         -
                        let container = if let Some(cap) = deser.container_size() {
  276         -
                            Vec::with_capacity(cap)
  277         -
                        } else {
  278         -
                            Vec::new()
  279         -
                        };
  280         -
                        deser.read_list(member, container, |mut list, deser| {
  281         -
                            list.push(deser.read_string(member)?);
  282         -
                            Ok(list)
  283         -
                        })?
  284         -
                    });
         274  +
                    builder.instance_ids = Some(deser.read_string_list(member)?);
  285    275   
                }
  286    276   
                Some(1) => {
  287    277   
                    builder.max_results = Some(deser.read_integer(member)?);
  288    278   
                }
  289    279   
                Some(2) => {
  290    280   
                    builder.next_token = Some(deser.read_string(member)?);
  291    281   
                }
  292    282   
                Some(3) => {
  293    283   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  294    284   
                }
  295    285   
                Some(4) => {
  296    286   
                    builder.filters = Some({
  297         -
                        let container = if let Some(cap) = deser.container_size() {
  298         -
                            Vec::with_capacity(cap)
  299         -
                        } else {
  300         -
                            Vec::new()
  301         -
                        };
  302         -
                        deser.read_list(member, container, |mut list, deser| {
  303         -
                            list.push(crate::types::Filter::deserialize(deser)?);
  304         -
                            Ok(list)
  305         -
                        })?
         287  +
                        let mut container = Vec::new();
         288  +
                        deser.read_list(member, &mut |deser| {
         289  +
                            container.push(crate::types::Filter::deserialize(deser)?);
         290  +
                            Ok(())
         291  +
                        })?;
         292  +
                        container
  306    293   
                    });
  307    294   
                }
  308    295   
                Some(5) => {
  309    296   
                    builder.include_all_instances = Some(deser.read_boolean(member)?);
  310    297   
                }
  311    298   
                _ => {}
  312    299   
            }
  313    300   
            Ok(())
  314    301   
        })?;
  315    302   
        builder
  316    303   
            .build()
  317    304   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  318    305   
    }
  319    306   
}
         307  +
impl DescribeInstanceStatusInput {
         308  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         309  +
    pub fn deserialize_with_response(
         310  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         311  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         312  +
        _status: u16,
         313  +
        _body: &[u8],
         314  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         315  +
        Self::deserialize(deserializer)
         316  +
    }
         317  +
}
  320    318   
impl DescribeInstanceStatusInput {
  321    319   
    /// Creates a new builder-style object to manufacture [`DescribeInstanceStatusInput`](crate::operation::describe_instance_status::DescribeInstanceStatusInput).
  322    320   
    pub fn builder() -> crate::operation::describe_instance_status::builders::DescribeInstanceStatusInputBuilder {
  323    321   
        crate::operation::describe_instance_status::builders::DescribeInstanceStatusInputBuilder::default()
  324    322   
    }
  325    323   
}
  326    324   
  327    325   
/// A builder for [`DescribeInstanceStatusInput`](crate::operation::describe_instance_status::DescribeInstanceStatusInput).
  328    326   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  329    327   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_instance_status/_describe_instance_status_output.rs

@@ -6,6 +142,194 @@
   26     26   
    "com.amazonaws.ec2.synthetic",
   27     27   
    "DescribeInstanceStatusOutput",
   28     28   
);
   29     29   
static DESCRIBEINSTANCESTATUSOUTPUT_MEMBER_INSTANCE_STATUSES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   30     30   
    ::aws_smithy_schema::ShapeId::from_static(
   31     31   
        "com.amazonaws.ec2.synthetic#DescribeInstanceStatusOutput$InstanceStatuses",
   32     32   
        "com.amazonaws.ec2.synthetic",
   33     33   
        "DescribeInstanceStatusOutput",
   34     34   
    ),
   35     35   
    ::aws_smithy_schema::ShapeType::List,
   36         -
    "instance_statuses",
          36  +
    "InstanceStatuses",
   37     37   
    0,
   38     38   
)
   39     39   
.with_xml_name("instanceStatusSet");
   40     40   
static DESCRIBEINSTANCESTATUSOUTPUT_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#DescribeInstanceStatusOutput$NextToken",
   43     43   
        "com.amazonaws.ec2.synthetic",
   44     44   
        "DescribeInstanceStatusOutput",
   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 DESCRIBEINSTANCESTATUSOUTPUT_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 DESCRIBEINSTANCESTATUSOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   52     59   
    DESCRIBEINSTANCESTATUSOUTPUT_SCHEMA_ID,
   53     60   
    ::aws_smithy_schema::ShapeType::Structure,
   54     61   
    &[
   55     62   
        &DESCRIBEINSTANCESTATUSOUTPUT_MEMBER_INSTANCE_STATUSES,
   56     63   
        &DESCRIBEINSTANCESTATUSOUTPUT_MEMBER_NEXT_TOKEN,
          64  +
        &DESCRIBEINSTANCESTATUSOUTPUT_MEMBER__REQUEST_ID,
   57     65   
    ],
   58     66   
);
   59     67   
impl DescribeInstanceStatusOutput {
   60     68   
    /// The schema for this shape.
   61     69   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &DESCRIBEINSTANCESTATUSOUTPUT_SCHEMA;
   62     70   
}
   63     71   
impl ::aws_smithy_schema::serde::SerializableStruct for DescribeInstanceStatusOutput {
   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.instance_statuses {
   70     78   
            ser.write_list(
   71     79   
                &DESCRIBEINSTANCESTATUSOUTPUT_MEMBER_INSTANCE_STATUSES,
   72     80   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   73     81   
                    for item in val {
   74     82   
                        ser.write_struct(crate::types::InstanceStatus::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(&DESCRIBEINSTANCESTATUSOUTPUT_MEMBER_NEXT_TOKEN, val)?;
   82     90   
        }
   83     91   
        Ok(())
   84     92   
    }
   85     93   
}
   86     94   
impl DescribeInstanceStatusOutput {
   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(&DESCRIBEINSTANCESTATUSOUTPUT_SCHEMA, &mut |member, deser| {
         109  +
            match member.member_index() {
         110  +
                Some(0) => {
         111  +
                    builder.instance_statuses = Some({
         112  +
                        let mut container = Vec::new();
         113  +
                        deser.read_list(member, &mut |deser| {
         114  +
                            container.push(crate::types::InstanceStatus::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 DescribeInstanceStatusOutput {
         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(&DESCRIBEINSTANCESTATUSOUTPUT_SCHEMA, (), |_, member, deser| {
         155  +
        deserializer.read_struct(&DESCRIBEINSTANCESTATUSOUTPUT_SCHEMA, &mut |member, deser| {
  101    156   
            match member.member_index() {
  102    157   
                Some(0) => {
  103    158   
                    builder.instance_statuses = 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::InstanceStatus::deserialize(deser)?);
  111         -
                            Ok(list)
  112         -
                        })?
         159  +
                        let mut container = Vec::new();
         160  +
                        deser.read_list(member, &mut |deser| {
         161  +
                            container.push(crate::types::InstanceStatus::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_instance_topology.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 `DescribeInstanceTopology`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct DescribeInstanceTopology;
    6      6   
impl DescribeInstanceTopology {
    7      7   
    /// Creates a new `DescribeInstanceTopology`
    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_instance_topology::DescribeInstanceTopologyInput::SCHEMA;
          14  +
    /// The schema for this operation's output shape.
          15  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          16  +
        crate::operation::describe_instance_topology::DescribeInstanceTopologyOutput::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_instance_topology::DescribeInstanceTopologyInput,
   14     20   
    ) -> ::std::result::Result<
   15     21   
        crate::operation::describe_instance_topology::DescribeInstanceTopologyOutput,
   16     22   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     23   
            crate::operation::describe_instance_topology::DescribeInstanceTopologyError,
   18     24   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     25   
        >,
   20     26   
    > {
@@ -121,127 +180,187 @@
  141    147   
        ::std::borrow::Cow::Owned(rcb)
  142    148   
    }
  143    149   
}
  144    150   
  145    151   
#[derive(Debug)]
  146    152   
struct DescribeInstanceTopologyResponseDeserializer;
  147    153   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for DescribeInstanceTopologyResponseDeserializer {
  148    154   
    fn deserialize_nonstreaming(
  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_instance_topology::de_describe_instance_topology_http_error(status, headers, body)
  160    167   
        } else {

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_instance_topology/_describe_instance_topology_input.rs

@@ -59,59 +171,171 @@
   79     79   
    "com.amazonaws.ec2.synthetic",
   80     80   
    "DescribeInstanceTopologyInput",
   81     81   
);
   82     82   
static DESCRIBEINSTANCETOPOLOGYINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   83     83   
    ::aws_smithy_schema::ShapeId::from_static(
   84     84   
        "com.amazonaws.ec2.synthetic#DescribeInstanceTopologyInput$DryRun",
   85     85   
        "com.amazonaws.ec2.synthetic",
   86     86   
        "DescribeInstanceTopologyInput",
   87     87   
    ),
   88     88   
    ::aws_smithy_schema::ShapeType::Boolean,
   89         -
    "dry_run",
          89  +
    "DryRun",
   90     90   
    0,
   91     91   
);
   92     92   
static DESCRIBEINSTANCETOPOLOGYINPUT_MEMBER_NEXT_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   93     93   
    ::aws_smithy_schema::ShapeId::from_static(
   94     94   
        "com.amazonaws.ec2.synthetic#DescribeInstanceTopologyInput$NextToken",
   95     95   
        "com.amazonaws.ec2.synthetic",
   96     96   
        "DescribeInstanceTopologyInput",
   97     97   
    ),
   98     98   
    ::aws_smithy_schema::ShapeType::String,
   99         -
    "next_token",
          99  +
    "NextToken",
  100    100   
    1,
  101    101   
);
  102    102   
static DESCRIBEINSTANCETOPOLOGYINPUT_MEMBER_MAX_RESULTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  103    103   
    ::aws_smithy_schema::ShapeId::from_static(
  104    104   
        "com.amazonaws.ec2.synthetic#DescribeInstanceTopologyInput$MaxResults",
  105    105   
        "com.amazonaws.ec2.synthetic",
  106    106   
        "DescribeInstanceTopologyInput",
  107    107   
    ),
  108    108   
    ::aws_smithy_schema::ShapeType::Integer,
  109         -
    "max_results",
         109  +
    "MaxResults",
  110    110   
    2,
  111    111   
);
  112    112   
static DESCRIBEINSTANCETOPOLOGYINPUT_MEMBER_INSTANCE_IDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  113    113   
    ::aws_smithy_schema::ShapeId::from_static(
  114    114   
        "com.amazonaws.ec2.synthetic#DescribeInstanceTopologyInput$InstanceIds",
  115    115   
        "com.amazonaws.ec2.synthetic",
  116    116   
        "DescribeInstanceTopologyInput",
  117    117   
    ),
  118    118   
    ::aws_smithy_schema::ShapeType::List,
  119         -
    "instance_ids",
         119  +
    "InstanceIds",
  120    120   
    3,
  121    121   
)
  122    122   
.with_xml_name("InstanceId");
  123    123   
static DESCRIBEINSTANCETOPOLOGYINPUT_MEMBER_GROUP_NAMES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  124    124   
    ::aws_smithy_schema::ShapeId::from_static(
  125    125   
        "com.amazonaws.ec2.synthetic#DescribeInstanceTopologyInput$GroupNames",
  126    126   
        "com.amazonaws.ec2.synthetic",
  127    127   
        "DescribeInstanceTopologyInput",
  128    128   
    ),
  129    129   
    ::aws_smithy_schema::ShapeType::List,
  130         -
    "group_names",
         130  +
    "GroupNames",
  131    131   
    4,
  132    132   
)
  133    133   
.with_xml_name("GroupName");
  134    134   
static DESCRIBEINSTANCETOPOLOGYINPUT_MEMBER_FILTERS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  135    135   
    ::aws_smithy_schema::ShapeId::from_static(
  136    136   
        "com.amazonaws.ec2.synthetic#DescribeInstanceTopologyInput$Filters",
  137    137   
        "com.amazonaws.ec2.synthetic",
  138    138   
        "DescribeInstanceTopologyInput",
  139    139   
    ),
  140    140   
    ::aws_smithy_schema::ShapeType::List,
  141         -
    "filters",
         141  +
    "Filters",
  142    142   
    5,
  143    143   
)
  144    144   
.with_xml_name("Filter");
  145    145   
static DESCRIBEINSTANCETOPOLOGYINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  146    146   
    DESCRIBEINSTANCETOPOLOGYINPUT_SCHEMA_ID,
  147    147   
    ::aws_smithy_schema::ShapeType::Structure,
  148    148   
    &[
  149    149   
        &DESCRIBEINSTANCETOPOLOGYINPUT_MEMBER_DRY_RUN,
  150    150   
        &DESCRIBEINSTANCETOPOLOGYINPUT_MEMBER_NEXT_TOKEN,
  151    151   
        &DESCRIBEINSTANCETOPOLOGYINPUT_MEMBER_MAX_RESULTS,
@@ -184,184 +314,302 @@
  204    204   
                    }
  205    205   
                    Ok(())
  206    206   
                },
  207    207   
            )?;
  208    208   
        }
  209    209   
        Ok(())
  210    210   
    }
  211    211   
}
  212    212   
impl DescribeInstanceTopologyInput {
  213    213   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  214         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  215         -
        deserializer: &mut D,
         214  +
    pub fn deserialize(
         215  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  216    216   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  217    217   
        #[allow(unused_variables, unused_mut)]
  218    218   
        let mut builder = Self::builder();
  219    219   
        #[allow(
  220    220   
            unused_variables,
  221    221   
            unreachable_code,
  222    222   
            clippy::single_match,
  223    223   
            clippy::match_single_binding,
  224    224   
            clippy::diverging_sub_expression
  225    225   
        )]
  226         -
        deserializer.read_struct(&DESCRIBEINSTANCETOPOLOGYINPUT_SCHEMA, (), |_, member, deser| {
         226  +
        deserializer.read_struct(&DESCRIBEINSTANCETOPOLOGYINPUT_SCHEMA, &mut |member, deser| {
  227    227   
            match member.member_index() {
  228    228   
                Some(0) => {
  229    229   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  230    230   
                }
  231    231   
                Some(1) => {
  232    232   
                    builder.next_token = Some(deser.read_string(member)?);
  233    233   
                }
  234    234   
                Some(2) => {
  235    235   
                    builder.max_results = Some(deser.read_integer(member)?);
  236    236   
                }
  237    237   
                Some(3) => {
  238         -
                    builder.instance_ids = Some({
  239         -
                        let container = if let Some(cap) = deser.container_size() {
  240         -
                            Vec::with_capacity(cap)
  241         -
                        } else {
  242         -
                            Vec::new()
  243         -
                        };
  244         -
                        deser.read_list(member, container, |mut list, deser| {
  245         -
                            list.push(deser.read_string(member)?);
  246         -
                            Ok(list)
  247         -
                        })?
  248         -
                    });
         238  +
                    builder.instance_ids = Some(deser.read_string_list(member)?);
  249    239   
                }
  250    240   
                Some(4) => {
  251         -
                    builder.group_names = Some({
  252         -
                        let container = if let Some(cap) = deser.container_size() {
  253         -
                            Vec::with_capacity(cap)
  254         -
                        } else {
  255         -
                            Vec::new()
  256         -
                        };
  257         -
                        deser.read_list(member, container, |mut list, deser| {
  258         -
                            list.push(deser.read_string(member)?);
  259         -
                            Ok(list)
  260         -
                        })?
  261         -
                    });
         241  +
                    builder.group_names = Some(deser.read_string_list(member)?);
  262    242   
                }
  263    243   
                Some(5) => {
  264    244   
                    builder.filters = Some({
  265         -
                        let container = if let Some(cap) = deser.container_size() {
  266         -
                            Vec::with_capacity(cap)
  267         -
                        } else {
  268         -
                            Vec::new()
  269         -
                        };
  270         -
                        deser.read_list(member, container, |mut list, deser| {
  271         -
                            list.push(crate::types::Filter::deserialize(deser)?);
  272         -
                            Ok(list)
  273         -
                        })?
         245  +
                        let mut container = Vec::new();
         246  +
                        deser.read_list(member, &mut |deser| {
         247  +
                            container.push(crate::types::Filter::deserialize(deser)?);
         248  +
                            Ok(())
         249  +
                        })?;
         250  +
                        container
  274    251   
                    });
  275    252   
                }
  276    253   
                _ => {}
  277    254   
            }
  278    255   
            Ok(())
  279    256   
        })?;
  280    257   
        builder
  281    258   
            .build()
  282    259   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  283    260   
    }
  284    261   
}
         262  +
impl DescribeInstanceTopologyInput {
         263  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         264  +
    pub fn deserialize_with_response(
         265  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         266  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         267  +
        _status: u16,
         268  +
        _body: &[u8],
         269  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         270  +
        Self::deserialize(deserializer)
         271  +
    }
         272  +
}
  285    273   
impl DescribeInstanceTopologyInput {
  286    274   
    /// Creates a new builder-style object to manufacture [`DescribeInstanceTopologyInput`](crate::operation::describe_instance_topology::DescribeInstanceTopologyInput).
  287    275   
    pub fn builder() -> crate::operation::describe_instance_topology::builders::DescribeInstanceTopologyInputBuilder {
  288    276   
        crate::operation::describe_instance_topology::builders::DescribeInstanceTopologyInputBuilder::default()
  289    277   
    }
  290    278   
}
  291    279   
  292    280   
/// A builder for [`DescribeInstanceTopologyInput`](crate::operation::describe_instance_topology::DescribeInstanceTopologyInput).
  293    281   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  294    282   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_instance_topology/_describe_instance_topology_output.rs

@@ -6,6 +142,194 @@
   26     26   
    "com.amazonaws.ec2.synthetic",
   27     27   
    "DescribeInstanceTopologyOutput",
   28     28   
);
   29     29   
static DESCRIBEINSTANCETOPOLOGYOUTPUT_MEMBER_INSTANCES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   30     30   
    ::aws_smithy_schema::ShapeId::from_static(
   31     31   
        "com.amazonaws.ec2.synthetic#DescribeInstanceTopologyOutput$Instances",
   32     32   
        "com.amazonaws.ec2.synthetic",
   33     33   
        "DescribeInstanceTopologyOutput",
   34     34   
    ),
   35     35   
    ::aws_smithy_schema::ShapeType::List,
   36         -
    "instances",
          36  +
    "Instances",
   37     37   
    0,
   38     38   
)
   39     39   
.with_xml_name("instanceSet");
   40     40   
static DESCRIBEINSTANCETOPOLOGYOUTPUT_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#DescribeInstanceTopologyOutput$NextToken",
   43     43   
        "com.amazonaws.ec2.synthetic",
   44     44   
        "DescribeInstanceTopologyOutput",
   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 DESCRIBEINSTANCETOPOLOGYOUTPUT_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 DESCRIBEINSTANCETOPOLOGYOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   52     59   
    DESCRIBEINSTANCETOPOLOGYOUTPUT_SCHEMA_ID,
   53     60   
    ::aws_smithy_schema::ShapeType::Structure,
   54     61   
    &[
   55     62   
        &DESCRIBEINSTANCETOPOLOGYOUTPUT_MEMBER_INSTANCES,
   56     63   
        &DESCRIBEINSTANCETOPOLOGYOUTPUT_MEMBER_NEXT_TOKEN,
          64  +
        &DESCRIBEINSTANCETOPOLOGYOUTPUT_MEMBER__REQUEST_ID,
   57     65   
    ],
   58     66   
);
   59     67   
impl DescribeInstanceTopologyOutput {
   60     68   
    /// The schema for this shape.
   61     69   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &DESCRIBEINSTANCETOPOLOGYOUTPUT_SCHEMA;
   62     70   
}
   63     71   
impl ::aws_smithy_schema::serde::SerializableStruct for DescribeInstanceTopologyOutput {
   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.instances {
   70     78   
            ser.write_list(
   71     79   
                &DESCRIBEINSTANCETOPOLOGYOUTPUT_MEMBER_INSTANCES,
   72     80   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   73     81   
                    for item in val {
   74     82   
                        ser.write_struct(crate::types::InstanceTopology::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(&DESCRIBEINSTANCETOPOLOGYOUTPUT_MEMBER_NEXT_TOKEN, val)?;
   82     90   
        }
   83     91   
        Ok(())
   84     92   
    }
   85     93   
}
   86     94   
impl DescribeInstanceTopologyOutput {
   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(&DESCRIBEINSTANCETOPOLOGYOUTPUT_SCHEMA, &mut |member, deser| {
         109  +
            match member.member_index() {
         110  +
                Some(0) => {
         111  +
                    builder.instances = Some({
         112  +
                        let mut container = Vec::new();
         113  +
                        deser.read_list(member, &mut |deser| {
         114  +
                            container.push(crate::types::InstanceTopology::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 DescribeInstanceTopologyOutput {
         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(&DESCRIBEINSTANCETOPOLOGYOUTPUT_SCHEMA, (), |_, member, deser| {
         155  +
        deserializer.read_struct(&DESCRIBEINSTANCETOPOLOGYOUTPUT_SCHEMA, &mut |member, deser| {
  101    156   
            match member.member_index() {
  102    157   
                Some(0) => {
  103    158   
                    builder.instances = 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::InstanceTopology::deserialize(deser)?);
  111         -
                            Ok(list)
  112         -
                        })?
         159  +
                        let mut container = Vec::new();
         160  +
                        deser.read_list(member, &mut |deser| {
         161  +
                            container.push(crate::types::InstanceTopology::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_instance_type_offerings.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 `DescribeInstanceTypeOfferings`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct DescribeInstanceTypeOfferings;
    6      6   
impl DescribeInstanceTypeOfferings {
    7      7   
    /// Creates a new `DescribeInstanceTypeOfferings`
    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_instance_type_offerings::DescribeInstanceTypeOfferingsInput::SCHEMA;
          14  +
    /// The schema for this operation's output shape.
          15  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          16  +
        crate::operation::describe_instance_type_offerings::DescribeInstanceTypeOfferingsOutput::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_instance_type_offerings::DescribeInstanceTypeOfferingsInput,
   14     20   
    ) -> ::std::result::Result<
   15     21   
        crate::operation::describe_instance_type_offerings::DescribeInstanceTypeOfferingsOutput,
   16     22   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     23   
            crate::operation::describe_instance_type_offerings::DescribeInstanceTypeOfferingsError,
   18     24   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     25   
        >,
   20     26   
    > {
@@ -121,127 +180,187 @@
  141    147   
        ::std::borrow::Cow::Owned(rcb)
  142    148   
    }
  143    149   
}
  144    150   
  145    151   
#[derive(Debug)]
  146    152   
struct DescribeInstanceTypeOfferingsResponseDeserializer;
  147    153   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for DescribeInstanceTypeOfferingsResponseDeserializer {
  148    154   
    fn deserialize_nonstreaming(
  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_instance_type_offerings::de_describe_instance_type_offerings_http_error(status, headers, body)
  160    167   
        } else {

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_instance_type_offerings/_describe_instance_type_offerings_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_instance_type_offerings/_describe_instance_type_offerings_output.rs

@@ -6,6 +142,194 @@
   26     26   
    "com.amazonaws.ec2.synthetic",
   27     27   
    "DescribeInstanceTypeOfferingsOutput",
   28     28   
);
   29     29   
static DESCRIBEINSTANCETYPEOFFERINGSOUTPUT_MEMBER_INSTANCE_TYPE_OFFERINGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   30     30   
    ::aws_smithy_schema::ShapeId::from_static(
   31     31   
        "com.amazonaws.ec2.synthetic#DescribeInstanceTypeOfferingsOutput$InstanceTypeOfferings",
   32     32   
        "com.amazonaws.ec2.synthetic",
   33     33   
        "DescribeInstanceTypeOfferingsOutput",
   34     34   
    ),
   35     35   
    ::aws_smithy_schema::ShapeType::List,
   36         -
    "instance_type_offerings",
          36  +
    "InstanceTypeOfferings",
   37     37   
    0,
   38     38   
)
   39     39   
.with_xml_name("instanceTypeOfferingSet");
   40     40   
static DESCRIBEINSTANCETYPEOFFERINGSOUTPUT_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#DescribeInstanceTypeOfferingsOutput$NextToken",
   43     43   
        "com.amazonaws.ec2.synthetic",
   44     44   
        "DescribeInstanceTypeOfferingsOutput",
   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 DESCRIBEINSTANCETYPEOFFERINGSOUTPUT_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 DESCRIBEINSTANCETYPEOFFERINGSOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   52     59   
    DESCRIBEINSTANCETYPEOFFERINGSOUTPUT_SCHEMA_ID,
   53     60   
    ::aws_smithy_schema::ShapeType::Structure,
   54     61   
    &[
   55     62   
        &DESCRIBEINSTANCETYPEOFFERINGSOUTPUT_MEMBER_INSTANCE_TYPE_OFFERINGS,
   56     63   
        &DESCRIBEINSTANCETYPEOFFERINGSOUTPUT_MEMBER_NEXT_TOKEN,
          64  +
        &DESCRIBEINSTANCETYPEOFFERINGSOUTPUT_MEMBER__REQUEST_ID,
   57     65   
    ],
   58     66   
);
   59     67   
impl DescribeInstanceTypeOfferingsOutput {
   60     68   
    /// The schema for this shape.
   61     69   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &DESCRIBEINSTANCETYPEOFFERINGSOUTPUT_SCHEMA;
   62     70   
}
   63     71   
impl ::aws_smithy_schema::serde::SerializableStruct for DescribeInstanceTypeOfferingsOutput {
   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.instance_type_offerings {
   70     78   
            ser.write_list(
   71     79   
                &DESCRIBEINSTANCETYPEOFFERINGSOUTPUT_MEMBER_INSTANCE_TYPE_OFFERINGS,
   72     80   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   73     81   
                    for item in val {
   74     82   
                        ser.write_struct(crate::types::InstanceTypeOffering::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(&DESCRIBEINSTANCETYPEOFFERINGSOUTPUT_MEMBER_NEXT_TOKEN, val)?;
   82     90   
        }
   83     91   
        Ok(())
   84     92   
    }
   85     93   
}
   86     94   
impl DescribeInstanceTypeOfferingsOutput {
   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(&DESCRIBEINSTANCETYPEOFFERINGSOUTPUT_SCHEMA, &mut |member, deser| {
         109  +
            match member.member_index() {
         110  +
                Some(0) => {
         111  +
                    builder.instance_type_offerings = Some({
         112  +
                        let mut container = Vec::new();
         113  +
                        deser.read_list(member, &mut |deser| {
         114  +
                            container.push(crate::types::InstanceTypeOffering::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 DescribeInstanceTypeOfferingsOutput {
         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(&DESCRIBEINSTANCETYPEOFFERINGSOUTPUT_SCHEMA, (), |_, member, deser| {
         155  +
        deserializer.read_struct(&DESCRIBEINSTANCETYPEOFFERINGSOUTPUT_SCHEMA, &mut |member, deser| {
  101    156   
            match member.member_index() {
  102    157   
                Some(0) => {
  103    158   
                    builder.instance_type_offerings = 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::InstanceTypeOffering::deserialize(deser)?);
  111         -
                            Ok(list)
  112         -
                        })?
         159  +
                        let mut container = Vec::new();
         160  +
                        deser.read_list(member, &mut |deser| {
         161  +
                            container.push(crate::types::InstanceTypeOffering::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_instance_types.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 `DescribeInstanceTypes`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct DescribeInstanceTypes;
    6      6   
impl DescribeInstanceTypes {
    7      7   
    /// Creates a new `DescribeInstanceTypes`
    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_instance_types::DescribeInstanceTypesInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::describe_instance_types::DescribeInstanceTypesOutput::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_instance_types::DescribeInstanceTypesInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::describe_instance_types::DescribeInstanceTypesOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::describe_instance_types::DescribeInstanceTypesError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -121,125 +180,185 @@
  141    145   
        ::std::borrow::Cow::Owned(rcb)
  142    146   
    }
  143    147   
}
  144    148   
  145    149   
#[derive(Debug)]
  146    150   
struct DescribeInstanceTypesResponseDeserializer;
  147    151   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for DescribeInstanceTypesResponseDeserializer {
  148    152   
    fn deserialize_nonstreaming(
  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_instance_types::de_describe_instance_types_http_error(status, headers, body)
  160    165   
        } else {

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_instance_types/_describe_instance_types_input.rs

@@ -253,253 +472,477 @@
  273    273   
    "com.amazonaws.ec2.synthetic",
  274    274   
    "DescribeInstanceTypesInput",
  275    275   
);
  276    276   
static DESCRIBEINSTANCETYPESINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  277    277   
    ::aws_smithy_schema::ShapeId::from_static(
  278    278   
        "com.amazonaws.ec2.synthetic#DescribeInstanceTypesInput$DryRun",
  279    279   
        "com.amazonaws.ec2.synthetic",
  280    280   
        "DescribeInstanceTypesInput",
  281    281   
    ),
  282    282   
    ::aws_smithy_schema::ShapeType::Boolean,
  283         -
    "dry_run",
         283  +
    "DryRun",
  284    284   
    0,
  285    285   
);
  286    286   
static DESCRIBEINSTANCETYPESINPUT_MEMBER_INSTANCE_TYPES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  287    287   
    ::aws_smithy_schema::ShapeId::from_static(
  288    288   
        "com.amazonaws.ec2.synthetic#DescribeInstanceTypesInput$InstanceTypes",
  289    289   
        "com.amazonaws.ec2.synthetic",
  290    290   
        "DescribeInstanceTypesInput",
  291    291   
    ),
  292    292   
    ::aws_smithy_schema::ShapeType::List,
  293         -
    "instance_types",
         293  +
    "InstanceTypes",
  294    294   
    1,
  295    295   
)
  296    296   
.with_xml_name("InstanceType");
  297    297   
static DESCRIBEINSTANCETYPESINPUT_MEMBER_FILTERS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  298    298   
    ::aws_smithy_schema::ShapeId::from_static(
  299    299   
        "com.amazonaws.ec2.synthetic#DescribeInstanceTypesInput$Filters",
  300    300   
        "com.amazonaws.ec2.synthetic",
  301    301   
        "DescribeInstanceTypesInput",
  302    302   
    ),
  303    303   
    ::aws_smithy_schema::ShapeType::List,
  304         -
    "filters",
         304  +
    "Filters",
  305    305   
    2,
  306    306   
)
  307    307   
.with_xml_name("Filter");
  308    308   
static DESCRIBEINSTANCETYPESINPUT_MEMBER_MAX_RESULTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  309    309   
    ::aws_smithy_schema::ShapeId::from_static(
  310    310   
        "com.amazonaws.ec2.synthetic#DescribeInstanceTypesInput$MaxResults",
  311    311   
        "com.amazonaws.ec2.synthetic",
  312    312   
        "DescribeInstanceTypesInput",
  313    313   
    ),
  314    314   
    ::aws_smithy_schema::ShapeType::Integer,
  315         -
    "max_results",
         315  +
    "MaxResults",
  316    316   
    3,
  317    317   
);
  318    318   
static DESCRIBEINSTANCETYPESINPUT_MEMBER_NEXT_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  319    319   
    ::aws_smithy_schema::ShapeId::from_static(
  320    320   
        "com.amazonaws.ec2.synthetic#DescribeInstanceTypesInput$NextToken",
  321    321   
        "com.amazonaws.ec2.synthetic",
  322    322   
        "DescribeInstanceTypesInput",
  323    323   
    ),
  324    324   
    ::aws_smithy_schema::ShapeType::String,
  325         -
    "next_token",
         325  +
    "NextToken",
  326    326   
    4,
  327    327   
);
  328    328   
static DESCRIBEINSTANCETYPESINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  329    329   
    DESCRIBEINSTANCETYPESINPUT_SCHEMA_ID,
  330    330   
    ::aws_smithy_schema::ShapeType::Structure,
  331    331   
    &[
  332    332   
        &DESCRIBEINSTANCETYPESINPUT_MEMBER_DRY_RUN,
  333    333   
        &DESCRIBEINSTANCETYPESINPUT_MEMBER_INSTANCE_TYPES,
  334    334   
        &DESCRIBEINSTANCETYPESINPUT_MEMBER_FILTERS,
  335    335   
        &DESCRIBEINSTANCETYPESINPUT_MEMBER_MAX_RESULTS,
  336    336   
        &DESCRIBEINSTANCETYPESINPUT_MEMBER_NEXT_TOKEN,
  337    337   
    ],
  338    338   
);
  339    339   
impl DescribeInstanceTypesInput {
  340    340   
    /// The schema for this shape.
  341    341   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &DESCRIBEINSTANCETYPESINPUT_SCHEMA;
  342    342   
}
  343    343   
impl ::aws_smithy_schema::serde::SerializableStruct for DescribeInstanceTypesInput {
  344    344   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  345    345   
    fn serialize_members(
  346    346   
        &self,
  347    347   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  348    348   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  349    349   
        if let Some(ref val) = self.dry_run {
  350    350   
            ser.write_boolean(&DESCRIBEINSTANCETYPESINPUT_MEMBER_DRY_RUN, *val)?;
  351    351   
        }
  352    352   
        if let Some(ref val) = self.instance_types {
  353    353   
            ser.write_list(
  354    354   
                &DESCRIBEINSTANCETYPESINPUT_MEMBER_INSTANCE_TYPES,
  355    355   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  356    356   
                    for item in val {
  357    357   
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item.as_str())?;
  358    358   
                    }
  359    359   
                    Ok(())
  360    360   
                },
  361    361   
            )?;
  362    362   
        }
  363    363   
        if let Some(ref val) = self.filters {
  364    364   
            ser.write_list(
  365    365   
                &DESCRIBEINSTANCETYPESINPUT_MEMBER_FILTERS,
  366    366   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  367    367   
                    for item in val {
  368    368   
                        ser.write_struct(crate::types::Filter::SCHEMA, item)?;
  369    369   
                    }
  370    370   
                    Ok(())
  371    371   
                },
  372    372   
            )?;
  373    373   
        }
  374    374   
        if let Some(ref val) = self.max_results {
  375    375   
            ser.write_integer(&DESCRIBEINSTANCETYPESINPUT_MEMBER_MAX_RESULTS, *val)?;
  376    376   
        }
  377    377   
        if let Some(ref val) = self.next_token {
  378    378   
            ser.write_string(&DESCRIBEINSTANCETYPESINPUT_MEMBER_NEXT_TOKEN, val)?;
  379    379   
        }
  380    380   
        Ok(())
  381    381   
    }
  382    382   
}
  383    383   
impl DescribeInstanceTypesInput {
  384    384   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  385         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  386         -
        deserializer: &mut D,
         385  +
    pub fn deserialize(
         386  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  387    387   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  388    388   
        #[allow(unused_variables, unused_mut)]
  389    389   
        let mut builder = Self::builder();
  390    390   
        #[allow(
  391    391   
            unused_variables,
  392    392   
            unreachable_code,
  393    393   
            clippy::single_match,
  394    394   
            clippy::match_single_binding,
  395    395   
            clippy::diverging_sub_expression
  396    396   
        )]
  397         -
        deserializer.read_struct(&DESCRIBEINSTANCETYPESINPUT_SCHEMA, (), |_, member, deser| {
         397  +
        deserializer.read_struct(&DESCRIBEINSTANCETYPESINPUT_SCHEMA, &mut |member, deser| {
  398    398   
            match member.member_index() {
  399    399   
                Some(0) => {
  400    400   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  401    401   
                }
  402    402   
                Some(1) => {
  403    403   
                    builder.instance_types = Some({
  404         -
                        let container = if let Some(cap) = deser.container_size() {
  405         -
                            Vec::with_capacity(cap)
  406         -
                        } else {
  407         -
                            Vec::new()
  408         -
                        };
  409         -
                        deser.read_list(member, container, |mut list, deser| {
  410         -
                            list.push(crate::types::InstanceType::from(deser.read_string(member)?.as_str()));
  411         -
                            Ok(list)
  412         -
                        })?
         404  +
                        let mut container = Vec::new();
         405  +
                        deser.read_list(member, &mut |deser| {
         406  +
                            container.push(crate::types::InstanceType::from(deser.read_string(member)?.as_str()));
         407  +
                            Ok(())
         408  +
                        })?;
         409  +
                        container
  413    410   
                    });
  414    411   
                }
  415    412   
                Some(2) => {
  416    413   
                    builder.filters = Some({
  417         -
                        let container = if let Some(cap) = deser.container_size() {
  418         -
                            Vec::with_capacity(cap)
  419         -
                        } else {
  420         -
                            Vec::new()
  421         -
                        };
  422         -
                        deser.read_list(member, container, |mut list, deser| {
  423         -
                            list.push(crate::types::Filter::deserialize(deser)?);
  424         -
                            Ok(list)
  425         -
                        })?
         414  +
                        let mut container = Vec::new();
         415  +
                        deser.read_list(member, &mut |deser| {
         416  +
                            container.push(crate::types::Filter::deserialize(deser)?);
         417  +
                            Ok(())
         418  +
                        })?;
         419  +
                        container
  426    420   
                    });
  427    421   
                }
  428    422   
                Some(3) => {
  429    423   
                    builder.max_results = Some(deser.read_integer(member)?);
  430    424   
                }
  431    425   
                Some(4) => {
  432    426   
                    builder.next_token = Some(deser.read_string(member)?);
  433    427   
                }
  434    428   
                _ => {}
  435    429   
            }
  436    430   
            Ok(())
  437    431   
        })?;
  438    432   
        builder
  439    433   
            .build()
  440    434   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  441    435   
    }
  442    436   
}
         437  +
impl DescribeInstanceTypesInput {
         438  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         439  +
    pub fn deserialize_with_response(
         440  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         441  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         442  +
        _status: u16,
         443  +
        _body: &[u8],
         444  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         445  +
        Self::deserialize(deserializer)
         446  +
    }
         447  +
}
  443    448   
impl DescribeInstanceTypesInput {
  444    449   
    /// Creates a new builder-style object to manufacture [`DescribeInstanceTypesInput`](crate::operation::describe_instance_types::DescribeInstanceTypesInput).
  445    450   
    pub fn builder() -> crate::operation::describe_instance_types::builders::DescribeInstanceTypesInputBuilder {
  446    451   
        crate::operation::describe_instance_types::builders::DescribeInstanceTypesInputBuilder::default()
  447    452   
    }
  448    453   
}
  449    454   
  450    455   
/// A builder for [`DescribeInstanceTypesInput`](crate::operation::describe_instance_types::DescribeInstanceTypesInput).
  451    456   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  452    457   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_instance_types/_describe_instance_types_output.rs

@@ -6,6 +142,194 @@
   26     26   
    "com.amazonaws.ec2.synthetic",
   27     27   
    "DescribeInstanceTypesOutput",
   28     28   
);
   29     29   
static DESCRIBEINSTANCETYPESOUTPUT_MEMBER_INSTANCE_TYPES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   30     30   
    ::aws_smithy_schema::ShapeId::from_static(
   31     31   
        "com.amazonaws.ec2.synthetic#DescribeInstanceTypesOutput$InstanceTypes",
   32     32   
        "com.amazonaws.ec2.synthetic",
   33     33   
        "DescribeInstanceTypesOutput",
   34     34   
    ),
   35     35   
    ::aws_smithy_schema::ShapeType::List,
   36         -
    "instance_types",
          36  +
    "InstanceTypes",
   37     37   
    0,
   38     38   
)
   39     39   
.with_xml_name("instanceTypeSet");
   40     40   
static DESCRIBEINSTANCETYPESOUTPUT_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#DescribeInstanceTypesOutput$NextToken",
   43     43   
        "com.amazonaws.ec2.synthetic",
   44     44   
        "DescribeInstanceTypesOutput",
   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 DESCRIBEINSTANCETYPESOUTPUT_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 DESCRIBEINSTANCETYPESOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   52     59   
    DESCRIBEINSTANCETYPESOUTPUT_SCHEMA_ID,
   53     60   
    ::aws_smithy_schema::ShapeType::Structure,
   54     61   
    &[
   55     62   
        &DESCRIBEINSTANCETYPESOUTPUT_MEMBER_INSTANCE_TYPES,
   56     63   
        &DESCRIBEINSTANCETYPESOUTPUT_MEMBER_NEXT_TOKEN,
          64  +
        &DESCRIBEINSTANCETYPESOUTPUT_MEMBER__REQUEST_ID,
   57     65   
    ],
   58     66   
);
   59     67   
impl DescribeInstanceTypesOutput {
   60     68   
    /// The schema for this shape.
   61     69   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &DESCRIBEINSTANCETYPESOUTPUT_SCHEMA;
   62     70   
}
   63     71   
impl ::aws_smithy_schema::serde::SerializableStruct for DescribeInstanceTypesOutput {
   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.instance_types {
   70     78   
            ser.write_list(
   71     79   
                &DESCRIBEINSTANCETYPESOUTPUT_MEMBER_INSTANCE_TYPES,
   72     80   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   73     81   
                    for item in val {
   74     82   
                        ser.write_struct(crate::types::InstanceTypeInfo::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(&DESCRIBEINSTANCETYPESOUTPUT_MEMBER_NEXT_TOKEN, val)?;
   82     90   
        }
   83     91   
        Ok(())
   84     92   
    }
   85     93   
}
   86     94   
impl DescribeInstanceTypesOutput {
   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(&DESCRIBEINSTANCETYPESOUTPUT_SCHEMA, &mut |member, deser| {
         109  +
            match member.member_index() {
         110  +
                Some(0) => {
         111  +
                    builder.instance_types = Some({
         112  +
                        let mut container = Vec::new();
         113  +
                        deser.read_list(member, &mut |deser| {
         114  +
                            container.push(crate::types::InstanceTypeInfo::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 DescribeInstanceTypesOutput {
         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(&DESCRIBEINSTANCETYPESOUTPUT_SCHEMA, (), |_, member, deser| {
         155  +
        deserializer.read_struct(&DESCRIBEINSTANCETYPESOUTPUT_SCHEMA, &mut |member, deser| {
  101    156   
            match member.member_index() {
  102    157   
                Some(0) => {
  103    158   
                    builder.instance_types = 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::InstanceTypeInfo::deserialize(deser)?);
  111         -
                            Ok(list)
  112         -
                        })?
         159  +
                        let mut container = Vec::new();
         160  +
                        deser.read_list(member, &mut |deser| {
         161  +
                            container.push(crate::types::InstanceTypeInfo::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_instances.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_instances/_describe_instances_input.rs

@@ -577,577 +799,797 @@
  597    597   
    "com.amazonaws.ec2.synthetic",
  598    598   
    "DescribeInstancesInput",
  599    599   
);
  600    600   
static DESCRIBEINSTANCESINPUT_MEMBER_INSTANCE_IDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  601    601   
    ::aws_smithy_schema::ShapeId::from_static(
  602    602   
        "com.amazonaws.ec2.synthetic#DescribeInstancesInput$InstanceIds",
  603    603   
        "com.amazonaws.ec2.synthetic",
  604    604   
        "DescribeInstancesInput",
  605    605   
    ),
  606    606   
    ::aws_smithy_schema::ShapeType::List,
  607         -
    "instance_ids",
         607  +
    "InstanceIds",
  608    608   
    0,
  609    609   
)
  610    610   
.with_xml_name("InstanceId");
  611    611   
static DESCRIBEINSTANCESINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  612    612   
    ::aws_smithy_schema::ShapeId::from_static(
  613    613   
        "com.amazonaws.ec2.synthetic#DescribeInstancesInput$DryRun",
  614    614   
        "com.amazonaws.ec2.synthetic",
  615    615   
        "DescribeInstancesInput",
  616    616   
    ),
  617    617   
    ::aws_smithy_schema::ShapeType::Boolean,
  618         -
    "dry_run",
         618  +
    "DryRun",
  619    619   
    1,
  620    620   
)
  621    621   
.with_xml_name("dryRun");
  622    622   
static DESCRIBEINSTANCESINPUT_MEMBER_FILTERS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  623    623   
    ::aws_smithy_schema::ShapeId::from_static(
  624    624   
        "com.amazonaws.ec2.synthetic#DescribeInstancesInput$Filters",
  625    625   
        "com.amazonaws.ec2.synthetic",
  626    626   
        "DescribeInstancesInput",
  627    627   
    ),
  628    628   
    ::aws_smithy_schema::ShapeType::List,
  629         -
    "filters",
         629  +
    "Filters",
  630    630   
    2,
  631    631   
)
  632    632   
.with_xml_name("Filter");
  633    633   
static DESCRIBEINSTANCESINPUT_MEMBER_NEXT_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  634    634   
    ::aws_smithy_schema::ShapeId::from_static(
  635    635   
        "com.amazonaws.ec2.synthetic#DescribeInstancesInput$NextToken",
  636    636   
        "com.amazonaws.ec2.synthetic",
  637    637   
        "DescribeInstancesInput",
  638    638   
    ),
  639    639   
    ::aws_smithy_schema::ShapeType::String,
  640         -
    "next_token",
         640  +
    "NextToken",
  641    641   
    3,
  642    642   
)
  643    643   
.with_xml_name("nextToken");
  644    644   
static DESCRIBEINSTANCESINPUT_MEMBER_MAX_RESULTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  645    645   
    ::aws_smithy_schema::ShapeId::from_static(
  646    646   
        "com.amazonaws.ec2.synthetic#DescribeInstancesInput$MaxResults",
  647    647   
        "com.amazonaws.ec2.synthetic",
  648    648   
        "DescribeInstancesInput",
  649    649   
    ),
  650    650   
    ::aws_smithy_schema::ShapeType::Integer,
  651         -
    "max_results",
         651  +
    "MaxResults",
  652    652   
    4,
  653    653   
)
  654    654   
.with_xml_name("maxResults");
  655    655   
static DESCRIBEINSTANCESINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  656    656   
    DESCRIBEINSTANCESINPUT_SCHEMA_ID,
  657    657   
    ::aws_smithy_schema::ShapeType::Structure,
  658    658   
    &[
  659    659   
        &DESCRIBEINSTANCESINPUT_MEMBER_INSTANCE_IDS,
  660    660   
        &DESCRIBEINSTANCESINPUT_MEMBER_DRY_RUN,
  661    661   
        &DESCRIBEINSTANCESINPUT_MEMBER_FILTERS,
  662    662   
        &DESCRIBEINSTANCESINPUT_MEMBER_NEXT_TOKEN,
  663    663   
        &DESCRIBEINSTANCESINPUT_MEMBER_MAX_RESULTS,
  664    664   
    ],
  665    665   
);
  666    666   
impl DescribeInstancesInput {
  667    667   
    /// The schema for this shape.
  668    668   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &DESCRIBEINSTANCESINPUT_SCHEMA;
  669    669   
}
  670    670   
impl ::aws_smithy_schema::serde::SerializableStruct for DescribeInstancesInput {
  671    671   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  672    672   
    fn serialize_members(
  673    673   
        &self,
  674    674   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  675    675   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  676    676   
        if let Some(ref val) = self.instance_ids {
  677    677   
            ser.write_list(
  678    678   
                &DESCRIBEINSTANCESINPUT_MEMBER_INSTANCE_IDS,
  679    679   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  680    680   
                    for item in val {
  681    681   
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
  682    682   
                    }
  683    683   
                    Ok(())
  684    684   
                },
  685    685   
            )?;
  686    686   
        }
  687    687   
        if let Some(ref val) = self.dry_run {
  688    688   
            ser.write_boolean(&DESCRIBEINSTANCESINPUT_MEMBER_DRY_RUN, *val)?;
  689    689   
        }
  690    690   
        if let Some(ref val) = self.filters {
  691    691   
            ser.write_list(
  692    692   
                &DESCRIBEINSTANCESINPUT_MEMBER_FILTERS,
  693    693   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  694    694   
                    for item in val {
  695    695   
                        ser.write_struct(crate::types::Filter::SCHEMA, item)?;
  696    696   
                    }
  697    697   
                    Ok(())
  698    698   
                },
  699    699   
            )?;
  700    700   
        }
  701    701   
        if let Some(ref val) = self.next_token {
  702    702   
            ser.write_string(&DESCRIBEINSTANCESINPUT_MEMBER_NEXT_TOKEN, val)?;
  703    703   
        }
  704    704   
        if let Some(ref val) = self.max_results {
  705    705   
            ser.write_integer(&DESCRIBEINSTANCESINPUT_MEMBER_MAX_RESULTS, *val)?;
  706    706   
        }
  707    707   
        Ok(())
  708    708   
    }
  709    709   
}
  710    710   
impl DescribeInstancesInput {
  711    711   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  712         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  713         -
        deserializer: &mut D,
         712  +
    pub fn deserialize(
         713  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  714    714   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  715    715   
        #[allow(unused_variables, unused_mut)]
  716    716   
        let mut builder = Self::builder();
  717    717   
        #[allow(
  718    718   
            unused_variables,
  719    719   
            unreachable_code,
  720    720   
            clippy::single_match,
  721    721   
            clippy::match_single_binding,
  722    722   
            clippy::diverging_sub_expression
  723    723   
        )]
  724         -
        deserializer.read_struct(&DESCRIBEINSTANCESINPUT_SCHEMA, (), |_, member, deser| {
         724  +
        deserializer.read_struct(&DESCRIBEINSTANCESINPUT_SCHEMA, &mut |member, deser| {
  725    725   
            match member.member_index() {
  726    726   
                Some(0) => {
  727         -
                    builder.instance_ids = Some({
  728         -
                        let container = if let Some(cap) = deser.container_size() {
  729         -
                            Vec::with_capacity(cap)
  730         -
                        } else {
  731         -
                            Vec::new()
  732         -
                        };
  733         -
                        deser.read_list(member, container, |mut list, deser| {
  734         -
                            list.push(deser.read_string(member)?);
  735         -
                            Ok(list)
  736         -
                        })?
  737         -
                    });
         727  +
                    builder.instance_ids = Some(deser.read_string_list(member)?);
  738    728   
                }
  739    729   
                Some(1) => {
  740    730   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  741    731   
                }
  742    732   
                Some(2) => {
  743    733   
                    builder.filters = Some({
  744         -
                        let container = if let Some(cap) = deser.container_size() {
  745         -
                            Vec::with_capacity(cap)
  746         -
                        } else {
  747         -
                            Vec::new()
  748         -
                        };
  749         -
                        deser.read_list(member, container, |mut list, deser| {
  750         -
                            list.push(crate::types::Filter::deserialize(deser)?);
  751         -
                            Ok(list)
  752         -
                        })?
         734  +
                        let mut container = Vec::new();
         735  +
                        deser.read_list(member, &mut |deser| {
         736  +
                            container.push(crate::types::Filter::deserialize(deser)?);
         737  +
                            Ok(())
         738  +
                        })?;
         739  +
                        container
  753    740   
                    });
  754    741   
                }
  755    742   
                Some(3) => {
  756    743   
                    builder.next_token = Some(deser.read_string(member)?);
  757    744   
                }
  758    745   
                Some(4) => {
  759    746   
                    builder.max_results = Some(deser.read_integer(member)?);
  760    747   
                }
  761    748   
                _ => {}
  762    749   
            }
  763    750   
            Ok(())
  764    751   
        })?;
  765    752   
        builder
  766    753   
            .build()
  767    754   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  768    755   
    }
  769    756   
}
         757  +
impl DescribeInstancesInput {
         758  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         759  +
    pub fn deserialize_with_response(
         760  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         761  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         762  +
        _status: u16,
         763  +
        _body: &[u8],
         764  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         765  +
        Self::deserialize(deserializer)
         766  +
    }
         767  +
}
  770    768   
impl DescribeInstancesInput {
  771    769   
    /// Creates a new builder-style object to manufacture [`DescribeInstancesInput`](crate::operation::describe_instances::DescribeInstancesInput).
  772    770   
    pub fn builder() -> crate::operation::describe_instances::builders::DescribeInstancesInputBuilder {
  773    771   
        crate::operation::describe_instances::builders::DescribeInstancesInputBuilder::default()
  774    772   
    }
  775    773   
}
  776    774   
  777    775   
/// A builder for [`DescribeInstancesInput`](crate::operation::describe_instances::DescribeInstancesInput).
  778    776   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  779    777   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_instances/_describe_instances_output.rs

@@ -6,6 +142,197 @@
   26     26   
    "com.amazonaws.ec2.synthetic",
   27     27   
    "DescribeInstancesOutput",
   28     28   
);
   29     29   
static DESCRIBEINSTANCESOUTPUT_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#DescribeInstancesOutput$NextToken",
   32     32   
        "com.amazonaws.ec2.synthetic",
   33     33   
        "DescribeInstancesOutput",
   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 DESCRIBEINSTANCESOUTPUT_MEMBER_RESERVATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   41     41   
    ::aws_smithy_schema::ShapeId::from_static(
   42     42   
        "com.amazonaws.ec2.synthetic#DescribeInstancesOutput$Reservations",
   43     43   
        "com.amazonaws.ec2.synthetic",
   44     44   
        "DescribeInstancesOutput",
   45     45   
    ),
   46     46   
    ::aws_smithy_schema::ShapeType::List,
   47         -
    "reservations",
          47  +
    "Reservations",
   48     48   
    1,
   49     49   
)
   50     50   
.with_xml_name("reservationSet");
          51  +
static DESCRIBEINSTANCESOUTPUT_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 DESCRIBEINSTANCESOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   52     59   
    DESCRIBEINSTANCESOUTPUT_SCHEMA_ID,
   53     60   
    ::aws_smithy_schema::ShapeType::Structure,
   54         -
    &[&DESCRIBEINSTANCESOUTPUT_MEMBER_NEXT_TOKEN, &DESCRIBEINSTANCESOUTPUT_MEMBER_RESERVATIONS],
          61  +
    &[
          62  +
        &DESCRIBEINSTANCESOUTPUT_MEMBER_NEXT_TOKEN,
          63  +
        &DESCRIBEINSTANCESOUTPUT_MEMBER_RESERVATIONS,
          64  +
        &DESCRIBEINSTANCESOUTPUT_MEMBER__REQUEST_ID,
          65  +
    ],
   55     66   
);
   56     67   
impl DescribeInstancesOutput {
   57     68   
    /// The schema for this shape.
   58     69   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &DESCRIBEINSTANCESOUTPUT_SCHEMA;
   59     70   
}
   60     71   
impl ::aws_smithy_schema::serde::SerializableStruct for DescribeInstancesOutput {
   61     72   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   62     73   
    fn serialize_members(
   63     74   
        &self,
   64     75   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   65     76   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   66     77   
        if let Some(ref val) = self.next_token {
   67     78   
            ser.write_string(&DESCRIBEINSTANCESOUTPUT_MEMBER_NEXT_TOKEN, val)?;
   68     79   
        }
   69     80   
        if let Some(ref val) = self.reservations {
   70     81   
            ser.write_list(
   71     82   
                &DESCRIBEINSTANCESOUTPUT_MEMBER_RESERVATIONS,
   72     83   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   73     84   
                    for item in val {
   74     85   
                        ser.write_struct(crate::types::Reservation::SCHEMA, item)?;
   75     86   
                    }
   76     87   
                    Ok(())
   77     88   
                },
   78     89   
            )?;
   79     90   
        }
   80     91   
        Ok(())
   81     92   
    }
   82     93   
}
   83     94   
impl DescribeInstancesOutput {
   84     95   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   85         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   86         -
        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(&DESCRIBEINSTANCESOUTPUT_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.reservations = Some({
         115  +
                        let mut container = Vec::new();
         116  +
                        deser.read_list(member, &mut |deser| {
         117  +
                            container.push(crate::types::Reservation::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 DescribeInstancesOutput {
         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],
   87    142   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   88    143   
        #[allow(unused_variables, unused_mut)]
   89    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  +
        }
   90    148   
        #[allow(
   91    149   
            unused_variables,
   92    150   
            unreachable_code,
   93    151   
            clippy::single_match,
   94    152   
            clippy::match_single_binding,
   95    153   
            clippy::diverging_sub_expression
   96    154   
        )]
   97         -
        deserializer.read_struct(&DESCRIBEINSTANCESOUTPUT_SCHEMA, (), |_, member, deser| {
         155  +
        deserializer.read_struct(&DESCRIBEINSTANCESOUTPUT_SCHEMA, &mut |member, deser| {
   98    156   
            match member.member_index() {
   99    157   
                Some(0) => {
  100    158   
                    builder.next_token = Some(deser.read_string(member)?);
  101    159   
                }
  102    160   
                Some(1) => {
  103    161   
                    builder.reservations = 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::Reservation::deserialize(deser)?);
  111         -
                            Ok(list)
  112         -
                        })?
         162  +
                        let mut container = Vec::new();
         163  +
                        deser.read_list(member, &mut |deser| {
         164  +
                            container.push(crate::types::Reservation::deserialize(deser)?);
         165  +
                            Ok(())
         166  +
                        })?;
         167  +
                        container
  113    168   
                    });
  114    169   
                }
  115    170   
                _ => {}
  116    171   
            }
  117    172   
            Ok(())
  118    173   
        })?;
  119    174   
        Ok(builder.build())
  120    175   
    }
  121    176   
}
  122    177   
impl ::aws_types::request_id::RequestId for DescribeInstancesOutput {

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_internet_gateways.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 `DescribeInternetGateways`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct DescribeInternetGateways;
    6      6   
impl DescribeInternetGateways {
    7      7   
    /// Creates a new `DescribeInternetGateways`
    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_internet_gateways::DescribeInternetGatewaysInput::SCHEMA;
          14  +
    /// The schema for this operation's output shape.
          15  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          16  +
        crate::operation::describe_internet_gateways::DescribeInternetGatewaysOutput::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_internet_gateways::DescribeInternetGatewaysInput,
   14     20   
    ) -> ::std::result::Result<
   15     21   
        crate::operation::describe_internet_gateways::DescribeInternetGatewaysOutput,
   16     22   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     23   
            crate::operation::describe_internet_gateways::DescribeInternetGatewaysError,
   18     24   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     25   
        >,
   20     26   
    > {
@@ -121,127 +180,187 @@
  141    147   
        ::std::borrow::Cow::Owned(rcb)
  142    148   
    }
  143    149   
}
  144    150   
  145    151   
#[derive(Debug)]
  146    152   
struct DescribeInternetGatewaysResponseDeserializer;
  147    153   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for DescribeInternetGatewaysResponseDeserializer {
  148    154   
    fn deserialize_nonstreaming(
  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_internet_gateways::de_describe_internet_gateways_http_error(status, headers, body)
  160    167   
        } else {

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_internet_gateways/_describe_internet_gateways_input.rs

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