AWS SDK

AWS SDK

rev. 163d4d6410694aaf071424777ecbecd050925f36 (ignoring whitespace)

Files changed:

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_fleet/_create_fleet_input.rs

@@ -105,105 +296,296 @@
  125    125   
    "com.amazonaws.ec2.synthetic",
  126    126   
    "CreateFleetInput",
  127    127   
);
  128    128   
static CREATEFLEETINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  129    129   
    ::aws_smithy_schema::ShapeId::from_static(
  130    130   
        "com.amazonaws.ec2.synthetic#CreateFleetInput$DryRun",
  131    131   
        "com.amazonaws.ec2.synthetic",
  132    132   
        "CreateFleetInput",
  133    133   
    ),
  134    134   
    ::aws_smithy_schema::ShapeType::Boolean,
  135         -
    "dry_run",
         135  +
    "DryRun",
  136    136   
    0,
  137    137   
);
  138    138   
static CREATEFLEETINPUT_MEMBER_CLIENT_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  139    139   
    ::aws_smithy_schema::ShapeId::from_static(
  140    140   
        "com.amazonaws.ec2.synthetic#CreateFleetInput$ClientToken",
  141    141   
        "com.amazonaws.ec2.synthetic",
  142    142   
        "CreateFleetInput",
  143    143   
    ),
  144    144   
    ::aws_smithy_schema::ShapeType::String,
  145         -
    "client_token",
         145  +
    "ClientToken",
  146    146   
    1,
  147    147   
);
  148    148   
static CREATEFLEETINPUT_MEMBER_SPOT_OPTIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  149    149   
    ::aws_smithy_schema::ShapeId::from_static(
  150    150   
        "com.amazonaws.ec2.synthetic#CreateFleetInput$SpotOptions",
  151    151   
        "com.amazonaws.ec2.synthetic",
  152    152   
        "CreateFleetInput",
  153    153   
    ),
  154    154   
    ::aws_smithy_schema::ShapeType::Structure,
  155         -
    "spot_options",
         155  +
    "SpotOptions",
  156    156   
    2,
  157    157   
);
  158    158   
static CREATEFLEETINPUT_MEMBER_ON_DEMAND_OPTIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  159    159   
    ::aws_smithy_schema::ShapeId::from_static(
  160    160   
        "com.amazonaws.ec2.synthetic#CreateFleetInput$OnDemandOptions",
  161    161   
        "com.amazonaws.ec2.synthetic",
  162    162   
        "CreateFleetInput",
  163    163   
    ),
  164    164   
    ::aws_smithy_schema::ShapeType::Structure,
  165         -
    "on_demand_options",
         165  +
    "OnDemandOptions",
  166    166   
    3,
  167    167   
);
  168    168   
static CREATEFLEETINPUT_MEMBER_EXCESS_CAPACITY_TERMINATION_POLICY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  169    169   
    ::aws_smithy_schema::ShapeId::from_static(
  170    170   
        "com.amazonaws.ec2.synthetic#CreateFleetInput$ExcessCapacityTerminationPolicy",
  171    171   
        "com.amazonaws.ec2.synthetic",
  172    172   
        "CreateFleetInput",
  173    173   
    ),
  174    174   
    ::aws_smithy_schema::ShapeType::String,
  175         -
    "excess_capacity_termination_policy",
         175  +
    "ExcessCapacityTerminationPolicy",
  176    176   
    4,
  177    177   
);
  178    178   
static CREATEFLEETINPUT_MEMBER_LAUNCH_TEMPLATE_CONFIGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  179    179   
    ::aws_smithy_schema::ShapeId::from_static(
  180    180   
        "com.amazonaws.ec2.synthetic#CreateFleetInput$LaunchTemplateConfigs",
  181    181   
        "com.amazonaws.ec2.synthetic",
  182    182   
        "CreateFleetInput",
  183    183   
    ),
  184    184   
    ::aws_smithy_schema::ShapeType::List,
  185         -
    "launch_template_configs",
         185  +
    "LaunchTemplateConfigs",
  186    186   
    5,
  187    187   
);
  188    188   
static CREATEFLEETINPUT_MEMBER_TARGET_CAPACITY_SPECIFICATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  189    189   
    ::aws_smithy_schema::ShapeId::from_static(
  190    190   
        "com.amazonaws.ec2.synthetic#CreateFleetInput$TargetCapacitySpecification",
  191    191   
        "com.amazonaws.ec2.synthetic",
  192    192   
        "CreateFleetInput",
  193    193   
    ),
  194    194   
    ::aws_smithy_schema::ShapeType::Structure,
  195         -
    "target_capacity_specification",
         195  +
    "TargetCapacitySpecification",
  196    196   
    6,
  197    197   
);
  198    198   
static CREATEFLEETINPUT_MEMBER_TERMINATE_INSTANCES_WITH_EXPIRATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  199    199   
    ::aws_smithy_schema::ShapeId::from_static(
  200    200   
        "com.amazonaws.ec2.synthetic#CreateFleetInput$TerminateInstancesWithExpiration",
  201    201   
        "com.amazonaws.ec2.synthetic",
  202    202   
        "CreateFleetInput",
  203    203   
    ),
  204    204   
    ::aws_smithy_schema::ShapeType::Boolean,
  205         -
    "terminate_instances_with_expiration",
         205  +
    "TerminateInstancesWithExpiration",
  206    206   
    7,
  207    207   
);
  208    208   
static CREATEFLEETINPUT_MEMBER_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  209    209   
    ::aws_smithy_schema::ShapeId::from_static(
  210    210   
        "com.amazonaws.ec2.synthetic#CreateFleetInput$Type",
  211    211   
        "com.amazonaws.ec2.synthetic",
  212    212   
        "CreateFleetInput",
  213    213   
    ),
  214    214   
    ::aws_smithy_schema::ShapeType::String,
  215         -
    "r##type",
         215  +
    "Type",
  216    216   
    8,
  217    217   
);
  218    218   
static CREATEFLEETINPUT_MEMBER_VALID_FROM: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  219    219   
    ::aws_smithy_schema::ShapeId::from_static(
  220    220   
        "com.amazonaws.ec2.synthetic#CreateFleetInput$ValidFrom",
  221    221   
        "com.amazonaws.ec2.synthetic",
  222    222   
        "CreateFleetInput",
  223    223   
    ),
  224    224   
    ::aws_smithy_schema::ShapeType::Timestamp,
  225         -
    "valid_from",
         225  +
    "ValidFrom",
  226    226   
    9,
  227    227   
);
  228    228   
