AWS SDK

AWS SDK

rev. ec7b2441254af868911fccffe8d8dca83aff0045 (ignoring whitespace)

Files changed:

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_image_usage_report_entries/_describe_image_usage_report_entries_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_image_usage_reports/_describe_image_usage_reports_input.rs

@@ -45,45 +158,158 @@
   65     65   
    "com.amazonaws.ec2.synthetic",
   66     66   
    "DescribeImageUsageReportsInput",
   67     67   
);
   68     68   
static DESCRIBEIMAGEUSAGEREPORTSINPUT_MEMBER_IMAGE_IDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   69     69   
    ::aws_smithy_schema::ShapeId::from_static(
   70     70   
        "com.amazonaws.ec2.synthetic#DescribeImageUsageReportsInput$ImageIds",
   71     71   
        "com.amazonaws.ec2.synthetic",
   72     72   
        "DescribeImageUsageReportsInput",
   73     73   
    ),
   74     74   
    ::aws_smithy_schema::ShapeType::List,
   75         -
    "image_ids",
          75  +
    "ImageIds",
   76     76   
    0,
   77     77   
)
   78     78   
.with_xml_name("ImageId");
   79     79   
static DESCRIBEIMAGEUSAGEREPORTSINPUT_MEMBER_REPORT_IDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   80     80   
    ::aws_smithy_schema::ShapeId::from_static(
   81     81   
        "com.amazonaws.ec2.synthetic#DescribeImageUsageReportsInput$ReportIds",
   82     82   
        "com.amazonaws.ec2.synthetic",
   83     83   
        "DescribeImageUsageReportsInput",
   84     84   
    ),
   85     85   
    ::aws_smithy_schema::ShapeType::List,
   86         -
    "report_ids",
          86  +
    "ReportIds",
   87     87   
    1,
   88     88   
)
   89     89   
.with_xml_name("ReportId");
   90     90   
static DESCRIBEIMAGEUSAGEREPORTSINPUT_MEMBER_NEXT_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   91     91   
    ::aws_smithy_schema::ShapeId::from_static(
   92     92   
        "com.amazonaws.ec2.synthetic#DescribeImageUsageReportsInput$NextToken",
   93     93   
        "com.amazonaws.ec2.synthetic",
   94     94   
        "DescribeImageUsageReportsInput",
   95     95   
    ),
   96     96   
    ::aws_smithy_schema::ShapeType::String,
   97         -
    "next_token",
          97  +
    "NextToken",
   98     98   
    2,
   99     99   
);
  100    100   
static DESCRIBEIMAGEUSAGEREPORTSINPUT_MEMBER_FILTERS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  101    101   
    ::aws_smithy_schema::ShapeId::from_static(
  102    102   
        "com.amazonaws.ec2.synthetic#DescribeImageUsageReportsInput$Filters",
  103    103   
        "com.amazonaws.ec2.synthetic",
  104    104   
        "DescribeImageUsageReportsInput",
  105    105   
    ),
  106    106   
    ::aws_smithy_schema::ShapeType::List,
  107         -
    "filters",
         107  +
    "Filters",
  108    108   
    3,
  109    109   
)
  110    110   
.with_xml_name("Filter");
  111    111   
static DESCRIBEIMAGEUSAGEREPORTSINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  112    112   
    ::aws_smithy_schema::ShapeId::from_static(
  113    113   
        "com.amazonaws.ec2.synthetic#DescribeImageUsageReportsInput$DryRun",
  114    114   
        "com.amazonaws.ec2.synthetic",
  115    115   
        "DescribeImageUsageReportsInput",
  116    116   
    ),
  117    117   
    ::aws_smithy_schema::ShapeType::Boolean,
  118         -
    "dry_run",
         118  +
    "DryRun",
  119    119   
    4,
  120    120   
);
  121    121   
static DESCRIBEIMAGEUSAGEREPORTSINPUT_MEMBER_MAX_RESULTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  122    122   
    ::aws_smithy_schema::ShapeId::from_static(
  123    123   
        "com.amazonaws.ec2.synthetic#DescribeImageUsageReportsInput$MaxResults",
  124    124   
        "com.amazonaws.ec2.synthetic",
  125    125   
        "DescribeImageUsageReportsInput",
  126    126   
    ),
  127    127   
    ::aws_smithy_schema::ShapeType::Integer,
  128         -
    "max_results",
         128  +
    "MaxResults",
  129    129   
    5,
  130    130   
);
  131    131   
static DESCRIBEIMAGEUSAGEREPORTSINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  132    132   
    DESCRIBEIMAGEUSAGEREPORTSINPUT_SCHEMA_ID,
  133    133   
    ::aws_smithy_schema::ShapeType::Structure,
  134    134   
    &[
  135    135   
        &DESCRIBEIMAGEUSAGEREPORTSINPUT_MEMBER_IMAGE_IDS,
  136    136   
        &DESCRIBEIMAGEUSAGEREPORTSINPUT_MEMBER_REPORT_IDS,
  137    137   
        &DESCRIBEIMAGEUSAGEREPORTSINPUT_MEMBER_NEXT_TOKEN,
  138    138   
        &DESCRIBEIMAGEUSAGEREPORTSINPUT_MEMBER_FILTERS,
@@ -170,170 +300,288 @@
  190    190   
            ser.write_boolean(&DESCRIBEIMAGEUSAGEREPORTSINPUT_MEMBER_DRY_RUN, *val)?;
  191    191   
        }
  192    192   
        if let Some(ref val) = self.max_results {
  193    193   
            ser.write_integer(&DESCRIBEIMAGEUSAGEREPORTSINPUT_MEMBER_MAX_RESULTS, *val)?;
  194    194   
        }
  195    195   
        Ok(())
  196    196   
    }
  197    197   
}
  198    198   
impl DescribeImageUsageReportsInput {
  199    199   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  200         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  201         -
        deserializer: &mut D,
         200  +
    pub fn deserialize(
         201  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  202    202   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  203    203   
        #[allow(unused_variables, unused_mut)]
  204    204   
        let mut builder = Self::builder();
  205    205   
        #[allow(
  206    206   
            unused_variables,
  207    207   
            unreachable_code,
  208    208   
            clippy::single_match,
  209    209   
            clippy::match_single_binding,
  210    210   
            clippy::diverging_sub_expression
  211    211   
        )]
  212         -
        deserializer.read_struct(&DESCRIBEIMAGEUSAGEREPORTSINPUT_SCHEMA, (), |_, member, deser| {
         212  +
        deserializer.read_struct(&DESCRIBEIMAGEUSAGEREPORTSINPUT_SCHEMA, &mut |member, deser| {
  213    213   
            match member.member_index() {
  214    214   
                Some(0) => {
  215         -
                    builder.image_ids = Some({
  216         -
                        let container = if let Some(cap) = deser.container_size() {
  217         -
                            Vec::with_capacity(cap)
  218         -
                        } else {
  219         -
                            Vec::new()
  220         -
                        };
  221         -
                        deser.read_list(member, container, |mut list, deser| {
  222         -
                            list.push(deser.read_string(member)?);
  223         -
                            Ok(list)
  224         -
                        })?
  225         -
                    });
         215  +
                    builder.image_ids = Some(deser.read_string_list(member)?);
  226    216   
                }
  227    217   
                Some(1) => {
  228         -
                    builder.report_ids = Some({
  229         -
                        let container = if let Some(cap) = deser.container_size() {
  230         -
                            Vec::with_capacity(cap)
  231         -
                        } else {
  232         -
                            Vec::new()
  233         -
                        };
  234         -
                        deser.read_list(member, container, |mut list, deser| {
  235         -
                            list.push(deser.read_string(member)?);
  236         -
                            Ok(list)
  237         -
                        })?
  238         -
                    });
         218  +
                    builder.report_ids = Some(deser.read_string_list(member)?);
  239    219   
                }
  240    220   
                Some(2) => {
  241    221   
                    builder.next_token = Some(deser.read_string(member)?);
  242    222   
                }
  243    223   
                Some(3) => {
  244    224   
                    builder.filters = Some({
  245         -
                        let container = if let Some(cap) = deser.container_size() {
  246         -
                            Vec::with_capacity(cap)
  247         -
                        } else {
  248         -
                            Vec::new()
  249         -
                        };
  250         -
                        deser.read_list(member, container, |mut list, deser| {
  251         -
                            list.push(crate::types::Filter::deserialize(deser)?);
  252         -
                            Ok(list)
  253         -
                        })?
         225  +
                        let mut container = Vec::new();
         226  +
                        deser.read_list(member, &mut |deser| {
         227  +
                            container.push(crate::types::Filter::deserialize(deser)?);
         228  +
                            Ok(())
         229  +
                        })?;
         230  +
                        container
  254    231   
                    });
  255    232   
                }
  256    233   
                Some(4) => {
  257    234   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  258    235   
                }
  259    236   
                Some(5) => {
  260    237   
                    builder.max_results = Some(deser.read_integer(member)?);
  261    238   
                }
  262    239   
                _ => {}
  263    240   
            }
  264    241   
            Ok(())
  265    242   
        })?;
  266    243   
        builder
  267    244   
            .build()
  268    245   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  269    246   
    }
  270    247   
}
         248  +
impl DescribeImageUsageReportsInput {
         249  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         250  +
    pub fn deserialize_with_response(
         251  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         252  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         253  +
        _status: u16,
         254  +
        _body: &[u8],
         255  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         256  +
        Self::deserialize(deserializer)
         257  +
    }
         258  +
}
  271    259   