static CREATEFLEETINPUT_MEMBER_VALID_UNTIL: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  229    229   
    ::aws_smithy_schema::ShapeId::from_static(
  230    230   
        "com.amazonaws.ec2.synthetic#CreateFleetInput$ValidUntil",
  231    231   
        "com.amazonaws.ec2.synthetic",
  232    232   
        "CreateFleetInput",
  233    233   
    ),
  234    234   
    ::aws_smithy_schema::ShapeType::Timestamp,
  235         -
    "valid_until",
         235  +
    "ValidUntil",
  236    236   
    10,
  237    237   
);
  238    238   
static CREATEFLEETINPUT_MEMBER_REPLACE_UNHEALTHY_INSTANCES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  239    239   
    ::aws_smithy_schema::ShapeId::from_static(
  240    240   
        "com.amazonaws.ec2.synthetic#CreateFleetInput$ReplaceUnhealthyInstances",
  241    241   
        "com.amazonaws.ec2.synthetic",
  242    242   
        "CreateFleetInput",
  243    243   
    ),
  244    244   
    ::aws_smithy_schema::ShapeType::Boolean,
  245         -
    "replace_unhealthy_instances",
         245  +
    "ReplaceUnhealthyInstances",
  246    246   
    11,
  247    247   
);
  248    248   
static CREATEFLEETINPUT_MEMBER_TAG_SPECIFICATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  249    249   
    ::aws_smithy_schema::ShapeId::from_static(
  250    250   
        "com.amazonaws.ec2.synthetic#CreateFleetInput$TagSpecifications",
  251    251   
        "com.amazonaws.ec2.synthetic",
  252    252   
        "CreateFleetInput",
  253    253   
    ),
  254    254   
    ::aws_smithy_schema::ShapeType::List,
  255         -
    "tag_specifications",
         255  +
    "TagSpecifications",
  256    256   
    12,
  257    257   
)
  258    258   
.with_xml_name("TagSpecification");
  259    259   
static CREATEFLEETINPUT_MEMBER_CONTEXT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  260    260   
    ::aws_smithy_schema::ShapeId::from_static(
  261    261   
        "com.amazonaws.ec2.synthetic#CreateFleetInput$Context",
  262    262   
        "com.amazonaws.ec2.synthetic",
  263    263   
        "CreateFleetInput",
  264    264   
    ),
  265    265   
    ::aws_smithy_schema::ShapeType::String,
  266         -
    "context",
         266  +
    "Context",
  267    267   
    13,
  268    268   
);
  269    269   
static CREATEFLEETINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  270    270   
    CREATEFLEETINPUT_SCHEMA_ID,
  271    271   
    ::aws_smithy_schema::ShapeType::Structure,
  272    272   
    &[
  273    273   
        &CREATEFLEETINPUT_MEMBER_DRY_RUN,
  274    274   
        &CREATEFLEETINPUT_MEMBER_CLIENT_TOKEN,
  275    275   
        &CREATEFLEETINPUT_MEMBER_SPOT_OPTIONS,
  276    276   
        &CREATEFLEETINPUT_MEMBER_ON_DEMAND_OPTIONS,
@@ -332,332 +478,484 @@
  352    352   
            )?;
  353    353   
        }
  354    354   
        if let Some(ref val) = self.context {
  355    355   
            ser.write_string(&CREATEFLEETINPUT_MEMBER_CONTEXT, val)?;
  356    356   
        }
  357    357   
        Ok(())
  358    358   
    }
  359    359   
}
  360    360   
impl CreateFleetInput {
  361    361   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  362         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  363         -
        deserializer: &mut D,
         362  +
    pub fn deserialize(
         363  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  364    364   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  365    365   
        #[allow(unused_variables, unused_mut)]
  366    366   
        let mut builder = Self::builder();
  367    367   
        #[allow(
  368    368   
            unused_variables,
  369    369   
            unreachable_code,
  370    370   
            clippy::single_match,
  371    371   
            clippy::match_single_binding,
  372    372   
            clippy::diverging_sub_expression
  373    373   
        )]
  374         -
        deserializer.read_struct(&CREATEFLEETINPUT_SCHEMA, (), |_, member, deser| {
         374  +
        deserializer.read_struct(&CREATEFLEETINPUT_SCHEMA, &mut |member, deser| {
  375    375   
            match member.member_index() {
  376    376   
                Some(0) => {
  377    377   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  378    378   
                }
  379    379   
                Some(1) => {
  380    380   
                    builder.client_token = Some(deser.read_string(member)?);
  381    381   
                }
  382    382   
                Some(2) => {
  383    383   
                    builder.spot_options = Some(crate::types::SpotOptionsRequest::deserialize(deser)?);
  384    384   
                }
  385    385   
                Some(3) => {
  386    386   
                    builder.on_demand_options = Some(crate::types::OnDemandOptionsRequest::deserialize(deser)?);
  387    387   
                }
  388    388   
                Some(4) => {
  389    389   
                    builder.excess_capacity_termination_policy = Some(crate::types::FleetExcessCapacityTerminationPolicy::from(
  390    390   
                        deser.read_string(member)?.as_str(),
  391    391   
                    ));
  392    392   
                }
  393    393   
                Some(5) => {
  394    394   
                    builder.launch_template_configs = Some({
  395         -
                        let container = if let Some(cap) = deser.container_size() {
  396         -
                            Vec::with_capacity(cap)
  397         -
                        } else {
  398         -
                            Vec::new()
  399         -
                        };
  400         -
                        deser.read_list(member, container, |mut list, deser| {
  401         -
                            list.push(crate::types::FleetLaunchTemplateConfigRequest::deserialize(deser)?);
  402         -
                            Ok(list)
  403         -
                        })?
         395  +
                        let mut container = Vec::new();
         396  +
                        deser.read_list(member, &mut |deser| {
         397  +
                            container.push(crate::types::FleetLaunchTemplateConfigRequest::deserialize(deser)?);
         398  +
                            Ok(())
         399  +
                        })?;
         400  +
                        container
  404    401   
                    });
  405    402   
                }
  406    403   
                Some(6) => {
  407    404   
                    builder.target_capacity_specification = Some(crate::types::TargetCapacitySpecificationRequest::deserialize(deser)?);
  408    405   
                }
  409    406   
                Some(7) => {
  410    407   
                    builder.terminate_instances_with_expiration = Some(deser.read_boolean(member)?);
  411    408   
                }
  412    409   
                Some(8) => {
  413    410   
                    builder.r#type = Some(crate::types::FleetType::from(deser.read_string(member)?.as_str()));
  414    411   
                }
  415    412   
                Some(9) => {
  416    413   
                    builder.valid_from = Some(deser.read_timestamp(member)?);
  417    414   
                }
  418    415   
                Some(10) => {
  419    416   
                    builder.valid_until = Some(deser.read_timestamp(member)?);
  420    417   
                }
  421    418   
                Some(11) => {
  422    419   
                    builder.replace_unhealthy_instances = Some(deser.read_boolean(member)?);
  423    420   
                }
  424    421   
                Some(12) => {
  425    422   
                    builder.tag_specifications = Some({
  426         -
                        let container = if let Some(cap) = deser.container_size() {
  427         -
                            Vec::with_capacity(cap)
  428         -
                        } else {
  429         -
                            Vec::new()
  430         -
                        };
  431         -
                        deser.read_list(member, container, |mut list, deser| {
  432         -
                            list.push(crate::types::TagSpecification::deserialize(deser)?);
  433         -
                            Ok(list)
  434         -
                        })?
         423  +
                        let mut container = Vec::new();
         424  +
                        deser.read_list(member, &mut |deser| {
         425  +
                            container.push(crate::types::TagSpecification::deserialize(deser)?);
         426  +
                            Ok(())
         427  +
                        })?;
         428  +
                        container
  435    429   
                    });
  436    430   
                }
  437    431   
                Some(13) => {
  438    432   
                    builder.context = Some(deser.read_string(member)?);
  439    433   
                }
  440    434   
                _ => {}
  441    435   
            }
  442    436   
            Ok(())
  443    437   
        })?;
         438  +
        builder.launch_template_configs = builder.launch_template_configs.or(Some(Vec::new()));
  444    439   
        builder
  445    440   
            .build()
  446    441   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  447    442   
    }
  448    443   
}
         444  +