impl DescribeImageUsageReportsInput {
  272    260   
    /// Creates a new builder-style object to manufacture [`DescribeImageUsageReportsInput`](crate::operation::describe_image_usage_reports::DescribeImageUsageReportsInput).
  273    261   
    pub fn builder() -> crate::operation::describe_image_usage_reports::builders::DescribeImageUsageReportsInputBuilder {
  274    262   
        crate::operation::describe_image_usage_reports::builders::DescribeImageUsageReportsInputBuilder::default()
  275    263   
    }
  276    264   
}
  277    265   
  278    266   
/// A builder for [`DescribeImageUsageReportsInput`](crate::operation::describe_image_usage_reports::DescribeImageUsageReportsInput).
  279    267   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  280    268   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_image_usage_reports/_describe_image_usage_reports_output.rs

@@ -6,6 +145,197 @@
   26     26   
    "com.amazonaws.ec2.synthetic",
   27     27   
    "DescribeImageUsageReportsOutput",
   28     28   
);
   29     29   
static DESCRIBEIMAGEUSAGEREPORTSOUTPUT_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#DescribeImageUsageReportsOutput$NextToken",
   32     32   
        "com.amazonaws.ec2.synthetic",
   33     33   
        "DescribeImageUsageReportsOutput",
   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 DESCRIBEIMAGEUSAGEREPORTSOUTPUT_MEMBER_IMAGE_USAGE_REPORTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   41     41   
    ::aws_smithy_schema::ShapeId::from_static(
   42     42   
        "com.amazonaws.ec2.synthetic#DescribeImageUsageReportsOutput$ImageUsageReports",
   43     43   
        "com.amazonaws.ec2.synthetic",
   44     44   
        "DescribeImageUsageReportsOutput",
   45     45   
    ),
   46     46   
    ::aws_smithy_schema::ShapeType::List,
   47         -
    "image_usage_reports",
          47  +
    "ImageUsageReports",
   48     48   
    1,
   49     49   
)
   50     50   
.with_xml_name("imageUsageReportSet");
          51  +
static DESCRIBEIMAGEUSAGEREPORTSOUTPUT_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 DESCRIBEIMAGEUSAGEREPORTSOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   52     59   
    DESCRIBEIMAGEUSAGEREPORTSOUTPUT_SCHEMA_ID,
   53     60   
    ::aws_smithy_schema::ShapeType::Structure,
   54     61   
    &[
   55     62   
        &DESCRIBEIMAGEUSAGEREPORTSOUTPUT_MEMBER_NEXT_TOKEN,
   56     63   
        &DESCRIBEIMAGEUSAGEREPORTSOUTPUT_MEMBER_IMAGE_USAGE_REPORTS,
          64  +
        &DESCRIBEIMAGEUSAGEREPORTSOUTPUT_MEMBER__REQUEST_ID,
   57     65   
    ],
   58     66   
);
   59     67   
impl DescribeImageUsageReportsOutput {
   60     68   
    /// The schema for this shape.
   61     69   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &DESCRIBEIMAGEUSAGEREPORTSOUTPUT_SCHEMA;
   62     70   
}
   63     71   
impl ::aws_smithy_schema::serde::SerializableStruct for DescribeImageUsageReportsOutput {
   64     72   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   65     73   
    fn serialize_members(
   66     74   
        &self,
   67     75   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   68     76   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   69     77   
        if let Some(ref val) = self.next_token {
   70     78   
            ser.write_string(&DESCRIBEIMAGEUSAGEREPORTSOUTPUT_MEMBER_NEXT_TOKEN, val)?;
   71     79   
        }
   72     80   
        if let Some(ref val) = self.image_usage_reports {
   73     81   
            ser.write_list(
   74     82   
                &DESCRIBEIMAGEUSAGEREPORTSOUTPUT_MEMBER_IMAGE_USAGE_REPORTS,
   75     83   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   76     84   
                    for item in val {
   77     85   
                        ser.write_struct(crate::types::ImageUsageReport::SCHEMA, item)?;
   78     86   
                    }
   79     87   
                    Ok(())
   80     88   
                },
   81     89   
            )?;
   82     90   
        }
   83     91   
        Ok(())
   84     92   
    }
   85     93   
}
   86     94   
impl DescribeImageUsageReportsOutput {
   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(&DESCRIBEIMAGEUSAGEREPORTSOUTPUT_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.image_usage_reports = Some({
         115  +
                        let mut container = Vec::new();
         116  +
                        deser.read_list(member, &mut |deser| {
         117  +
                            container.push(crate::types::ImageUsageReport::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 DescribeImageUsageReportsOutput {
         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(&DESCRIBEIMAGEUSAGEREPORTSOUTPUT_SCHEMA, (), |_, member, deser| {
         155  +
        deserializer.read_struct(&DESCRIBEIMAGEUSAGEREPORTSOUTPUT_SCHEMA, &mut |member, deser| {
  101    156   
            match member.member_index() {
  102    157   
                Some(0) => {
  103    158   
                    builder.next_token = Some(deser.read_string(member)?);
  104    159   
                }
  105    160   
                Some(1) => {
  106    161   
                    builder.image_usage_reports = Some({
  107         -
                        let container = if let Some(cap) = deser.container_size() {
  108         -
                            Vec::with_capacity(cap)
  109         -
                        } else {
  110         -
                            Vec::new()
  111         -
                        };
  112         -
                        deser.read_list(member, container, |mut list, deser| {
  113         -
                            list.push(crate::types::ImageUsageReport::deserialize(deser)?);
  114         -
                            Ok(list)
  115         -
                        })?
         162  +
                        let mut container = Vec::new();
         163  +
                        deser.read_list(member, &mut |deser| {
         164  +
                            container.push(crate::types::ImageUsageReport::deserialize(deser)?);
         165  +
                            Ok(())
         166  +
                        })?;
         167  +
                        container
  116    168   
                    });
  117    169   
                }
  118    170   
                _ => {}
  119    171   
            }
  120    172   
            Ok(())
  121    173   
        })?;
  122    174   
        Ok(builder.build())
  123    175   
    }
  124    176   
}
  125    177   
impl ::aws_types::request_id::RequestId for DescribeImageUsageReportsOutput {

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_images/_describe_images_input.rs

@@ -231,231 +375,375 @@
  251    251   
    "com.amazonaws.ec2.synthetic",
  252    252   
    "DescribeImagesInput",
  253    253   
);
  254    254   
static DESCRIBEIMAGESINPUT_MEMBER_EXECUTABLE_USERS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  255    255   
    ::aws_smithy_schema::ShapeId::from_static(
  256    256   
        "com.amazonaws.ec2.synthetic#DescribeImagesInput$ExecutableUsers",
  257    257   
        "com.amazonaws.ec2.synthetic",
  258    258   
        "DescribeImagesInput",
  259    259   
    ),
  260    260   
    ::aws_smithy_schema::ShapeType::List,
  261         -
    "executable_users",
         261  +
    "ExecutableUsers",
  262    262   
    0,
  263    263   
)
  264    264   
.with_xml_name("ExecutableBy");
  265    265   
static DESCRIBEIMAGESINPUT_MEMBER_IMAGE_IDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  266    266   
    ::aws_smithy_schema::ShapeId::from_static(
  267    267   
        "com.amazonaws.ec2.synthetic#DescribeImagesInput$ImageIds",
  268    268   
        "com.amazonaws.ec2.synthetic",
  269    269   
        "DescribeImagesInput",
  270    270   
    ),
  271    271   
    ::aws_smithy_schema::ShapeType::List,
  272         -
    "image_ids",
         272  +
    "ImageIds",
  273    273   
    1,
  274    274   
)
  275    275   
.with_xml_name("ImageId");
  276    276   
static DESCRIBEIMAGESINPUT_MEMBER_OWNERS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  277    277   
    ::aws_smithy_schema::ShapeId::from_static(
  278    278   
        "com.amazonaws.ec2.synthetic#DescribeImagesInput$Owners",
  279    279   
        "com.amazonaws.ec2.synthetic",
  280    280   
        "DescribeImagesInput",
  281    281   
    ),
  282    282   
    ::aws_smithy_schema::ShapeType::List,
  283         -
    "owners",
         283  +
    "Owners",
  284    284   
    2,
  285    285   
)
  286    286   
.with_xml_name("Owner");
  287    287   
static DESCRIBEIMAGESINPUT_MEMBER_INCLUDE_DEPRECATED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  288    288   
    ::aws_smithy_schema::ShapeId::from_static(
  289    289   
        "com.amazonaws.ec2.synthetic#DescribeImagesInput$IncludeDeprecated",
  290    290   
        "com.amazonaws.ec2.synthetic",
  291    291   
        "DescribeImagesInput",
  292    292   
    ),
  293    293   
    ::aws_smithy_schema::ShapeType::Boolean,
  294         -
    "include_deprecated",
         294  +
    "IncludeDeprecated",
  295    295   
    3,
  296    296   
);
  297    297   
static DESCRIBEIMAGESINPUT_MEMBER_INCLUDE_DISABLED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  298    298   
    ::aws_smithy_schema::ShapeId::from_static(
  299    299   
        "com.amazonaws.ec2.synthetic#DescribeImagesInput$IncludeDisabled",
  300    300   
        "com.amazonaws.ec2.synthetic",
  301    301   
        "DescribeImagesInput",
  302    302   
    ),
  303    303   
    ::aws_smithy_schema::ShapeType::Boolean,
  304         -
    "include_disabled",
         304  +
    "IncludeDisabled",
  305    305   
    4,
  306    306   
);
  307    307   
static DESCRIBEIMAGESINPUT_MEMBER_MAX_RESULTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  308    308   
    ::aws_smithy_schema::ShapeId::from_static(
  309    309   
        "com.amazonaws.ec2.synthetic#DescribeImagesInput$MaxResults",
  310    310   
        "com.amazonaws.ec2.synthetic",
  311    311   
        "DescribeImagesInput",
  312    312   
    ),
  313    313   
    ::aws_smithy_schema::ShapeType::Integer,
  314         -
    "max_results",
         314  +
    "MaxResults",
  315    315   
    5,
  316    316   
);
  317    317   
static DESCRIBEIMAGESINPUT_MEMBER_NEXT_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  318    318   
    ::aws_smithy_schema::ShapeId::from_static(
  319    319   
        "com.amazonaws.ec2.synthetic#DescribeImagesInput$NextToken",
  320    320   
        "com.amazonaws.ec2.synthetic",
  321    321   
        "DescribeImagesInput",
  322    322   
    ),
  323    323   
    ::aws_smithy_schema::ShapeType::String,
  324         -
    "next_token",
         324  +
    "NextToken",
  325    325   
    6,
  326    326   
);
  327    327   
static DESCRIBEIMAGESINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  328    328   
    ::aws_smithy_schema::ShapeId::from_static(
  329    329   
        "com.amazonaws.ec2.synthetic#DescribeImagesInput$DryRun",
  330    330   
        "com.amazonaws.ec2.synthetic",
  331    331   
        "DescribeImagesInput",
  332    332   
    ),
  333    333   
    ::aws_smithy_schema::ShapeType::Boolean,
  334         -
    "dry_run",
         334  +
    "DryRun",
  335    335   
    7,
  336    336   
)
  337    337   