impl CreateFleetInput {
         445  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         446  +
    pub fn deserialize_with_response(
         447  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         448  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         449  +
        _status: u16,
         450  +
        _body: &[u8],
         451  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         452  +
        Self::deserialize(deserializer)
         453  +
    }
         454  +
}
  449    455   
impl CreateFleetInput {
  450    456   
    /// Creates a new builder-style object to manufacture [`CreateFleetInput`](crate::operation::create_fleet::CreateFleetInput).
  451    457   
    pub fn builder() -> crate::operation::create_fleet::builders::CreateFleetInputBuilder {
  452    458   
        crate::operation::create_fleet::builders::CreateFleetInputBuilder::default()
  453    459   
    }
  454    460   
}
  455    461   
  456    462   
/// A builder for [`CreateFleetInput`](crate::operation::create_fleet::CreateFleetInput).
  457    463   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  458    464   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_fleet/_create_fleet_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_flow_logs/_create_flow_logs_input.rs

@@ -119,119 +311,311 @@
  139    139   
    "com.amazonaws.ec2.synthetic",
  140    140   
    "CreateFlowLogsInput",
  141    141   
);
  142    142   
static CREATEFLOWLOGSINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  143    143   
    ::aws_smithy_schema::ShapeId::from_static(
  144    144   
        "com.amazonaws.ec2.synthetic#CreateFlowLogsInput$DryRun",
  145    145   
        "com.amazonaws.ec2.synthetic",
  146    146   
        "CreateFlowLogsInput",
  147    147   
    ),
  148    148   
    ::aws_smithy_schema::ShapeType::Boolean,
  149         -
    "dry_run",
         149  +
    "DryRun",
  150    150   
    0,
  151    151   
);
  152    152   
static CREATEFLOWLOGSINPUT_MEMBER_CLIENT_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  153    153   
    ::aws_smithy_schema::ShapeId::from_static(
  154    154   
        "com.amazonaws.ec2.synthetic#CreateFlowLogsInput$ClientToken",
  155    155   
        "com.amazonaws.ec2.synthetic",
  156    156   
        "CreateFlowLogsInput",
  157    157   
    ),
  158    158   
    ::aws_smithy_schema::ShapeType::String,
  159         -
    "client_token",
         159  +
    "ClientToken",
  160    160   
    1,
  161    161   
);
  162    162   
static CREATEFLOWLOGSINPUT_MEMBER_DELIVER_LOGS_PERMISSION_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  163    163   
    ::aws_smithy_schema::ShapeId::from_static(
  164    164   
        "com.amazonaws.ec2.synthetic#CreateFlowLogsInput$DeliverLogsPermissionArn",
  165    165   
        "com.amazonaws.ec2.synthetic",
  166    166   
        "CreateFlowLogsInput",
  167    167   
    ),
  168    168   
    ::aws_smithy_schema::ShapeType::String,
  169         -
    "deliver_logs_permission_arn",
         169  +
    "DeliverLogsPermissionArn",
  170    170   
    2,
  171    171   
);
  172    172   
static CREATEFLOWLOGSINPUT_MEMBER_DELIVER_CROSS_ACCOUNT_ROLE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  173    173   
    ::aws_smithy_schema::ShapeId::from_static(
  174    174   
        "com.amazonaws.ec2.synthetic#CreateFlowLogsInput$DeliverCrossAccountRole",
  175    175   
        "com.amazonaws.ec2.synthetic",
  176    176   
        "CreateFlowLogsInput",
  177    177   
    ),
  178    178   
    ::aws_smithy_schema::ShapeType::String,
  179         -
    "deliver_cross_account_role",
         179  +
    "DeliverCrossAccountRole",
  180    180   
    3,
  181    181   
);
  182    182   
static CREATEFLOWLOGSINPUT_MEMBER_LOG_GROUP_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  183    183   
    ::aws_smithy_schema::ShapeId::from_static(
  184    184   
        "com.amazonaws.ec2.synthetic#CreateFlowLogsInput$LogGroupName",
  185    185   
        "com.amazonaws.ec2.synthetic",
  186    186   
        "CreateFlowLogsInput",
  187    187   
    ),
  188    188   
    ::aws_smithy_schema::ShapeType::String,
  189         -
    "log_group_name",
         189  +
    "LogGroupName",
  190    190   
    4,
  191    191   
);
  192    192   
static CREATEFLOWLOGSINPUT_MEMBER_RESOURCE_IDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  193    193   
    ::aws_smithy_schema::ShapeId::from_static(
  194    194   
        "com.amazonaws.ec2.synthetic#CreateFlowLogsInput$ResourceIds",
  195    195   
        "com.amazonaws.ec2.synthetic",
  196    196   
        "CreateFlowLogsInput",
  197    197   
    ),
  198    198   
    ::aws_smithy_schema::ShapeType::List,
  199         -
    "resource_ids",
         199  +
    "ResourceIds",
  200    200   
    5,
  201    201   
)
  202    202   
.with_xml_name("ResourceId");
  203    203   
static CREATEFLOWLOGSINPUT_MEMBER_RESOURCE_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  204    204   
    ::aws_smithy_schema::ShapeId::from_static(
  205    205   
        "com.amazonaws.ec2.synthetic#CreateFlowLogsInput$ResourceType",
  206    206   
        "com.amazonaws.ec2.synthetic",
  207    207   
        "CreateFlowLogsInput",
  208    208   
    ),
  209    209   
    ::aws_smithy_schema::ShapeType::String,
  210         -
    "resource_type",
         210  +
    "ResourceType",
  211    211   
    6,
  212    212   
);
  213    213   
static CREATEFLOWLOGSINPUT_MEMBER_TRAFFIC_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  214    214   
    ::aws_smithy_schema::ShapeId::from_static(
  215    215   
        "com.amazonaws.ec2.synthetic#CreateFlowLogsInput$TrafficType",
  216    216   
        "com.amazonaws.ec2.synthetic",
  217    217   
        "CreateFlowLogsInput",
  218    218   
    ),
  219    219   
    ::aws_smithy_schema::ShapeType::String,
  220         -
    "traffic_type",
         220  +
    "TrafficType",
  221    221   
    7,
  222    222   
);
  223    223   
static CREATEFLOWLOGSINPUT_MEMBER_LOG_DESTINATION_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  224    224   
    ::aws_smithy_schema::ShapeId::from_static(
  225    225   
        "com.amazonaws.ec2.synthetic#CreateFlowLogsInput$LogDestinationType",
  226    226   
        "com.amazonaws.ec2.synthetic",
  227    227   
        "CreateFlowLogsInput",
  228    228   
    ),
  229    229   
    ::aws_smithy_schema::ShapeType::String,
  230         -
    "log_destination_type",
         230  +
    "LogDestinationType",
  231    231   
    8,
  232    232   
);
  233    233   
static CREATEFLOWLOGSINPUT_MEMBER_LOG_DESTINATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  234    234   
    ::aws_smithy_schema::ShapeId::from_static(
  235    235   
        "com.amazonaws.ec2.synthetic#CreateFlowLogsInput$LogDestination",
  236    236   
        "com.amazonaws.ec2.synthetic",
  237    237   
        "CreateFlowLogsInput",
  238    238   
    ),
  239    239   
    ::aws_smithy_schema::ShapeType::String,
  240         -
    "log_destination",
         240  +
    "LogDestination",
  241    241   
    9,
  242    242   
);
  243    243   
static CREATEFLOWLOGSINPUT_MEMBER_LOG_FORMAT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  244    244   
    ::aws_smithy_schema::ShapeId::from_static(
  245    245   
        "com.amazonaws.ec2.synthetic#CreateFlowLogsInput$LogFormat",
  246    246   
        "com.amazonaws.ec2.synthetic",
  247    247   
        "CreateFlowLogsInput",
  248    248   
    ),
  249    249   
    ::aws_smithy_schema::ShapeType::String,
  250         -
    "log_format",
         250  +
    "LogFormat",
  251    251   
    10,
  252    252   
);
  253    253   
static CREATEFLOWLOGSINPUT_MEMBER_TAG_SPECIFICATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  254    254   
    ::aws_smithy_schema::ShapeId::from_static(
  255    255   
        "com.amazonaws.ec2.synthetic#CreateFlowLogsInput$TagSpecifications",
  256    256   
        "com.amazonaws.ec2.synthetic",
  257    257   
        "CreateFlowLogsInput",
  258    258   
    ),
  259    259   
    ::aws_smithy_schema::ShapeType::List,
  260         -
    "tag_specifications",
         260  +
    "TagSpecifications",
  261    261   
    11,
  262    262   
)
  263    263   
.with_xml_name("TagSpecification");
  264    264   
static CREATEFLOWLOGSINPUT_MEMBER_MAX_AGGREGATION_INTERVAL: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  265    265   
    ::aws_smithy_schema::ShapeId::from_static(
  266    266   
        "com.amazonaws.ec2.synthetic#CreateFlowLogsInput$MaxAggregationInterval",
  267    267   
        "com.amazonaws.ec2.synthetic",
  268    268   
        "CreateFlowLogsInput",
  269    269   
    ),
  270    270   
    ::aws_smithy_schema::ShapeType::Integer,
  271         -
    "max_aggregation_interval",
         271  +
    "MaxAggregationInterval",
  272    272   
    12,
  273    273   
);
  274    274   
static CREATEFLOWLOGSINPUT_MEMBER_DESTINATION_OPTIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  275    275   
    ::aws_smithy_schema::ShapeId::from_static(
  276    276   
        "com.amazonaws.ec2.synthetic#CreateFlowLogsInput$DestinationOptions",
  277    277   
        "com.amazonaws.ec2.synthetic",
  278    278   
        "CreateFlowLogsInput",
  279    279   
    ),
  280    280   
    ::aws_smithy_schema::ShapeType::Structure,
  281         -
    "destination_options",
         281  +
    "DestinationOptions",
  282    282   
    13,
  283    283   
);
  284    284   
static CREATEFLOWLOGSINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  285    285   
    CREATEFLOWLOGSINPUT_SCHEMA_ID,
  286    286   
    ::aws_smithy_schema::ShapeType::Structure,
  287    287   
    &[
  288    288   
        &CREATEFLOWLOGSINPUT_MEMBER_DRY_RUN,
  289    289   
        &CREATEFLOWLOGSINPUT_MEMBER_CLIENT_TOKEN,
  290    290   
        &CREATEFLOWLOGSINPUT_MEMBER_DELIVER_LOGS_PERMISSION_ARN,
  291    291   
        &CREATEFLOWLOGSINPUT_MEMBER_DELIVER_CROSS_ACCOUNT_ROLE,
@@ -347,347 +491,490 @@
  367    367   
            ser.write_integer(&CREATEFLOWLOGSINPUT_MEMBER_MAX_AGGREGATION_INTERVAL, *val)?;
  368    368   
        }
  369    369   
        if let Some(ref val) = self.destination_options {
  370    370   
            ser.write_struct(&CREATEFLOWLOGSINPUT_MEMBER_DESTINATION_OPTIONS, val)?;
  371    371   
        }
  372    372   
        Ok(())
  373    373   
    }
  374    374   
}
  375    375   