.with_xml_name("dryRun");
  338    338   
static DESCRIBEIMAGESINPUT_MEMBER_FILTERS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  339    339   
    ::aws_smithy_schema::ShapeId::from_static(
  340    340   
        "com.amazonaws.ec2.synthetic#DescribeImagesInput$Filters",
  341    341   
        "com.amazonaws.ec2.synthetic",
  342    342   
        "DescribeImagesInput",
  343    343   
    ),
  344    344   
    ::aws_smithy_schema::ShapeType::List,
  345         -
    "filters",
         345  +
    "Filters",
  346    346   
    8,
  347    347   
)
  348    348   
.with_xml_name("Filter");
  349    349   
static DESCRIBEIMAGESINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  350    350   
    DESCRIBEIMAGESINPUT_SCHEMA_ID,
  351    351   
    ::aws_smithy_schema::ShapeType::Structure,
  352    352   
    &[
  353    353   
        &DESCRIBEIMAGESINPUT_MEMBER_EXECUTABLE_USERS,
  354    354   
        &DESCRIBEIMAGESINPUT_MEMBER_IMAGE_IDS,
  355    355   
        &DESCRIBEIMAGESINPUT_MEMBER_OWNERS,
@@ -408,408 +557,535 @@
  428    428   
                    }
  429    429   
                    Ok(())
  430    430   
                },
  431    431   
            )?;
  432    432   
        }
  433    433   
        Ok(())
  434    434   
    }
  435    435   
}
  436    436   
impl DescribeImagesInput {
  437    437   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  438         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  439         -
        deserializer: &mut D,
         438  +
    pub fn deserialize(
         439  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  440    440   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  441    441   
        #[allow(unused_variables, unused_mut)]
  442    442   
        let mut builder = Self::builder();
  443    443   
        #[allow(
  444    444   
            unused_variables,
  445    445   
            unreachable_code,
  446    446   
            clippy::single_match,
  447    447   
            clippy::match_single_binding,
  448    448   
            clippy::diverging_sub_expression
  449    449   
        )]
  450         -
        deserializer.read_struct(&DESCRIBEIMAGESINPUT_SCHEMA, (), |_, member, deser| {
         450  +
        deserializer.read_struct(&DESCRIBEIMAGESINPUT_SCHEMA, &mut |member, deser| {
  451    451   
            match member.member_index() {
  452    452   
                Some(0) => {
  453         -
                    builder.executable_users = Some({
  454         -
                        let container = if let Some(cap) = deser.container_size() {
  455         -
                            Vec::with_capacity(cap)
  456         -
                        } else {
  457         -
                            Vec::new()
  458         -
                        };
  459         -
                        deser.read_list(member, container, |mut list, deser| {
  460         -
                            list.push(deser.read_string(member)?);
  461         -
                            Ok(list)
  462         -
                        })?
  463         -
                    });
         453  +
                    builder.executable_users = Some(deser.read_string_list(member)?);
  464    454   
                }
  465    455   
                Some(1) => {
  466         -
                    builder.image_ids = Some({
  467         -
                        let container = if let Some(cap) = deser.container_size() {
  468         -
                            Vec::with_capacity(cap)
  469         -
                        } else {
  470         -
                            Vec::new()
  471         -
                        };
  472         -
                        deser.read_list(member, container, |mut list, deser| {
  473         -
                            list.push(deser.read_string(member)?);
  474         -
                            Ok(list)
  475         -
                        })?
  476         -
                    });
         456  +
                    builder.image_ids = Some(deser.read_string_list(member)?);
  477    457   
                }
  478    458   
                Some(2) => {
  479         -
                    builder.owners = Some({
  480         -
                        let container = if let Some(cap) = deser.container_size() {
  481         -
                            Vec::with_capacity(cap)
  482         -
                        } else {
  483         -
                            Vec::new()
  484         -
                        };
  485         -
                        deser.read_list(member, container, |mut list, deser| {
  486         -
                            list.push(deser.read_string(member)?);
  487         -
                            Ok(list)
  488         -
                        })?
  489         -
                    });
         459  +
                    builder.owners = Some(deser.read_string_list(member)?);
  490    460   
                }
  491    461   
                Some(3) => {
  492    462   
                    builder.include_deprecated = Some(deser.read_boolean(member)?);
  493    463   
                }
  494    464   
                Some(4) => {
  495    465   
                    builder.include_disabled = Some(deser.read_boolean(member)?);
  496    466   
                }
  497    467   
                Some(5) => {
  498    468   
                    builder.max_results = Some(deser.read_integer(member)?);
  499    469   
                }
  500    470   
                Some(6) => {
  501    471   
                    builder.next_token = Some(deser.read_string(member)?);
  502    472   
                }
  503    473   
                Some(7) => {
  504    474   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  505    475   
                }
  506    476   
                Some(8) => {
  507    477   
                    builder.filters = Some({
  508         -
                        let container = if let Some(cap) = deser.container_size() {
  509         -
                            Vec::with_capacity(cap)
  510         -
                        } else {
  511         -
                            Vec::new()
  512         -
                        };
  513         -
                        deser.read_list(member, container, |mut list, deser| {
  514         -
                            list.push(crate::types::Filter::deserialize(deser)?);
  515         -
                            Ok(list)
  516         -
                        })?
         478  +
                        let mut container = Vec::new();
         479  +
                        deser.read_list(member, &mut |deser| {
         480  +
                            container.push(crate::types::Filter::deserialize(deser)?);
         481  +
                            Ok(())
         482  +
                        })?;
         483  +
                        container
  517    484   
                    });
  518    485   
                }
  519    486   
                _ => {}
  520    487   
            }
  521    488   
            Ok(())
  522    489   
        })?;
  523    490   
        builder
  524    491   
            .build()
  525    492   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  526    493   
    }
  527    494   
}
         495  +
impl DescribeImagesInput {
         496  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         497  +
    pub fn deserialize_with_response(
         498  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         499  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         500  +
        _status: u16,
         501  +
        _body: &[u8],
         502  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         503  +
        Self::deserialize(deserializer)
         504  +
    }
         505  +
}
  528    506   
impl DescribeImagesInput {
  529    507   
    /// Creates a new builder-style object to manufacture [`DescribeImagesInput`](crate::operation::describe_images::DescribeImagesInput).
  530    508   
    pub fn builder() -> crate::operation::describe_images::builders::DescribeImagesInputBuilder {
  531    509   
        crate::operation::describe_images::builders::DescribeImagesInputBuilder::default()
  532    510   
    }
  533    511   
}
  534    512   
  535    513   
/// A builder for [`DescribeImagesInput`](crate::operation::describe_images::DescribeImagesInput).
  536    514   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  537    515   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_images/_describe_images_output.rs

@@ -6,6 +142,197 @@
   26     26   
    "com.amazonaws.ec2.synthetic",
   27     27   
    "DescribeImagesOutput",
   28     28   
);
   29     29   
static DESCRIBEIMAGESOUTPUT_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#DescribeImagesOutput$NextToken",
   32     32   
        "com.amazonaws.ec2.synthetic",
   33     33   
        "DescribeImagesOutput",
   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 DESCRIBEIMAGESOUTPUT_MEMBER_IMAGES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   41     41   
    ::aws_smithy_schema::ShapeId::from_static(
   42     42   
        "com.amazonaws.ec2.synthetic#DescribeImagesOutput$Images",
   43     43   
        "com.amazonaws.ec2.synthetic",
   44     44   
        "DescribeImagesOutput",
   45     45   
    ),
   46     46   
    ::aws_smithy_schema::ShapeType::List,
   47         -
    "images",
          47  +
    "Images",
   48     48   
    1,
   49     49   
)
   50     50   