impl CreateFlowLogsInput {
  376    376   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  377         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  378         -
        deserializer: &mut D,
         377  +
    pub fn deserialize(
         378  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  379    379   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  380    380   
        #[allow(unused_variables, unused_mut)]
  381    381   
        let mut builder = Self::builder();
  382    382   
        #[allow(
  383    383   
            unused_variables,
  384    384   
            unreachable_code,
  385    385   
            clippy::single_match,
  386    386   
            clippy::match_single_binding,
  387    387   
            clippy::diverging_sub_expression
  388    388   
        )]
  389         -
        deserializer.read_struct(&CREATEFLOWLOGSINPUT_SCHEMA, (), |_, member, deser| {
         389  +
        deserializer.read_struct(&CREATEFLOWLOGSINPUT_SCHEMA, &mut |member, deser| {
  390    390   
            match member.member_index() {
  391    391   
                Some(0) => {
  392    392   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  393    393   
                }
  394    394   
                Some(1) => {
  395    395   
                    builder.client_token = Some(deser.read_string(member)?);
  396    396   
                }
  397    397   
                Some(2) => {
  398    398   
                    builder.deliver_logs_permission_arn = Some(deser.read_string(member)?);
  399    399   
                }
  400    400   
                Some(3) => {
  401    401   
                    builder.deliver_cross_account_role = Some(deser.read_string(member)?);
  402    402   
                }
  403    403   
                Some(4) => {
  404    404   
                    builder.log_group_name = Some(deser.read_string(member)?);
  405    405   
                }
  406    406   
                Some(5) => {
  407         -
                    builder.resource_ids = Some({
  408         -
                        let container = if let Some(cap) = deser.container_size() {
  409         -
                            Vec::with_capacity(cap)
  410         -
                        } else {
  411         -
                            Vec::new()
  412         -
                        };
  413         -
                        deser.read_list(member, container, |mut list, deser| {
  414         -
                            list.push(deser.read_string(member)?);
  415         -
                            Ok(list)
  416         -
                        })?
  417         -
                    });
         407  +
                    builder.resource_ids = Some(deser.read_string_list(member)?);
  418    408   
                }
  419    409   
                Some(6) => {
  420    410   
                    builder.resource_type = Some(crate::types::FlowLogsResourceType::from(deser.read_string(member)?.as_str()));
  421    411   
                }
  422    412   
                Some(7) => {
  423    413   
                    builder.traffic_type = Some(crate::types::TrafficType::from(deser.read_string(member)?.as_str()));
  424    414   
                }
  425    415   
                Some(8) => {
  426    416   
                    builder.log_destination_type = Some(crate::types::LogDestinationType::from(deser.read_string(member)?.as_str()));
  427    417   
                }
  428    418   
                Some(9) => {
  429    419   
                    builder.log_destination = Some(deser.read_string(member)?);
  430    420   
                }
  431    421   
                Some(10) => {
  432    422   
                    builder.log_format = Some(deser.read_string(member)?);
  433    423   
                }
  434    424   
                Some(11) => {
  435    425   
                    builder.tag_specifications = Some({
  436         -
                        let container = if let Some(cap) = deser.container_size() {
  437         -
                            Vec::with_capacity(cap)
  438         -
                        } else {
  439         -
                            Vec::new()
  440         -
                        };
  441         -
                        deser.read_list(member, container, |mut list, deser| {
  442         -
                            list.push(crate::types::TagSpecification::deserialize(deser)?);
  443         -
                            Ok(list)
  444         -
                        })?
         426  +
                        let mut container = Vec::new();
         427  +
                        deser.read_list(member, &mut |deser| {
         428  +
                            container.push(crate::types::TagSpecification::deserialize(deser)?);
         429  +
                            Ok(())
         430  +
                        })?;
         431  +
                        container
  445    432   
                    });
  446    433   
                }
  447    434   
                Some(12) => {
  448    435   
                    builder.max_aggregation_interval = Some(deser.read_integer(member)?);
  449    436   
                }
  450    437   
                Some(13) => {
  451    438   
                    builder.destination_options = Some(crate::types::DestinationOptionsRequest::deserialize(deser)?);
  452    439   
                }
  453    440   
                _ => {}
  454    441   
            }
  455    442   
            Ok(())
  456    443   
        })?;
         444  +
        builder.resource_ids = builder.resource_ids.or(Some(Vec::new()));
  457    445   
        builder
  458    446   
            .build()
  459    447   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  460    448   
    }
  461    449   
}
         450  +
impl CreateFlowLogsInput {
         451  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         452  +
    pub fn deserialize_with_response(
         453  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         454  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         455  +
        _status: u16,
         456  +
        _body: &[u8],
         457  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         458  +
        Self::deserialize(deserializer)
         459  +
    }
         460  +
}
  462    461   
impl CreateFlowLogsInput {
  463    462   
    /// Creates a new builder-style object to manufacture [`CreateFlowLogsInput`](crate::operation::create_flow_logs::CreateFlowLogsInput).
  464    463   
    pub fn builder() -> crate::operation::create_flow_logs::builders::CreateFlowLogsInputBuilder {
  465    464   
        crate::operation::create_flow_logs::builders::CreateFlowLogsInputBuilder::default()
  466    465   
    }
  467    466   
}
  468    467   
  469    468   
/// A builder for [`CreateFlowLogsInput`](crate::operation::create_flow_logs::CreateFlowLogsInput).
  470    469   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  471    470   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_flow_logs/_create_flow_logs_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_fpga_image/_create_fpga_image_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_fpga_image/_create_fpga_image_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_image/_create_image_input.rs

@@ -113,113 +249,249 @@
  133    133   
    "com.amazonaws.ec2.synthetic",
  134    134   
    "CreateImageInput",
  135    135   
);
  136    136   
static CREATEIMAGEINPUT_MEMBER_TAG_SPECIFICATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  137    137   
    ::aws_smithy_schema::ShapeId::from_static(
  138    138   
        "com.amazonaws.ec2.synthetic#CreateImageInput$TagSpecifications",
  139    139   
        "com.amazonaws.ec2.synthetic",
  140    140   
        "CreateImageInput",
  141    141   
    ),
  142    142   
    ::aws_smithy_schema::ShapeType::List,
  143         -
    "tag_specifications",
         143  +
    "TagSpecifications",
  144    144   
    0,
  145    145   
)
  146    146   
.with_xml_name("TagSpecification");
  147    147   
static CREATEIMAGEINPUT_MEMBER_SNAPSHOT_LOCATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  148    148   
    ::aws_smithy_schema::ShapeId::from_static(
  149    149   
        "com.amazonaws.ec2.synthetic#CreateImageInput$SnapshotLocation",
  150    150   
        "com.amazonaws.ec2.synthetic",
  151    151   
        "CreateImageInput",
  152    152   
    ),
  153    153   
    ::aws_smithy_schema::ShapeType::String,
  154         -
    "snapshot_location",
         154  +
    "SnapshotLocation",
  155    155   
    1,
  156    156   
);
  157    157   
static CREATEIMAGEINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  158    158   
    ::aws_smithy_schema::ShapeId::from_static(
  159    159   
        "com.amazonaws.ec2.synthetic#CreateImageInput$DryRun",
  160    160   
        "com.amazonaws.ec2.synthetic",
  161    161   
        "CreateImageInput",
  162    162   
    ),
  163    163   
    ::aws_smithy_schema::ShapeType::Boolean,
  164         -
    "dry_run",
         164  +
    "DryRun",
  165    165   
    2,
  166    166   
)
  167    167   
.with_xml_name("dryRun");
  168    168   
static CREATEIMAGEINPUT_MEMBER_INSTANCE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  169    169   
    ::aws_smithy_schema::ShapeId::from_static(
  170    170   
        "com.amazonaws.ec2.synthetic#CreateImageInput$InstanceId",
  171    171   
        "com.amazonaws.ec2.synthetic",
  172    172   
        "CreateImageInput",
  173    173   
    ),
  174    174   
    ::aws_smithy_schema::ShapeType::String,
  175         -
    "instance_id",
         175  +
    "InstanceId",
  176    176   
    3,
  177    177   
)
  178    178   
.with_xml_name("instanceId");
  179    179   
static CREATEIMAGEINPUT_MEMBER_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  180    180   
    ::aws_smithy_schema::ShapeId::from_static(
  181    181   
        "com.amazonaws.ec2.synthetic#CreateImageInput$Name",
  182    182   
        "com.amazonaws.ec2.synthetic",
  183    183   
        "CreateImageInput",
  184    184   
    ),
  185    185   
    ::aws_smithy_schema::ShapeType::String,
  186         -
    "name",
         186  +
    "Name",
  187    187   
    4,
  188    188   
)
  189    189   
.with_xml_name("name");
  190    190   
static CREATEIMAGEINPUT_MEMBER_DESCRIPTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  191    191   
    ::aws_smithy_schema::ShapeId::from_static(
  192    192   
        "com.amazonaws.ec2.synthetic#CreateImageInput$Description",
  193    193   
        "com.amazonaws.ec2.synthetic",
  194    194   
        "CreateImageInput",
  195    195   
    ),
  196    196   
    ::aws_smithy_schema::ShapeType::String,
  197         -
    "description",
         197  +
    "Description",
  198    198   
    5,
  199    199   
)
  200    200   
.with_xml_name("description");
  201    201   
static CREATEIMAGEINPUT_MEMBER_NO_REBOOT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  202    202   
    ::aws_smithy_schema::ShapeId::from_static(
  203    203   
        "com.amazonaws.ec2.synthetic#CreateImageInput$NoReboot",
  204    204   
        "com.amazonaws.ec2.synthetic",
  205    205   
        "CreateImageInput",
  206    206   
    ),
  207    207   
    ::aws_smithy_schema::ShapeType::Boolean,
  208         -
    "no_reboot",
         208  +
    "NoReboot",
  209    209   
    6,
  210    210   
)
  211    211   
.with_xml_name("noReboot");
  212    212   
static CREATEIMAGEINPUT_MEMBER_BLOCK_DEVICE_MAPPINGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  213    213   
    ::aws_smithy_schema::ShapeId::from_static(
  214    214   
        "com.amazonaws.ec2.synthetic#CreateImageInput$BlockDeviceMappings",
  215    215   
        "com.amazonaws.ec2.synthetic",
  216    216   
        "CreateImageInput",
  217    217   
    ),
  218    218   
    ::aws_smithy_schema::ShapeType::List,
  219         -
    "block_device_mappings",
         219  +
    "BlockDeviceMappings",
  220    220   
    7,
  221    221   
)
  222    222   
.with_xml_name("blockDeviceMapping");
  223    223   
static CREATEIMAGEINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  224    224   
    CREATEIMAGEINPUT_SCHEMA_ID,
  225    225   
    ::aws_smithy_schema::ShapeType::Structure,
  226    226   
    &[
  227    227   
        &CREATEIMAGEINPUT_MEMBER_TAG_SPECIFICATIONS,
  228    228   
        &CREATEIMAGEINPUT_MEMBER_SNAPSHOT_LOCATION,
  229    229   
        &CREATEIMAGEINPUT_MEMBER_DRY_RUN,
@@ -262,262 +388,395 @@
  282    282   
                    }
  283    283   
                    Ok(())
  284    284   
                },
  285    285   
            )?;
  286    286   
        }
  287    287   
        Ok(())
  288    288   
    }
  289    289   
}
  290    290   