.with_xml_name("imagesSet");
          51  +
static DESCRIBEIMAGESOUTPUT_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 DESCRIBEIMAGESOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   52     59   
    DESCRIBEIMAGESOUTPUT_SCHEMA_ID,
   53     60   
    ::aws_smithy_schema::ShapeType::Structure,
   54         -
    &[&DESCRIBEIMAGESOUTPUT_MEMBER_NEXT_TOKEN, &DESCRIBEIMAGESOUTPUT_MEMBER_IMAGES],
          61  +
    &[
          62  +
        &DESCRIBEIMAGESOUTPUT_MEMBER_NEXT_TOKEN,
          63  +
        &DESCRIBEIMAGESOUTPUT_MEMBER_IMAGES,
          64  +
        &DESCRIBEIMAGESOUTPUT_MEMBER__REQUEST_ID,
          65  +
    ],
   55     66   
);
   56     67   
impl DescribeImagesOutput {
   57     68   
    /// The schema for this shape.
   58     69   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &DESCRIBEIMAGESOUTPUT_SCHEMA;
   59     70   
}
   60     71   
impl ::aws_smithy_schema::serde::SerializableStruct for DescribeImagesOutput {
   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(&DESCRIBEIMAGESOUTPUT_MEMBER_NEXT_TOKEN, val)?;
   68     79   
        }
   69     80   
        if let Some(ref val) = self.images {
   70     81   
            ser.write_list(
   71     82   
                &DESCRIBEIMAGESOUTPUT_MEMBER_IMAGES,
   72     83   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   73     84   
                    for item in val {
   74     85   
                        ser.write_struct(crate::types::Image::SCHEMA, item)?;
   75     86   
                    }
   76     87   
                    Ok(())
   77     88   
                },
   78     89   
            )?;
   79     90   
        }
   80     91   
        Ok(())
   81     92   
    }
   82     93   
}
   83     94   