impl CreateImageInput {
  291    291   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  292         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  293         -
        deserializer: &mut D,
         292  +
    pub fn deserialize(
         293  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  294    294   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  295    295   
        #[allow(unused_variables, unused_mut)]
  296    296   
        let mut builder = Self::builder();
  297    297   
        #[allow(
  298    298   
            unused_variables,
  299    299   
            unreachable_code,
  300    300   
            clippy::single_match,
  301    301   
            clippy::match_single_binding,
  302    302   
            clippy::diverging_sub_expression
  303    303   
        )]
  304         -
        deserializer.read_struct(&CREATEIMAGEINPUT_SCHEMA, (), |_, member, deser| {
         304  +
        deserializer.read_struct(&CREATEIMAGEINPUT_SCHEMA, &mut |member, deser| {
  305    305   
            match member.member_index() {
  306    306   
                Some(0) => {
  307    307   
                    builder.tag_specifications = Some({
  308         -
                        let container = if let Some(cap) = deser.container_size() {
  309         -
                            Vec::with_capacity(cap)
  310         -
                        } else {
  311         -
                            Vec::new()
  312         -
                        };
  313         -
                        deser.read_list(member, container, |mut list, deser| {
  314         -
                            list.push(crate::types::TagSpecification::deserialize(deser)?);
  315         -
                            Ok(list)
  316         -
                        })?
         308  +
                        let mut container = Vec::new();
         309  +
                        deser.read_list(member, &mut |deser| {
         310  +
                            container.push(crate::types::TagSpecification::deserialize(deser)?);
         311  +
                            Ok(())
         312  +
                        })?;
         313  +
                        container
  317    314   
                    });
  318    315   
                }
  319    316   
                Some(1) => {
  320    317   
                    builder.snapshot_location = Some(crate::types::SnapshotLocationEnum::from(deser.read_string(member)?.as_str()));
  321    318   
                }
  322    319   
                Some(2) => {
  323    320   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  324    321   
                }
  325    322   
                Some(3) => {
  326    323   
                    builder.instance_id = Some(deser.read_string(member)?);
  327    324   
                }
  328    325   
                Some(4) => {
  329    326   
                    builder.name = Some(deser.read_string(member)?);
  330    327   
                }
  331    328   
                Some(5) => {
  332    329   
                    builder.description = Some(deser.read_string(member)?);
  333    330   
                }
  334    331   
                Some(6) => {
  335    332   
                    builder.no_reboot = Some(deser.read_boolean(member)?);
  336    333   
                }
  337    334   
                Some(7) => {
  338    335   
                    builder.block_device_mappings = Some({
  339         -
                        let container = if let Some(cap) = deser.container_size() {
  340         -
                            Vec::with_capacity(cap)
  341         -
                        } else {
  342         -
                            Vec::new()
  343         -
                        };
  344         -
                        deser.read_list(member, container, |mut list, deser| {
  345         -
                            list.push(crate::types::BlockDeviceMapping::deserialize(deser)?);
  346         -
                            Ok(list)
  347         -
                        })?
         336  +
                        let mut container = Vec::new();
         337  +
                        deser.read_list(member, &mut |deser| {
         338  +
                            container.push(crate::types::BlockDeviceMapping::deserialize(deser)?);
         339  +
                            Ok(())
         340  +
                        })?;
         341  +
                        container
  348    342   
                    });
  349    343   
                }
  350    344   
                _ => {}
  351    345   
            }
  352    346   
            Ok(())
  353    347   
        })?;
         348  +
        builder.instance_id = builder.instance_id.or(Some(String::new()));
         349  +
        builder.name = builder.name.or(Some(String::new()));
  354    350   
        builder
  355    351   
            .build()
  356    352   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  357    353   
    }
  358    354   
}
         355  +
impl CreateImageInput {
         356  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         357  +
    pub fn deserialize_with_response(
         358  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         359  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         360  +
        _status: u16,
         361  +
        _body: &[u8],
         362  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         363  +
        Self::deserialize(deserializer)
         364  +
    }
         365  +
}
  359    366   
impl CreateImageInput {
  360    367   
    /// Creates a new builder-style object to manufacture [`CreateImageInput`](crate::operation::create_image::CreateImageInput).
  361    368   
    pub fn builder() -> crate::operation::create_image::builders::CreateImageInputBuilder {
  362    369   
        crate::operation::create_image::builders::CreateImageInputBuilder::default()
  363    370   
    }
  364    371   
}
  365    372   
  366    373   
/// A builder for [`CreateImageInput`](crate::operation::create_image::CreateImageInput).
  367    374   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  368    375   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_image/_create_image_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_image_usage_report/_create_image_usage_report_input.rs

@@ -35,35 +147,147 @@
   55     55   
    "com.amazonaws.ec2.synthetic",
   56     56   
    "CreateImageUsageReportInput",
   57     57   
);
   58     58   
static CREATEIMAGEUSAGEREPORTINPUT_MEMBER_IMAGE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   59     59   
    ::aws_smithy_schema::ShapeId::from_static(
   60     60   
        "com.amazonaws.ec2.synthetic#CreateImageUsageReportInput$ImageId",
   61     61   
        "com.amazonaws.ec2.synthetic",
   62     62   
        "CreateImageUsageReportInput",
   63     63   
    ),
   64     64   
    ::aws_smithy_schema::ShapeType::String,
   65         -
    "image_id",
          65  +
    "ImageId",
   66     66   
    0,
   67     67   
);
   68     68   
static CREATEIMAGEUSAGEREPORTINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   69     69   
    ::aws_smithy_schema::ShapeId::from_static(
   70     70   
        "com.amazonaws.ec2.synthetic#CreateImageUsageReportInput$DryRun",
   71     71   
        "com.amazonaws.ec2.synthetic",
   72     72   
        "CreateImageUsageReportInput",
   73     73   
    ),
   74     74   
    ::aws_smithy_schema::ShapeType::Boolean,
   75         -
    "dry_run",
          75  +
    "DryRun",
   76     76   
    1,
   77     77   
);
   78     78   
static CREATEIMAGEUSAGEREPORTINPUT_MEMBER_RESOURCE_TYPES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   79     79   
    ::aws_smithy_schema::ShapeId::from_static(
   80     80   
        "com.amazonaws.ec2.synthetic#CreateImageUsageReportInput$ResourceTypes",
   81     81   
        "com.amazonaws.ec2.synthetic",
   82     82   
        "CreateImageUsageReportInput",
   83     83   
    ),
   84     84   
    ::aws_smithy_schema::ShapeType::List,
   85         -
    "resource_types",
          85  +
    "ResourceTypes",
   86     86   
    2,
   87     87   
)
   88     88   
.with_xml_name("ResourceType");
   89     89   
static CREATEIMAGEUSAGEREPORTINPUT_MEMBER_ACCOUNT_IDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   90     90   
    ::aws_smithy_schema::ShapeId::from_static(
   91     91   
        "com.amazonaws.ec2.synthetic#CreateImageUsageReportInput$AccountIds",
   92     92   
        "com.amazonaws.ec2.synthetic",
   93     93   
        "CreateImageUsageReportInput",
   94     94   
    ),
   95     95   
    ::aws_smithy_schema::ShapeType::List,
   96         -
    "account_ids",
          96  +
    "AccountIds",
   97     97   
    3,
   98     98   
)
   99     99   
.with_xml_name("AccountId");
  100    100   
static CREATEIMAGEUSAGEREPORTINPUT_MEMBER_CLIENT_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  101    101   
    ::aws_smithy_schema::ShapeId::from_static(
  102    102   
        "com.amazonaws.ec2.synthetic#CreateImageUsageReportInput$ClientToken",
  103    103   
        "com.amazonaws.ec2.synthetic",
  104    104   
        "CreateImageUsageReportInput",
  105    105   
    ),
  106    106   
    ::aws_smithy_schema::ShapeType::String,
  107         -
    "client_token",
         107  +
    "ClientToken",
  108    108   
    4,
  109    109   
);
  110    110   
static CREATEIMAGEUSAGEREPORTINPUT_MEMBER_TAG_SPECIFICATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  111    111   
    ::aws_smithy_schema::ShapeId::from_static(
  112    112   
        "com.amazonaws.ec2.synthetic#CreateImageUsageReportInput$TagSpecifications",
  113    113   
        "com.amazonaws.ec2.synthetic",
  114    114   
        "CreateImageUsageReportInput",
  115    115   
    ),
  116    116   
    ::aws_smithy_schema::ShapeType::List,
  117         -
    "tag_specifications",
         117  +
    "TagSpecifications",
  118    118   
    5,
  119    119   
)
  120    120   
.with_xml_name("TagSpecification");
  121    121   
static CREATEIMAGEUSAGEREPORTINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  122    122   
    CREATEIMAGEUSAGEREPORTINPUT_SCHEMA_ID,
  123    123   
    ::aws_smithy_schema::ShapeType::Structure,
  124    124   
    &[
  125    125   
        &CREATEIMAGEUSAGEREPORTINPUT_MEMBER_IMAGE_ID,
  126    126   
        &CREATEIMAGEUSAGEREPORTINPUT_MEMBER_DRY_RUN,
  127    127   
        &CREATEIMAGEUSAGEREPORTINPUT_MEMBER_RESOURCE_TYPES,
@@ -160,160 +290,287 @@
  180    180   
                    }
  181    181   
                    Ok(())
  182    182   
                },
  183    183   
            )?;
  184    184   
        }
  185    185   
        Ok(())
  186    186   
    }
  187    187   
}
  188    188   
impl CreateImageUsageReportInput {
  189    189   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  190         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  191         -
        deserializer: &mut D,
         190  +
    pub fn deserialize(
         191  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  192    192   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  193    193   
        #[allow(unused_variables, unused_mut)]
  194    194   
        let mut builder = Self::builder();
  195    195   
        #[allow(
  196    196   
            unused_variables,
  197    197   
            unreachable_code,
  198    198   
            clippy::single_match,
  199    199   
            clippy::match_single_binding,
  200    200   
            clippy::diverging_sub_expression
  201    201   
        )]
  202         -
        deserializer.read_struct(&CREATEIMAGEUSAGEREPORTINPUT_SCHEMA, (), |_, member, deser| {
         202  +
        deserializer.read_struct(&CREATEIMAGEUSAGEREPORTINPUT_SCHEMA, &mut |member, deser| {
  203    203   
            match member.member_index() {
  204    204   
                Some(0) => {
  205    205   
                    builder.image_id = Some(deser.read_string(member)?);
  206    206   
                }
  207    207   
                Some(1) => {
  208    208   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  209    209   
                }
  210    210   
                Some(2) => {
  211    211   
                    builder.resource_types = Some({
  212         -
                        let container = if let Some(cap) = deser.container_size() {
  213         -
                            Vec::with_capacity(cap)
  214         -
                        } else {
  215         -
                            Vec::new()
  216         -
                        };
  217         -
                        deser.read_list(member, container, |mut list, deser| {
  218         -
                            list.push(crate::types::ImageUsageResourceTypeRequest::deserialize(deser)?);
  219         -
                            Ok(list)
  220         -
                        })?
         212  +
                        let mut container = Vec::new();
         213  +
                        deser.read_list(member, &mut |deser| {
         214  +
                            container.push(crate::types::ImageUsageResourceTypeRequest::deserialize(deser)?);
         215  +
                            Ok(())
         216  +
                        })?;
         217  +
                        container
  221    218   
                    });
  222    219   
                }
  223    220   
                Some(3) => {
  224         -
                    builder.account_ids = Some({
  225         -
                        let container = if let Some(cap) = deser.container_size() {
  226         -
                            Vec::with_capacity(cap)
  227         -
                        } else {
  228         -
                            Vec::new()
  229         -
                        };
  230         -
                        deser.read_list(member, container, |mut list, deser| {
  231         -
                            list.push(deser.read_string(member)?);
  232         -
                            Ok(list)
  233         -
                        })?
  234         -
                    });
         221  +
                    builder.account_ids = Some(deser.read_string_list(member)?);
  235    222   
                }
  236    223   
                Some(4) => {
  237    224   
                    builder.client_token = Some(deser.read_string(member)?);
  238    225   
                }
  239    226   
                Some(5) => {
  240    227   
                    builder.tag_specifications = Some({
  241         -
                        let container = if let Some(cap) = deser.container_size() {
  242         -
                            Vec::with_capacity(cap)
  243         -
                        } else {
  244         -
                            Vec::new()
  245         -
                        };
  246         -
                        deser.read_list(member, container, |mut list, deser| {
  247         -
                            list.push(crate::types::TagSpecification::deserialize(deser)?);
  248         -
                            Ok(list)
  249         -
                        })?
         228  +
                        let mut container = Vec::new();
         229  +
                        deser.read_list(member, &mut |deser| {
         230  +
                            container.push(crate::types::TagSpecification::deserialize(deser)?);
         231  +
                            Ok(())
         232  +
                        })?;
         233  +
                        container
  250    234   
                    });
  251    235   
                }
  252    236   
                _ => {}
  253    237   
            }
  254    238   
            Ok(())
  255    239   
        })?;
         240  +
        builder.image_id = builder.image_id.or(Some(String::new()));
         241  +
        builder.resource_types = builder.resource_types.or(Some(Vec::new()));
  256    242   
        builder
  257    243   
            .build()
  258    244   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  259    245   
    }
  260    246   
}
         247  +
impl CreateImageUsageReportInput {
         248  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         249  +
    pub fn deserialize_with_response(
         250  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         251  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         252  +
        _status: u16,
         253  +
        _body: &[u8],
         254  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         255  +
        Self::deserialize(deserializer)
         256  +
    }
         257  +
}
  261    258   
impl CreateImageUsageReportInput {
  262    259   
    /// Creates a new builder-style object to manufacture [`CreateImageUsageReportInput`](crate::operation::create_image_usage_report::CreateImageUsageReportInput).
  263    260   
    pub fn builder() -> crate::operation::create_image_usage_report::builders::CreateImageUsageReportInputBuilder {
  264    261   
        crate::operation::create_image_usage_report::builders::CreateImageUsageReportInputBuilder::default()
  265    262   
    }
  266    263   
}
  267    264   
  268    265   
/// A builder for [`CreateImageUsageReportInput`](crate::operation::create_image_usage_report::CreateImageUsageReportInput).
  269    266   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  270    267   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_image_usage_report/_create_image_usage_report_output.rs

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

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