impl DescribeImagesOutput {
   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,
   87     98   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   88     99   
        #[allow(unused_variables, unused_mut)]
   89    100   
        let mut builder = Self::builder();
   90    101   
        #[allow(
   91    102   
            unused_variables,
   92    103   
            unreachable_code,
   93    104   
            clippy::single_match,
   94    105   
            clippy::match_single_binding,
   95    106   
            clippy::diverging_sub_expression
   96    107   
        )]
   97         -
        deserializer.read_struct(&DESCRIBEIMAGESOUTPUT_SCHEMA, (), |_, member, deser| {
         108  +
        deserializer.read_struct(&DESCRIBEIMAGESOUTPUT_SCHEMA, &mut |member, deser| {
   98    109   
            match member.member_index() {
   99    110   
                Some(0) => {
  100    111   
                    builder.next_token = Some(deser.read_string(member)?);
  101    112   
                }
  102    113   
                Some(1) => {
  103    114   
                    builder.images = 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::Image::deserialize(deser)?);
  111         -
                            Ok(list)
  112         -
                        })?
         115  +
                        let mut container = Vec::new();
         116  +
                        deser.read_list(member, &mut |deser| {
         117  +
                            container.push(crate::types::Image::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 DescribeImagesOutput {
         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],
         142  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         143  +
        #[allow(unused_variables, unused_mut)]
         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  +
        }
         148  +
        #[allow(
         149  +
            unused_variables,
         150  +
            unreachable_code,
         151  +
            clippy::single_match,
         152  +
            clippy::match_single_binding,
         153  +
            clippy::diverging_sub_expression
         154  +
        )]
         155  +
        deserializer.read_struct(&DESCRIBEIMAGESOUTPUT_SCHEMA, &mut |member, deser| {
         156  +
            match member.member_index() {
         157  +
                Some(0) => {
         158  +
                    builder.next_token = Some(deser.read_string(member)?);
         159  +
                }
         160  +
                Some(1) => {
         161  +
                    builder.images = Some({
         162  +
                        let mut container = Vec::new();
         163  +
                        deser.read_list(member, &mut |deser| {
         164  +
                            container.push(crate::types::Image::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 DescribeImagesOutput {

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_import_image_tasks/_describe_import_image_tasks_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_import_image_tasks/_describe_import_image_tasks_output.rs

@@ -6,6 +142,194 @@
   26     26   
    "com.amazonaws.ec2.synthetic",
   27     27   
    "DescribeImportImageTasksOutput",
   28     28   
);
   29     29   
static DESCRIBEIMPORTIMAGETASKSOUTPUT_MEMBER_IMPORT_IMAGE_TASKS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   30     30   
    ::aws_smithy_schema::ShapeId::from_static(
   31     31   
        "com.amazonaws.ec2.synthetic#DescribeImportImageTasksOutput$ImportImageTasks",
   32     32   
        "com.amazonaws.ec2.synthetic",
   33     33   
        "DescribeImportImageTasksOutput",
   34     34   
    ),
   35     35   
    ::aws_smithy_schema::ShapeType::List,
   36         -
    "import_image_tasks",
          36  +
    "ImportImageTasks",
   37     37   
    0,
   38     38   
)
   39     39   
.with_xml_name("importImageTaskSet");
   40     40   
static DESCRIBEIMPORTIMAGETASKSOUTPUT_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#DescribeImportImageTasksOutput$NextToken",
   43     43   
        "com.amazonaws.ec2.synthetic",
   44     44   
        "DescribeImportImageTasksOutput",
   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 DESCRIBEIMPORTIMAGETASKSOUTPUT_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 DESCRIBEIMPORTIMAGETASKSOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   52     59   
    DESCRIBEIMPORTIMAGETASKSOUTPUT_SCHEMA_ID,
   53     60   
    ::aws_smithy_schema::ShapeType::Structure,
   54     61   
    &[
   55     62   
        &DESCRIBEIMPORTIMAGETASKSOUTPUT_MEMBER_IMPORT_IMAGE_TASKS,
   56     63   
        &DESCRIBEIMPORTIMAGETASKSOUTPUT_MEMBER_NEXT_TOKEN,
          64  +
        &DESCRIBEIMPORTIMAGETASKSOUTPUT_MEMBER__REQUEST_ID,
   57     65   
    ],
   58     66   
);
   59     67   
impl DescribeImportImageTasksOutput {
   60     68   
    /// The schema for this shape.
   61     69   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &DESCRIBEIMPORTIMAGETASKSOUTPUT_SCHEMA;
   62     70   
}
   63     71   
impl ::aws_smithy_schema::serde::SerializableStruct for DescribeImportImageTasksOutput {
   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.import_image_tasks {
   70     78   
            ser.write_list(
   71     79   
                &DESCRIBEIMPORTIMAGETASKSOUTPUT_MEMBER_IMPORT_IMAGE_TASKS,
   72     80   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   73     81   
                    for item in val {
   74     82   
                        ser.write_struct(crate::types::ImportImageTask::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(&DESCRIBEIMPORTIMAGETASKSOUTPUT_MEMBER_NEXT_TOKEN, val)?;
   82     90   
        }
   83     91   
        Ok(())
   84     92   
    }
   85     93   
}
   86     94   
impl DescribeImportImageTasksOutput {
   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(&DESCRIBEIMPORTIMAGETASKSOUTPUT_SCHEMA, &mut |member, deser| {
         109  +
            match member.member_index() {
         110  +
                Some(0) => {
         111  +
                    builder.import_image_tasks = Some({
         112  +
                        let mut container = Vec::new();
         113  +
                        deser.read_list(member, &mut |deser| {
         114  +
                            container.push(crate::types::ImportImageTask::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 DescribeImportImageTasksOutput {
         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(&DESCRIBEIMPORTIMAGETASKSOUTPUT_SCHEMA, (), |_, member, deser| {
         155  +
        deserializer.read_struct(&DESCRIBEIMPORTIMAGETASKSOUTPUT_SCHEMA, &mut |member, deser| {
  101    156   
            match member.member_index() {
  102    157   
                Some(0) => {
  103    158   
                    builder.import_image_tasks = 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::ImportImageTask::deserialize(deser)?);
  111         -
                            Ok(list)
  112         -
                        })?
         159  +
                        let mut container = Vec::new();
         160  +
                        deser.read_list(member, &mut |deser| {
         161  +
                            container.push(crate::types::ImportImageTask::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_import_snapshot_tasks.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 `DescribeImportSnapshotTasks`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct DescribeImportSnapshotTasks;
    6      6   
impl DescribeImportSnapshotTasks {
    7      7   
    /// Creates a new `DescribeImportSnapshotTasks`
    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_import_snapshot_tasks::DescribeImportSnapshotTasksInput::SCHEMA;
          14  +
    /// The schema for this operation's output shape.
          15  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          16  +
        crate::operation::describe_import_snapshot_tasks::DescribeImportSnapshotTasksOutput::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_import_snapshot_tasks::DescribeImportSnapshotTasksInput,
   14     20   
    ) -> ::std::result::Result<
   15     21   
        crate::operation::describe_import_snapshot_tasks::DescribeImportSnapshotTasksOutput,
   16     22   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     23   
            crate::operation::describe_import_snapshot_tasks::DescribeImportSnapshotTasksError,
   18     24   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     25   
        >,
   20     26   
    > {
@@ -119,125 +181,188 @@
  139    145   
                crate::operation::describe_import_snapshot_tasks::DescribeImportSnapshotTasksError,
  140    146   
            >::new());
  141    147   
  142    148   
        ::std::borrow::Cow::Owned(rcb)
  143    149   
    }
  144    150   
}
  145    151   
  146    152   
#[derive(Debug)]
  147    153   
struct DescribeImportSnapshotTasksResponseDeserializer;
  148    154   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for DescribeImportSnapshotTasksResponseDeserializer {
  149         -
    fn deserialize_nonstreaming(
         155  +
    fn deserialize_nonstreaming_with_config(
  150    156   
        &self,
  151    157   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         158  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  152    159   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  153    160   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  154    161   
        let headers = response.headers();
  155    162   
        let body = response.body().bytes().expect("body loaded");
  156    163   
        #[allow(unused_mut)]
  157    164   
        let mut force_error = false;
  158    165   
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  159    166   
        let parse_result = if !success && status != 200 || force_error {
  160    167   
            crate::protocol_serde::shape_describe_import_snapshot_tasks::de_describe_import_snapshot_tasks_http_error(status, headers, body)
  161    168   
        } else {

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_import_snapshot_tasks/_describe_import_snapshot_tasks_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_import_snapshot_tasks/_describe_import_snapshot_tasks_output.rs

@@ -6,6 +142,194 @@
   26     26   
    "com.amazonaws.ec2.synthetic",
   27     27   
    "DescribeImportSnapshotTasksOutput",
   28     28   
);
   29     29   
static DESCRIBEIMPORTSNAPSHOTTASKSOUTPUT_MEMBER_IMPORT_SNAPSHOT_TASKS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   30     30   
    ::aws_smithy_schema::ShapeId::from_static(
   31     31   
        "com.amazonaws.ec2.synthetic#DescribeImportSnapshotTasksOutput$ImportSnapshotTasks",
   32     32   
        "com.amazonaws.ec2.synthetic",
   33     33   
        "DescribeImportSnapshotTasksOutput",
   34     34   
    ),
   35     35   
    ::aws_smithy_schema::ShapeType::List,
   36         -
    "import_snapshot_tasks",
          36  +
    "ImportSnapshotTasks",
   37     37   
    0,
   38     38   
)
   39     39   
.with_xml_name("importSnapshotTaskSet");
   40     40   
static DESCRIBEIMPORTSNAPSHOTTASKSOUTPUT_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#DescribeImportSnapshotTasksOutput$NextToken",
   43     43   
        "com.amazonaws.ec2.synthetic",
   44     44   
        "DescribeImportSnapshotTasksOutput",
   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 DESCRIBEIMPORTSNAPSHOTTASKSOUTPUT_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 DESCRIBEIMPORTSNAPSHOTTASKSOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   52     59   
    DESCRIBEIMPORTSNAPSHOTTASKSOUTPUT_SCHEMA_ID,
   53     60   
    ::aws_smithy_schema::ShapeType::Structure,
   54     61   
    &[
   55     62   
        &DESCRIBEIMPORTSNAPSHOTTASKSOUTPUT_MEMBER_IMPORT_SNAPSHOT_TASKS,
   56     63   
        &DESCRIBEIMPORTSNAPSHOTTASKSOUTPUT_MEMBER_NEXT_TOKEN,
          64  +
        &DESCRIBEIMPORTSNAPSHOTTASKSOUTPUT_MEMBER__REQUEST_ID,
   57     65   
    ],
   58     66   
);
   59     67   
impl DescribeImportSnapshotTasksOutput {
   60     68   
    /// The schema for this shape.
   61     69   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &DESCRIBEIMPORTSNAPSHOTTASKSOUTPUT_SCHEMA;
   62     70   
}
   63     71   
impl ::aws_smithy_schema::serde::SerializableStruct for DescribeImportSnapshotTasksOutput {
   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.import_snapshot_tasks {
   70     78   
            ser.write_list(
   71     79   
                &DESCRIBEIMPORTSNAPSHOTTASKSOUTPUT_MEMBER_IMPORT_SNAPSHOT_TASKS,
   72     80   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   73     81   
                    for item in val {
   74     82   
                        ser.write_struct(crate::types::ImportSnapshotTask::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(&DESCRIBEIMPORTSNAPSHOTTASKSOUTPUT_MEMBER_NEXT_TOKEN, val)?;
   82     90   
        }
   83     91   
        Ok(())
   84     92   
    }
   85     93   
}
   86     94   
impl DescribeImportSnapshotTasksOutput {
   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(&DESCRIBEIMPORTSNAPSHOTTASKSOUTPUT_SCHEMA, &mut |member, deser| {
         109  +
            match member.member_index() {
         110  +
                Some(0) => {
         111  +
                    builder.import_snapshot_tasks = Some({
         112  +
                        let mut container = Vec::new();
         113  +
                        deser.read_list(member, &mut |deser| {
         114  +
                            container.push(crate::types::ImportSnapshotTask::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 DescribeImportSnapshotTasksOutput {
         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(&DESCRIBEIMPORTSNAPSHOTTASKSOUTPUT_SCHEMA, (), |_, member, deser| {
         155  +
        deserializer.read_struct(&DESCRIBEIMPORTSNAPSHOTTASKSOUTPUT_SCHEMA, &mut |member, deser| {
  101    156   
            match member.member_index() {
  102    157   
                Some(0) => {
  103    158   
                    builder.import_snapshot_tasks = 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::ImportSnapshotTask::deserialize(deser)?);
  111         -
                            Ok(list)
  112         -
                        })?
         159  +
                        let mut container = Vec::new();
         160  +
                        deser.read_list(member, &mut |deser| {
         161  +
                            container.push(crate::types::ImportSnapshotTask::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_attribute.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 `DescribeInstanceAttribute`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct DescribeInstanceAttribute;
    6      6   
impl DescribeInstanceAttribute {
    7      7   
    /// Creates a new `DescribeInstanceAttribute`
    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_attribute::DescribeInstanceAttributeInput::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_attribute::DescribeInstanceAttributeOutput::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_attribute::DescribeInstanceAttributeInput,
   14     20   
    ) -> ::std::result::Result<
   15     21   
        crate::operation::describe_instance_attribute::DescribeInstanceAttributeOutput,
   16     22   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     23   
            crate::operation::describe_instance_attribute::DescribeInstanceAttributeError,
   18     24   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     25   
        >,
   20     26   
    > {
@@ -118,124 +180,187 @@
  138    144   
                crate::operation::describe_instance_attribute::DescribeInstanceAttributeError,
  139    145   
            >::new());
  140    146   
  141    147   
        ::std::borrow::Cow::Owned(rcb)
  142    148   
    }
  143    149   
}
  144    150   
  145    151   
#[derive(Debug)]
  146    152   
struct DescribeInstanceAttributeResponseDeserializer;
  147    153   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for DescribeInstanceAttributeResponseDeserializer {
  148         -
    fn deserialize_nonstreaming(
         154  +
    fn deserialize_nonstreaming_with_config(
  149    155   
        &self,
  150    156   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         157  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  151    158   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  152    159   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  153    160   
        let headers = response.headers();
  154    161   
        let body = response.body().bytes().expect("body loaded");
  155    162   
        #[allow(unused_mut)]
  156    163   
        let mut force_error = false;
  157    164   
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  158    165   
        let parse_result = if !success && status != 200 || force_error {
  159    166   
            crate::protocol_serde::shape_describe_instance_attribute::de_describe_instance_attribute_http_error(status, headers, body)
  160    167   
        } else {

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_instance_attribute/_describe_instance_attribute_input.rs

@@ -11,11 +161,173 @@
   31     31   
    "com.amazonaws.ec2.synthetic",
   32     32   
    "DescribeInstanceAttributeInput",
   33     33   
);
   34     34   
static DESCRIBEINSTANCEATTRIBUTEINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   35     35   
    ::aws_smithy_schema::ShapeId::from_static(
   36     36   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeInput$DryRun",
   37     37   
        "com.amazonaws.ec2.synthetic",
   38     38   
        "DescribeInstanceAttributeInput",
   39     39   
    ),
   40     40   
    ::aws_smithy_schema::ShapeType::Boolean,
   41         -
    "dry_run",
          41  +
    "DryRun",
   42     42   
    0,
   43     43   
)
   44     44   
.with_xml_name("dryRun");
   45     45   
static DESCRIBEINSTANCEATTRIBUTEINPUT_MEMBER_INSTANCE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   46     46   
    ::aws_smithy_schema::ShapeId::from_static(
   47     47   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeInput$InstanceId",
   48     48   
        "com.amazonaws.ec2.synthetic",
   49     49   
        "DescribeInstanceAttributeInput",
   50     50   
    ),
   51     51   
    ::aws_smithy_schema::ShapeType::String,
   52         -
    "instance_id",
          52  +
    "InstanceId",
   53     53   
    1,
   54     54   
)
   55     55   
.with_xml_name("instanceId");
   56     56   
static DESCRIBEINSTANCEATTRIBUTEINPUT_MEMBER_ATTRIBUTE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   57     57   
    ::aws_smithy_schema::ShapeId::from_static(
   58     58   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeInput$Attribute",
   59     59   
        "com.amazonaws.ec2.synthetic",
   60     60   
        "DescribeInstanceAttributeInput",
   61     61   
    ),
   62     62   
    ::aws_smithy_schema::ShapeType::String,
   63         -
    "attribute",
          63  +
    "Attribute",
   64     64   
    2,
   65     65   
)
   66     66   
.with_xml_name("attribute");
   67     67   
static DESCRIBEINSTANCEATTRIBUTEINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   68     68   
    DESCRIBEINSTANCEATTRIBUTEINPUT_SCHEMA_ID,
   69     69   
    ::aws_smithy_schema::ShapeType::Structure,
   70     70   
    &[
   71     71   
        &DESCRIBEINSTANCEATTRIBUTEINPUT_MEMBER_DRY_RUN,
   72     72   
        &DESCRIBEINSTANCEATTRIBUTEINPUT_MEMBER_INSTANCE_ID,
   73     73   
        &DESCRIBEINSTANCEATTRIBUTEINPUT_MEMBER_ATTRIBUTE,
   74     74   
    ],
   75     75   
);
   76     76   
impl DescribeInstanceAttributeInput {
   77     77   
    /// The schema for this shape.
   78     78   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &DESCRIBEINSTANCEATTRIBUTEINPUT_SCHEMA;
   79     79   
}
   80     80   
impl ::aws_smithy_schema::serde::SerializableStruct for DescribeInstanceAttributeInput {
   81     81   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   82     82   
    fn serialize_members(
   83     83   
        &self,
   84     84   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   85     85   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   86     86   
        if let Some(ref val) = self.dry_run {
   87     87   
            ser.write_boolean(&DESCRIBEINSTANCEATTRIBUTEINPUT_MEMBER_DRY_RUN, *val)?;
   88     88   
        }
   89     89   
        if let Some(ref val) = self.instance_id {
   90     90   
            ser.write_string(&DESCRIBEINSTANCEATTRIBUTEINPUT_MEMBER_INSTANCE_ID, val)?;
   91     91   
        }
   92     92   
        if let Some(ref val) = self.attribute {
   93     93   
            ser.write_string(&DESCRIBEINSTANCEATTRIBUTEINPUT_MEMBER_ATTRIBUTE, val.as_str())?;
   94     94   
        }
   95     95   
        Ok(())
   96     96   
    }
   97     97   
}
   98     98   
impl DescribeInstanceAttributeInput {
   99     99   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  100         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  101         -
        deserializer: &mut D,
         100  +
    pub fn deserialize(
         101  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  102    102   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  103    103   
        #[allow(unused_variables, unused_mut)]
  104    104   
        let mut builder = Self::builder();
  105    105   
        #[allow(
  106    106   
            unused_variables,
  107    107   
            unreachable_code,
  108    108   
            clippy::single_match,
  109    109   
            clippy::match_single_binding,
  110    110   
            clippy::diverging_sub_expression
  111    111   
        )]
  112         -
        deserializer.read_struct(&DESCRIBEINSTANCEATTRIBUTEINPUT_SCHEMA, (), |_, member, deser| {
         112  +
        deserializer.read_struct(&DESCRIBEINSTANCEATTRIBUTEINPUT_SCHEMA, &mut |member, deser| {
  113    113   
            match member.member_index() {
  114    114   
                Some(0) => {
  115    115   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  116    116   
                }
  117    117   
                Some(1) => {
  118    118   
                    builder.instance_id = Some(deser.read_string(member)?);
  119    119   
                }
  120    120   
                Some(2) => {
  121    121   
                    builder.attribute = Some(crate::types::InstanceAttributeName::from(deser.read_string(member)?.as_str()));
  122    122   
                }
  123    123   
                _ => {}
  124    124   
            }
  125    125   
            Ok(())
  126    126   
        })?;
         127  +
        builder.instance_id = builder.instance_id.or(Some(String::new()));
  127    128   
        builder
  128    129   
            .build()
  129    130   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  130    131   
    }
  131    132   
}
         133  +
impl DescribeInstanceAttributeInput {
         134  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         135  +
    pub fn deserialize_with_response(
         136  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         137  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         138  +
        _status: u16,
         139  +
        _body: &[u8],
         140  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         141  +
        Self::deserialize(deserializer)
         142  +
    }
         143  +
}
  132    144   
impl DescribeInstanceAttributeInput {
  133    145   
    /// Creates a new builder-style object to manufacture [`DescribeInstanceAttributeInput`](crate::operation::describe_instance_attribute::DescribeInstanceAttributeInput).
  134    146   
    pub fn builder() -> crate::operation::describe_instance_attribute::builders::DescribeInstanceAttributeInputBuilder {
  135    147   
        crate::operation::describe_instance_attribute::builders::DescribeInstanceAttributeInputBuilder::default()
  136    148   
    }
  137    149   
}
  138    150   
  139    151   
/// A builder for [`DescribeInstanceAttributeInput`](crate::operation::describe_instance_attribute::DescribeInstanceAttributeInput).
  140    152   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  141    153   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/describe_instance_attribute/_describe_instance_attribute_output.rs

@@ -101,101 +362,370 @@
  121    121   
    "com.amazonaws.ec2.synthetic",
  122    122   
    "DescribeInstanceAttributeOutput",
  123    123   
);
  124    124   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_BLOCK_DEVICE_MAPPINGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  125    125   
    ::aws_smithy_schema::ShapeId::from_static(
  126    126   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$BlockDeviceMappings",
  127    127   
        "com.amazonaws.ec2.synthetic",
  128    128   
        "DescribeInstanceAttributeOutput",
  129    129   
    ),
  130    130   
    ::aws_smithy_schema::ShapeType::List,
  131         -
    "block_device_mappings",
         131  +
    "BlockDeviceMappings",
  132    132   
    0,
  133    133   
)
  134    134   
.with_xml_name("blockDeviceMapping");
  135    135   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_DISABLE_API_TERMINATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  136    136   
    ::aws_smithy_schema::ShapeId::from_static(
  137    137   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$DisableApiTermination",
  138    138   
        "com.amazonaws.ec2.synthetic",
  139    139   
        "DescribeInstanceAttributeOutput",
  140    140   
    ),
  141    141   
    ::aws_smithy_schema::ShapeType::Structure,
  142         -
    "disable_api_termination",
         142  +
    "DisableApiTermination",
  143    143   
    1,
  144    144   
)
  145    145   
.with_xml_name("disableApiTermination");
  146    146   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_ENA_SUPPORT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  147    147   
    ::aws_smithy_schema::ShapeId::from_static(
  148    148   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$EnaSupport",
  149    149   
        "com.amazonaws.ec2.synthetic",
  150    150   
        "DescribeInstanceAttributeOutput",
  151    151   
    ),
  152    152   
    ::aws_smithy_schema::ShapeType::Structure,
  153         -
    "ena_support",
         153  +
    "EnaSupport",
  154    154   
    2,
  155    155   
)
  156    156   
.with_xml_name("enaSupport");
  157    157   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_ENCLAVE_OPTIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  158    158   
    ::aws_smithy_schema::ShapeId::from_static(
  159    159   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$EnclaveOptions",
  160    160   
        "com.amazonaws.ec2.synthetic",
  161    161   
        "DescribeInstanceAttributeOutput",
  162    162   
    ),
  163    163   
    ::aws_smithy_schema::ShapeType::Structure,
  164         -
    "enclave_options",
         164  +
    "EnclaveOptions",
  165    165   
    3,
  166    166   
)
  167    167   
.with_xml_name("enclaveOptions");
  168    168   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_EBS_OPTIMIZED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  169    169   
    ::aws_smithy_schema::ShapeId::from_static(
  170    170   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$EbsOptimized",
  171    171   
        "com.amazonaws.ec2.synthetic",
  172    172   
        "DescribeInstanceAttributeOutput",
  173    173   
    ),
  174    174   
    ::aws_smithy_schema::ShapeType::Structure,
  175         -
    "ebs_optimized",
         175  +
    "EbsOptimized",
  176    176   
    4,
  177    177   
)
  178    178   
.with_xml_name("ebsOptimized");
  179    179   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_INSTANCE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  180    180   
    ::aws_smithy_schema::ShapeId::from_static(
  181    181   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$InstanceId",
  182    182   
        "com.amazonaws.ec2.synthetic",
  183    183   
        "DescribeInstanceAttributeOutput",
  184    184   
    ),
  185    185   
    ::aws_smithy_schema::ShapeType::String,
  186         -
    "instance_id",
         186  +
    "InstanceId",
  187    187   
    5,
  188    188   
)
  189    189   
.with_xml_name("instanceId");
  190    190   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_INSTANCE_INITIATED_SHUTDOWN_BEHAVIOR: ::aws_smithy_schema::Schema =
  191    191   
    ::aws_smithy_schema::Schema::new_member(
  192    192   
        ::aws_smithy_schema::ShapeId::from_static(
  193    193   
            "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$InstanceInitiatedShutdownBehavior",
  194    194   
            "com.amazonaws.ec2.synthetic",
  195    195   
            "DescribeInstanceAttributeOutput",
  196    196   
        ),
  197    197   
        ::aws_smithy_schema::ShapeType::Structure,
  198         -
        "instance_initiated_shutdown_behavior",
         198  +
        "InstanceInitiatedShutdownBehavior",
  199    199   
        6,
  200    200   
    )
  201    201   
    .with_xml_name("instanceInitiatedShutdownBehavior");
  202    202   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_INSTANCE_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  203    203   
    ::aws_smithy_schema::ShapeId::from_static(
  204    204   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$InstanceType",
  205    205   
        "com.amazonaws.ec2.synthetic",
  206    206   
        "DescribeInstanceAttributeOutput",
  207    207   
    ),
  208    208   
    ::aws_smithy_schema::ShapeType::Structure,
  209         -
    "instance_type",
         209  +
    "InstanceType",
  210    210   
    7,
  211    211   
)
  212    212   
.with_xml_name("instanceType");
  213    213   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_KERNEL_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  214    214   
    ::aws_smithy_schema::ShapeId::from_static(
  215    215   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$KernelId",
  216    216   
        "com.amazonaws.ec2.synthetic",
  217    217   
        "DescribeInstanceAttributeOutput",
  218    218   
    ),
  219    219   
    ::aws_smithy_schema::ShapeType::Structure,
  220         -
    "kernel_id",
         220  +
    "KernelId",
  221    221   
    8,
  222    222   
)
  223    223   
.with_xml_name("kernel");
  224    224   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_PRODUCT_CODES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  225    225   
    ::aws_smithy_schema::ShapeId::from_static(
  226    226   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$ProductCodes",
  227    227   
        "com.amazonaws.ec2.synthetic",
  228    228   
        "DescribeInstanceAttributeOutput",
  229    229   
    ),
  230    230   
    ::aws_smithy_schema::ShapeType::List,
  231         -
    "product_codes",
         231  +
    "ProductCodes",
  232    232   
    9,
  233    233   
)
  234    234   
.with_xml_name("productCodes");
  235    235   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_RAMDISK_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  236    236   
    ::aws_smithy_schema::ShapeId::from_static(
  237    237   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$RamdiskId",
  238    238   
        "com.amazonaws.ec2.synthetic",
  239    239   
        "DescribeInstanceAttributeOutput",
  240    240   
    ),
  241    241   
    ::aws_smithy_schema::ShapeType::Structure,
  242         -
    "ramdisk_id",
         242  +
    "RamdiskId",
  243    243   
    10,
  244    244   
)
  245    245   
.with_xml_name("ramdisk");
  246    246   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_ROOT_DEVICE_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  247    247   
    ::aws_smithy_schema::ShapeId::from_static(
  248    248   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$RootDeviceName",
  249    249   
        "com.amazonaws.ec2.synthetic",
  250    250   
        "DescribeInstanceAttributeOutput",
  251    251   
    ),
  252    252   
    ::aws_smithy_schema::ShapeType::Structure,
  253         -
    "root_device_name",
         253  +
    "RootDeviceName",
  254    254   
    11,
  255    255   
)
  256    256   
.with_xml_name("rootDeviceName");
  257    257   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_SOURCE_DEST_CHECK: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  258    258   
    ::aws_smithy_schema::ShapeId::from_static(
  259    259   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$SourceDestCheck",
  260    260   
        "com.amazonaws.ec2.synthetic",
  261    261   
        "DescribeInstanceAttributeOutput",
  262    262   
    ),
  263    263   
    ::aws_smithy_schema::ShapeType::Structure,
  264         -
    "source_dest_check",
         264  +
    "SourceDestCheck",
  265    265   
    12,
  266    266   
)
  267    267   
.with_xml_name("sourceDestCheck");
  268    268   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_SRIOV_NET_SUPPORT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  269    269   
    ::aws_smithy_schema::ShapeId::from_static(
  270    270   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$SriovNetSupport",
  271    271   
        "com.amazonaws.ec2.synthetic",
  272    272   
        "DescribeInstanceAttributeOutput",
  273    273   
    ),
  274    274   
    ::aws_smithy_schema::ShapeType::Structure,
  275         -
    "sriov_net_support",
         275  +
    "SriovNetSupport",
  276    276   
    13,
  277    277   
)
  278    278   
.with_xml_name("sriovNetSupport");
  279    279   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_USER_DATA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  280    280   
    ::aws_smithy_schema::ShapeId::from_static(
  281    281   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$UserData",
  282    282   
        "com.amazonaws.ec2.synthetic",
  283    283   
        "DescribeInstanceAttributeOutput",
  284    284   
    ),
  285    285   
    ::aws_smithy_schema::ShapeType::Structure,
  286         -
    "user_data",
         286  +
    "UserData",
  287    287   
    14,
  288    288   
)
  289    289   
.with_xml_name("userData");
  290    290   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_DISABLE_API_STOP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  291    291   
    ::aws_smithy_schema::ShapeId::from_static(
  292    292   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$DisableApiStop",
  293    293   
        "com.amazonaws.ec2.synthetic",
  294    294   
        "DescribeInstanceAttributeOutput",
  295    295   
    ),
  296    296   
    ::aws_smithy_schema::ShapeType::Structure,
  297         -
    "disable_api_stop",
         297  +
    "DisableApiStop",
  298    298   
    15,
  299    299   
)
  300    300   
.with_xml_name("disableApiStop");
  301    301   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_GROUPS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  302    302   
    ::aws_smithy_schema::ShapeId::from_static(
  303    303   
        "com.amazonaws.ec2.synthetic#DescribeInstanceAttributeOutput$Groups",
  304    304   
        "com.amazonaws.ec2.synthetic",
  305    305   
        "DescribeInstanceAttributeOutput",
  306    306   
    ),
  307    307   
    ::aws_smithy_schema::ShapeType::List,
  308         -
    "groups",
         308  +
    "Groups",
  309    309   
    16,
  310    310   
)
  311    311   
.with_xml_name("groupSet");
         312  +
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
         313  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
         314  +
    ::aws_smithy_schema::ShapeType::String,
         315  +
    "request_id",
         316  +
    17,
         317  +
)
         318  +
.with_http_header("x-amzn-requestid");
  312    319   
static DESCRIBEINSTANCEATTRIBUTEOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  313    320   
    DESCRIBEINSTANCEATTRIBUTEOUTPUT_SCHEMA_ID,
  314    321   
    ::aws_smithy_schema::ShapeType::Structure,
  315    322   
    &[
  316    323   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_BLOCK_DEVICE_MAPPINGS,
  317    324   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_DISABLE_API_TERMINATION,
  318    325   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_ENA_SUPPORT,
  319    326   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_ENCLAVE_OPTIONS,
  320    327   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_EBS_OPTIMIZED,
  321    328   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_INSTANCE_ID,
  322    329   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_INSTANCE_INITIATED_SHUTDOWN_BEHAVIOR,
  323    330   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_INSTANCE_TYPE,
  324    331   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_KERNEL_ID,
  325    332   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_PRODUCT_CODES,
  326    333   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_RAMDISK_ID,
  327    334   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_ROOT_DEVICE_NAME,
  328    335   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_SOURCE_DEST_CHECK,
  329    336   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_SRIOV_NET_SUPPORT,
  330    337   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_USER_DATA,
  331    338   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_DISABLE_API_STOP,
  332    339   
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER_GROUPS,
         340  +
        &DESCRIBEINSTANCEATTRIBUTEOUTPUT_MEMBER__REQUEST_ID,
  333    341   
    ],
  334    342   
);
  335    343   
impl DescribeInstanceAttributeOutput {
  336    344   
    /// The schema for this shape.
  337    345   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &DESCRIBEINSTANCEATTRIBUTEOUTPUT_SCHEMA;
  338    346   
}
  339    347   
impl ::aws_smithy_schema::serde::SerializableStruct for DescribeInstanceAttributeOutput {
  340    348   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  341    349   
    fn serialize_members(
  342    350   
        &self,
@@ -395,403 +547,652 @@
  415    423   
                    }
  416    424   
                    Ok(())
  417    425   
                },
  418    426   
            )?;
  419    427   
        }
  420    428   
        Ok(())
  421    429   
    }
  422    430   
}
  423    431   
impl DescribeInstanceAttributeOutput {
  424    432   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  425         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  426         -
        deserializer: &mut D,
         433  +
    pub fn deserialize(
         434  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  427    435   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  428    436   
        #[allow(unused_variables, unused_mut)]
  429    437   
        let mut builder = Self::builder();
  430    438   
        #[allow(
  431    439   
            unused_variables,
  432    440   
            unreachable_code,
  433    441   
            clippy::single_match,
  434    442   
            clippy::match_single_binding,
  435    443   
            clippy::diverging_sub_expression
  436    444   
        )]
  437         -
        deserializer.read_struct(&DESCRIBEINSTANCEATTRIBUTEOUTPUT_SCHEMA, (), |_, member, deser| {
         445  +
        deserializer.read_struct(&DESCRIBEINSTANCEATTRIBUTEOUTPUT_SCHEMA, &mut |member, deser| {
  438    446   
            match member.member_index() {
  439    447   
                Some(0) => {
  440    448   
                    builder.block_device_mappings = Some({
  441         -
                        let container = if let Some(cap) = deser.container_size() {
  442         -
                            Vec::with_capacity(cap)
  443         -
                        } else {
  444         -
                            Vec::new()
  445         -
                        };
  446         -
                        deser.read_list(member, container, |mut list, deser| {
  447         -
                            list.push(crate::types::InstanceBlockDeviceMapping::deserialize(deser)?);
  448         -
                            Ok(list)
  449         -
                        })?
         449  +
                        let mut container = Vec::new();
         450  +
                        deser.read_list(member, &mut |deser| {
         451  +
                            container.push(crate::types::InstanceBlockDeviceMapping::deserialize(deser)?);
         452  +
                            Ok(())
         453  +
                        })?;
         454  +
                        container
  450    455   
                    });
  451    456   
                }
  452    457   
                Some(1) => {
  453    458   
                    builder.disable_api_termination = Some(crate::types::AttributeBooleanValue::deserialize(deser)?);
  454    459   
                }
  455    460   
                Some(2) => {
  456    461   
                    builder.ena_support = Some(crate::types::AttributeBooleanValue::deserialize(deser)?);
  457    462   
                }
  458    463   
                Some(3) => {
  459    464   
                    builder.enclave_options = Some(crate::types::EnclaveOptions::deserialize(deser)?);
  460    465   
                }
  461    466   
                Some(4) => {
  462    467   
                    builder.ebs_optimized = Some(crate::types::AttributeBooleanValue::deserialize(deser)?);
  463    468   
                }
  464    469   
                Some(5) => {
  465    470   
                    builder.instance_id = Some(deser.read_string(member)?);
  466    471   
                }
  467    472   
                Some(6) => {
  468    473   
                    builder.instance_initiated_shutdown_behavior = Some(crate::types::AttributeValue::deserialize(deser)?);
  469    474   
                }
  470    475   
                Some(7) => {
  471    476   
                    builder.instance_type = Some(crate::types::AttributeValue::deserialize(deser)?);
  472    477   
                }
  473    478   
                Some(8) => {
  474    479   
                    builder.kernel_id = Some(crate::types::AttributeValue::deserialize(deser)?);
  475    480   
                }
  476    481   
                Some(9) => {
  477    482   
                    builder.product_codes = Some({
  478         -
                        let container = if let Some(cap) = deser.container_size() {
  479         -
                            Vec::with_capacity(cap)
  480         -
                        } else {
  481         -
                            Vec::new()
  482         -
                        };
  483         -
                        deser.read_list(member, container, |mut list, deser| {
  484         -
                            list.push(crate::types::ProductCode::deserialize(deser)?);
  485         -
                            Ok(list)
  486         -
                        })?
         483  +
                        let mut container = Vec::new();
         484  +
                        deser.read_list(member, &mut |deser| {
         485  +
                            container.push(crate::types::ProductCode::deserialize(deser)?);
         486  +
                            Ok(())
         487  +
                        })?;
         488  +
                        container
  487    489   
                    });
  488    490   
                }
  489    491   
                Some(10) => {
  490    492   
                    builder.ramdisk_id = Some(crate::types::AttributeValue::deserialize(deser)?);
  491    493   
                }
  492    494   
                Some(11) => {
  493    495   
                    builder.root_device_name = Some(crate::types::AttributeValue::deserialize(deser)?);
  494    496   
                }
  495    497   
                Some(12) => {
  496    498   
                    builder.source_dest_check = Some(crate::types::AttributeBooleanValue::deserialize(deser)?);
  497    499   
                }
  498    500   
                Some(13) => {
  499    501   
                    builder.sriov_net_support = Some(crate::types::AttributeValue::deserialize(deser)?);
  500    502   
                }
  501    503   
                Some(14) => {
  502    504   
                    builder.user_data = Some(crate::types::AttributeValue::deserialize(deser)?);
  503    505   
                }
  504    506   
                Some(15) => {
  505    507   
                    builder.disable_api_stop = Some(crate::types::AttributeBooleanValue::deserialize(deser)?);
  506    508   
                }
  507    509   
                Some(16) => {
  508    510   
                    builder.groups = Some({
  509         -
                        let container = if let Some(cap) = deser.container_size() {
  510         -
                            Vec::with_capacity(cap)
  511         -
                        } else {
  512         -
                            Vec::new()
  513         -
                        };
  514         -
                        deser.read_list(member, container, |mut list, deser| {
  515         -
                            list.push(crate::types::GroupIdentifier::deserialize(deser)?);
  516         -
                            Ok(list)
  517         -
                        })?
         511  +
                        let mut container = Vec::new();
         512  +
                        deser.read_list(member, &mut |deser| {
         513  +
                            container.push(crate::types::GroupIdentifier::deserialize(deser)?);
         514  +
                            Ok(())
         515  +
                        })?;
         516  +
                        container
         517  +
                    });
         518  +
                }
         519  +
                Some(17) => {
         520  +
                    builder._request_id = Some(deser.read_string(member)?);
         521  +
                }
         522  +
                _ => {}
         523  +
            }
         524  +
            Ok(())
         525  +
        })?;
         526  +
        Ok(builder.build())
         527  +
    }
         528  +
}
         529  +
impl DescribeInstanceAttributeOutput {
         530  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         531  +
    /// Header-bound members are read directly from headers, avoiding runtime
         532  +
    /// member iteration overhead. Body members are read via the deserializer.
         533  +
    pub fn deserialize_with_response(
         534  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         535  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         536  +
        _status: u16,
         537  +
        _body: &[u8],
         538  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         539  +
        #[allow(unused_variables, unused_mut)]
         540  +
        let mut builder = Self::builder();
         541  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         542  +
            builder._request_id = Some(val.to_string());
         543  +
        }
         544  +
        #[allow(
         545  +
            unused_variables,
         546  +
            unreachable_code,
         547  +
            clippy::single_match,
         548  +
            clippy::match_single_binding,
         549  +
            clippy::diverging_sub_expression
         550  +
        )]
         551  +
        deserializer.read_struct(&DESCRIBEINSTANCEATTRIBUTEOUTPUT_SCHEMA, &mut |member, deser| {
         552  +
            match member.member_index() {
         553  +
                Some(0) => {
         554  +
                    builder.block_device_mappings = Some({
         555  +
                        let mut container = Vec::new();
         556  +
                        deser.read_list(member, &mut |deser| {
         557  +
                            container.push(crate::types::InstanceBlockDeviceMapping::deserialize(deser)?);
         558  +
                            Ok(())
         559  +
                        })?;
         560  +
                        container
         561  +
                    });
         562  +
                }
         563  +
                Some(1) => {
         564  +
                    builder.disable_api_termination = Some(crate::types::AttributeBooleanValue::deserialize(deser)?);
         565  +
                }
         566  +
                Some(2) => {
         567  +
                    builder.ena_support = Some(crate::types::AttributeBooleanValue::deserialize(deser)?);
         568  +
                }
         569  +
                Some(3) => {
         570  +
                    builder.enclave_options = Some(crate::types::EnclaveOptions::deserialize(deser)?);
         571  +
                }
         572  +
                Some(4) => {
         573  +
                    builder.ebs_optimized = Some(crate::types::AttributeBooleanValue::deserialize(deser)?);
         574  +
                }
         575  +
                Some(5) => {
         576  +
                    builder.instance_id = Some(deser.read_string(member)?);
         577  +
                }
         578  +
                Some(6) => {
         579  +
                    builder.instance_initiated_shutdown_behavior = Some(crate::types::AttributeValue::deserialize(deser)?);
         580  +
                }
         581  +
                Some(7) => {
         582  +
                    builder.instance_type = Some(crate::types::AttributeValue::deserialize(deser)?);
         583  +
                }
         584  +
                Some(8) => {
         585  +
                    builder.kernel_id = Some(crate::types::AttributeValue::deserialize(deser)?);
         586  +
                }
         587  +
                Some(9) => {
         588  +
                    builder.product_codes = Some({
         589  +
                        let mut container = Vec::new();
         590  +
                        deser.read_list(member, &mut |deser| {
         591  +
                            container.push(crate::types::ProductCode::deserialize(deser)?);
         592  +
                            Ok(())
         593  +
                        })?;
         594  +
                        container
         595  +
                    });
         596  +
                }
         597  +
                Some(10) => {
         598  +
                    builder.ramdisk_id = Some(crate::types::AttributeValue::deserialize(deser)?);
         599  +
                }
         600  +
                Some(11) => {
         601  +
                    builder.root_device_name = Some(crate::types::AttributeValue::deserialize(deser)?);
         602  +
                }
         603  +
                Some(12) => {
         604  +
                    builder.source_dest_check = Some(crate::types::AttributeBooleanValue::deserialize(deser)?);
         605  +
                }
         606  +
                Some(13) => {
         607  +
                    builder.sriov_net_support = Some(crate::types::AttributeValue::deserialize(deser)?);
         608  +
                }
         609  +
                Some(14) => {
         610  +
                    builder.user_data = Some(crate::types::AttributeValue::deserialize(deser)?);
         611  +
                }
         612  +
                Some(15) => {
         613  +
                    builder.disable_api_stop = Some(crate::types::AttributeBooleanValue::deserialize(deser)?);
         614  +
                }
         615  +
                Some(16) => {
         616  +
                    builder.groups = Some({
         617  +
                        let mut container = Vec::new();
         618  +
                        deser.read_list(member, &mut |deser| {
         619  +
                            container.push(crate::types::GroupIdentifier::deserialize(deser)?);
         620  +
                            Ok(())
         621  +
                        })?;
         622  +
                        container
  518    623   
                    });
  519    624   
                }
  520    625   
                _ => {}
  521    626   
            }
  522    627   
            Ok(())
  523    628   
        })?;
  524    629   
        Ok(builder.build())
  525    630   
    }
  526    631   
}
  527    632   
impl ::aws_types::request_id::RequestId for DescribeInstanceAttributeOutput {