AWS SDK

AWS SDK

rev. 32b1b3c3761061baed26023be3219639e42d7d12 (ignoring whitespace)

Files changed:

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_security_group/_create_security_group_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_snapshot/_create_snapshot_input.rs

@@ -65,65 +283,292 @@
   85     85   
    "com.amazonaws.ec2.synthetic",
   86     86   
    "CreateSnapshotInput",
   87     87   
);
   88     88   
static CREATESNAPSHOTINPUT_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#CreateSnapshotInput$Description",
   91     91   
        "com.amazonaws.ec2.synthetic",
   92     92   
        "CreateSnapshotInput",
   93     93   
    ),
   94     94   
    ::aws_smithy_schema::ShapeType::String,
   95         -
    "description",
          95  +
    "Description",
   96     96   
    0,
   97     97   
);
   98     98   
static CREATESNAPSHOTINPUT_MEMBER_OUTPOST_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   99     99   
    ::aws_smithy_schema::ShapeId::from_static(
  100    100   
        "com.amazonaws.ec2.synthetic#CreateSnapshotInput$OutpostArn",
  101    101   
        "com.amazonaws.ec2.synthetic",
  102    102   
        "CreateSnapshotInput",
  103    103   
    ),
  104    104   
    ::aws_smithy_schema::ShapeType::String,
  105         -
    "outpost_arn",
         105  +
    "OutpostArn",
  106    106   
    1,
  107    107   
);
  108    108   
static CREATESNAPSHOTINPUT_MEMBER_VOLUME_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  109    109   
    ::aws_smithy_schema::ShapeId::from_static(
  110    110   
        "com.amazonaws.ec2.synthetic#CreateSnapshotInput$VolumeId",
  111    111   
        "com.amazonaws.ec2.synthetic",
  112    112   
        "CreateSnapshotInput",
  113    113   
    ),
  114    114   
    ::aws_smithy_schema::ShapeType::String,
  115         -
    "volume_id",
         115  +
    "VolumeId",
  116    116   
    2,
  117    117   
);
  118    118   
static CREATESNAPSHOTINPUT_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#CreateSnapshotInput$TagSpecifications",
  121    121   
        "com.amazonaws.ec2.synthetic",
  122    122   
        "CreateSnapshotInput",
  123    123   
    ),
  124    124   
    ::aws_smithy_schema::ShapeType::List,
  125         -
    "tag_specifications",
         125  +
    "TagSpecifications",
  126    126   
    3,
  127    127   
)
  128    128   
.with_xml_name("TagSpecification");
  129    129   
static CREATESNAPSHOTINPUT_MEMBER_LOCATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  130    130   
    ::aws_smithy_schema::ShapeId::from_static(
  131    131   
        "com.amazonaws.ec2.synthetic#CreateSnapshotInput$Location",
  132    132   
        "com.amazonaws.ec2.synthetic",
  133    133   
        "CreateSnapshotInput",
  134    134   
    ),
  135    135   
    ::aws_smithy_schema::ShapeType::String,
  136         -
    "location",
         136  +
    "Location",
  137    137   
    4,
  138    138   
);
  139    139   
static CREATESNAPSHOTINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  140    140   
    ::aws_smithy_schema::ShapeId::from_static(
  141    141   
        "com.amazonaws.ec2.synthetic#CreateSnapshotInput$DryRun",
  142    142   
        "com.amazonaws.ec2.synthetic",
  143    143   
        "CreateSnapshotInput",
  144    144   
    ),
  145    145   
    ::aws_smithy_schema::ShapeType::Boolean,
  146         -
    "dry_run",
         146  +
    "DryRun",
  147    147   
    5,
  148    148   
)
  149    149   
.with_xml_name("dryRun");
  150    150   
static CREATESNAPSHOTINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  151    151   
    CREATESNAPSHOTINPUT_SCHEMA_ID,
  152    152   
    ::aws_smithy_schema::ShapeType::Structure,
  153    153   
    &[
  154    154   
        &CREATESNAPSHOTINPUT_MEMBER_DESCRIPTION,
  155    155   
        &CREATESNAPSHOTINPUT_MEMBER_OUTPOST_ARN,
  156    156   
        &CREATESNAPSHOTINPUT_MEMBER_VOLUME_ID,
  157    157   
        &CREATESNAPSHOTINPUT_MEMBER_TAG_SPECIFICATIONS,
  158    158   
        &CREATESNAPSHOTINPUT_MEMBER_LOCATION,
  159    159   
        &CREATESNAPSHOTINPUT_MEMBER_DRY_RUN,
  160    160   
    ],
  161    161   
);
  162    162   
impl CreateSnapshotInput {
  163    163   
    /// The schema for this shape.
  164    164   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATESNAPSHOTINPUT_SCHEMA;
  165    165   
}
  166    166   
impl ::aws_smithy_schema::serde::SerializableStruct for CreateSnapshotInput {
  167    167   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  168    168   
    fn serialize_members(
  169    169   
        &self,
  170    170   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  171    171   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  172    172   
        if let Some(ref val) = self.description {
  173    173   
            ser.write_string(&CREATESNAPSHOTINPUT_MEMBER_DESCRIPTION, val)?;
  174    174   
        }
  175    175   
        if let Some(ref val) = self.outpost_arn {
  176    176   
            ser.write_string(&CREATESNAPSHOTINPUT_MEMBER_OUTPOST_ARN, val)?;
  177    177   
        }
  178    178   
        if let Some(ref val) = self.volume_id {
  179    179   
            ser.write_string(&CREATESNAPSHOTINPUT_MEMBER_VOLUME_ID, val)?;
  180    180   
        }
  181    181   
        if let Some(ref val) = self.tag_specifications {
  182    182   
            ser.write_list(
  183    183   
                &CREATESNAPSHOTINPUT_MEMBER_TAG_SPECIFICATIONS,
  184    184   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  185    185   
                    for item in val {
  186    186   
                        ser.write_struct(crate::types::TagSpecification::SCHEMA, item)?;
  187    187   
                    }
  188    188   
                    Ok(())
  189    189   
                },
  190    190   
            )?;
  191    191   
        }
  192    192   
        if let Some(ref val) = self.location {
  193    193   
            ser.write_string(&CREATESNAPSHOTINPUT_MEMBER_LOCATION, val.as_str())?;
  194    194   
        }
  195    195   
        if let Some(ref val) = self.dry_run {
  196    196   
            ser.write_boolean(&CREATESNAPSHOTINPUT_MEMBER_DRY_RUN, *val)?;
  197    197   
        }
  198    198   
        Ok(())
  199    199   
    }
  200    200   
}
  201    201   
impl CreateSnapshotInput {
  202    202   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  203         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  204         -
        deserializer: &mut D,
         203  +
    pub fn deserialize(
         204  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  205    205   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  206    206   
        #[allow(unused_variables, unused_mut)]
  207    207   
        let mut builder = Self::builder();
  208    208   
        #[allow(
  209    209   
            unused_variables,
  210    210   
            unreachable_code,
  211    211   
            clippy::single_match,
  212    212   
            clippy::match_single_binding,
  213    213   
            clippy::diverging_sub_expression
  214    214   
        )]
  215         -
        deserializer.read_struct(&CREATESNAPSHOTINPUT_SCHEMA, (), |_, member, deser| {
         215  +
        deserializer.read_struct(&CREATESNAPSHOTINPUT_SCHEMA, &mut |member, deser| {
  216    216   
            match member.member_index() {
  217    217   
                Some(0) => {
  218    218   
                    builder.description = Some(deser.read_string(member)?);
  219    219   
                }
  220    220   
                Some(1) => {
  221    221   
                    builder.outpost_arn = Some(deser.read_string(member)?);
  222    222   
                }
  223    223   
                Some(2) => {
  224    224   
                    builder.volume_id = Some(deser.read_string(member)?);
  225    225   
                }
  226    226   
                Some(3) => {
  227    227   
                    builder.tag_specifications = Some({
  228         -
                        let container = if let Some(cap) = deser.container_size() {
  229         -
                            Vec::with_capacity(cap)
  230         -
                        } else {
  231         -
                            Vec::new()
  232         -
                        };
  233         -
                        deser.read_list(member, container, |mut list, deser| {
  234         -
                            list.push(crate::types::TagSpecification::deserialize(deser)?);
  235         -
                            Ok(list)
  236         -
                        })?
         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
  237    234   
                    });
  238    235   
                }
  239    236   
                Some(4) => {
  240    237   
                    builder.location = Some(crate::types::SnapshotLocationEnum::from(deser.read_string(member)?.as_str()));
  241    238   
                }
  242    239   
                Some(5) => {
  243    240   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  244    241   
                }
  245    242   
                _ => {}
  246    243   
            }
  247    244   
            Ok(())
  248    245   
        })?;
         246  +
        builder.volume_id = builder.volume_id.or(Some(String::new()));
  249    247   
        builder
  250    248   
            .build()
  251    249   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  252    250   
    }
  253    251   
}
         252  +
impl CreateSnapshotInput {
         253  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         254  +
    pub fn deserialize_with_response(
         255  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         256  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         257  +
        _status: u16,
         258  +
        _body: &[u8],
         259  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         260  +
        Self::deserialize(deserializer)
         261  +
    }
         262  +
}
  254    263   
impl CreateSnapshotInput {
  255    264   
    /// Creates a new builder-style object to manufacture [`CreateSnapshotInput`](crate::operation::create_snapshot::CreateSnapshotInput).
  256    265   
    pub fn builder() -> crate::operation::create_snapshot::builders::CreateSnapshotInputBuilder {
  257    266   
        crate::operation::create_snapshot::builders::CreateSnapshotInputBuilder::default()
  258    267   
    }
  259    268   
}
  260    269   
  261    270   
/// A builder for [`CreateSnapshotInput`](crate::operation::create_snapshot::CreateSnapshotInput).
  262    271   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  263    272   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_snapshot/_create_snapshot_output.rs

@@ -161,161 +493,501 @@
  181    181   
    "com.amazonaws.ec2.synthetic",
  182    182   
    "CreateSnapshotOutput",
  183    183   
);
  184    184   
static CREATESNAPSHOTOUTPUT_MEMBER_OWNER_ALIAS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  185    185   
    ::aws_smithy_schema::ShapeId::from_static(
  186    186   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$OwnerAlias",
  187    187   
        "com.amazonaws.ec2.synthetic",
  188    188   
        "CreateSnapshotOutput",
  189    189   
    ),
  190    190   
    ::aws_smithy_schema::ShapeType::String,
  191         -
    "owner_alias",
         191  +
    "OwnerAlias",
  192    192   
    0,
  193    193   
)
  194    194   
.with_xml_name("ownerAlias");
  195    195   
static CREATESNAPSHOTOUTPUT_MEMBER_OUTPOST_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  196    196   
    ::aws_smithy_schema::ShapeId::from_static(
  197    197   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$OutpostArn",
  198    198   
        "com.amazonaws.ec2.synthetic",
  199    199   
        "CreateSnapshotOutput",
  200    200   
    ),
  201    201   
    ::aws_smithy_schema::ShapeType::String,
  202         -
    "outpost_arn",
         202  +
    "OutpostArn",
  203    203   
    1,
  204    204   
)
  205    205   
.with_xml_name("outpostArn");
  206    206   
static CREATESNAPSHOTOUTPUT_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  207    207   
    ::aws_smithy_schema::ShapeId::from_static(
  208    208   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$Tags",
  209    209   
        "com.amazonaws.ec2.synthetic",
  210    210   
        "CreateSnapshotOutput",
  211    211   
    ),
  212    212   
    ::aws_smithy_schema::ShapeType::List,
  213         -
    "tags",
         213  +
    "Tags",
  214    214   
    2,
  215    215   
)
  216    216   
.with_xml_name("tagSet");
  217    217   
static CREATESNAPSHOTOUTPUT_MEMBER_STORAGE_TIER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  218    218   
    ::aws_smithy_schema::ShapeId::from_static(
  219    219   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$StorageTier",
  220    220   
        "com.amazonaws.ec2.synthetic",
  221    221   
        "CreateSnapshotOutput",
  222    222   
    ),
  223    223   
    ::aws_smithy_schema::ShapeType::String,
  224         -
    "storage_tier",
         224  +
    "StorageTier",
  225    225   
    3,
  226    226   
)
  227    227   
.with_xml_name("storageTier");
  228    228   
static CREATESNAPSHOTOUTPUT_MEMBER_RESTORE_EXPIRY_TIME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  229    229   
    ::aws_smithy_schema::ShapeId::from_static(
  230    230   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$RestoreExpiryTime",
  231    231   
        "com.amazonaws.ec2.synthetic",
  232    232   
        "CreateSnapshotOutput",
  233    233   
    ),
  234    234   
    ::aws_smithy_schema::ShapeType::Timestamp,
  235         -
    "restore_expiry_time",
         235  +
    "RestoreExpiryTime",
  236    236   
    4,
  237    237   
)
  238    238   
.with_xml_name("restoreExpiryTime");
  239    239   
static CREATESNAPSHOTOUTPUT_MEMBER_SSE_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  240    240   
    ::aws_smithy_schema::ShapeId::from_static(
  241    241   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$SseType",
  242    242   
        "com.amazonaws.ec2.synthetic",
  243    243   
        "CreateSnapshotOutput",
  244    244   
    ),
  245    245   
    ::aws_smithy_schema::ShapeType::String,
  246         -
    "sse_type",
         246  +
    "SseType",
  247    247   
    5,
  248    248   
)
  249    249   
.with_xml_name("sseType");
  250    250   
static CREATESNAPSHOTOUTPUT_MEMBER_AVAILABILITY_ZONE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  251    251   
    ::aws_smithy_schema::ShapeId::from_static(
  252    252   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$AvailabilityZone",
  253    253   
        "com.amazonaws.ec2.synthetic",
  254    254   
        "CreateSnapshotOutput",
  255    255   
    ),
  256    256   
    ::aws_smithy_schema::ShapeType::String,
  257         -
    "availability_zone",
         257  +
    "AvailabilityZone",
  258    258   
    6,
  259    259   
)
  260    260   
.with_xml_name("availabilityZone");
  261    261   
static CREATESNAPSHOTOUTPUT_MEMBER_TRANSFER_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  262    262   
    ::aws_smithy_schema::ShapeId::from_static(
  263    263   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$TransferType",
  264    264   
        "com.amazonaws.ec2.synthetic",
  265    265   
        "CreateSnapshotOutput",
  266    266   
    ),
  267    267   
    ::aws_smithy_schema::ShapeType::String,
  268         -
    "transfer_type",
         268  +
    "TransferType",
  269    269   
    7,
  270    270   
)
  271    271   
.with_xml_name("transferType");
  272    272   
static CREATESNAPSHOTOUTPUT_MEMBER_COMPLETION_DURATION_MINUTES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  273    273   
    ::aws_smithy_schema::ShapeId::from_static(
  274    274   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$CompletionDurationMinutes",
  275    275   
        "com.amazonaws.ec2.synthetic",
  276    276   
        "CreateSnapshotOutput",
  277    277   
    ),
  278    278   
    ::aws_smithy_schema::ShapeType::Integer,
  279         -
    "completion_duration_minutes",
         279  +
    "CompletionDurationMinutes",
  280    280   
    8,
  281    281   
)
  282    282   
.with_xml_name("completionDurationMinutes");
  283    283   
static CREATESNAPSHOTOUTPUT_MEMBER_COMPLETION_TIME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  284    284   
    ::aws_smithy_schema::ShapeId::from_static(
  285    285   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$CompletionTime",
  286    286   
        "com.amazonaws.ec2.synthetic",
  287    287   
        "CreateSnapshotOutput",
  288    288   
    ),
  289    289   
    ::aws_smithy_schema::ShapeType::Timestamp,
  290         -
    "completion_time",
         290  +
    "CompletionTime",
  291    291   
    9,
  292    292   
)
  293    293   
.with_xml_name("completionTime");
  294    294   
static CREATESNAPSHOTOUTPUT_MEMBER_FULL_SNAPSHOT_SIZE_IN_BYTES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  295    295   
    ::aws_smithy_schema::ShapeId::from_static(
  296    296   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$FullSnapshotSizeInBytes",
  297    297   
        "com.amazonaws.ec2.synthetic",
  298    298   
        "CreateSnapshotOutput",
  299    299   
    ),
  300    300   
    ::aws_smithy_schema::ShapeType::Long,
  301         -
    "full_snapshot_size_in_bytes",
         301  +
    "FullSnapshotSizeInBytes",
  302    302   
    10,
  303    303   
)
  304    304   
.with_xml_name("fullSnapshotSizeInBytes");
  305    305   
static CREATESNAPSHOTOUTPUT_MEMBER_SNAPSHOT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  306    306   
    ::aws_smithy_schema::ShapeId::from_static(
  307    307   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$SnapshotId",
  308    308   
        "com.amazonaws.ec2.synthetic",
  309    309   
        "CreateSnapshotOutput",
  310    310   
    ),
  311    311   
    ::aws_smithy_schema::ShapeType::String,
  312         -
    "snapshot_id",
         312  +
    "SnapshotId",
  313    313   
    11,
  314    314   
)
  315    315   
.with_xml_name("snapshotId");
  316    316   
static CREATESNAPSHOTOUTPUT_MEMBER_VOLUME_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  317    317   
    ::aws_smithy_schema::ShapeId::from_static(
  318    318   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$VolumeId",
  319    319   
        "com.amazonaws.ec2.synthetic",
  320    320   
        "CreateSnapshotOutput",
  321    321   
    ),
  322    322   
    ::aws_smithy_schema::ShapeType::String,
  323         -
    "volume_id",
         323  +
    "VolumeId",
  324    324   
    12,
  325    325   
)
  326    326   
.with_xml_name("volumeId");
  327    327   
static CREATESNAPSHOTOUTPUT_MEMBER_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  328    328   
    ::aws_smithy_schema::ShapeId::from_static(
  329    329   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$State",
  330    330   
        "com.amazonaws.ec2.synthetic",
  331    331   
        "CreateSnapshotOutput",
  332    332   
    ),
  333    333   
    ::aws_smithy_schema::ShapeType::String,
  334         -
    "state",
         334  +
    "State",
  335    335   
    13,
  336    336   
)
  337    337   
.with_xml_name("status");
  338    338   
static CREATESNAPSHOTOUTPUT_MEMBER_STATE_MESSAGE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  339    339   
    ::aws_smithy_schema::ShapeId::from_static(
  340    340   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$StateMessage",
  341    341   
        "com.amazonaws.ec2.synthetic",
  342    342   
        "CreateSnapshotOutput",
  343    343   
    ),
  344    344   
    ::aws_smithy_schema::ShapeType::String,
  345         -
    "state_message",
         345  +
    "StateMessage",
  346    346   
    14,
  347    347   
)
  348    348   
.with_xml_name("statusMessage");
  349    349   
static CREATESNAPSHOTOUTPUT_MEMBER_START_TIME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  350    350   
    ::aws_smithy_schema::ShapeId::from_static(
  351    351   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$StartTime",
  352    352   
        "com.amazonaws.ec2.synthetic",
  353    353   
        "CreateSnapshotOutput",
  354    354   
    ),
  355    355   
    ::aws_smithy_schema::ShapeType::Timestamp,
  356         -
    "start_time",
         356  +
    "StartTime",
  357    357   
    15,
  358    358   
)
  359    359   
.with_xml_name("startTime");
  360    360   
static CREATESNAPSHOTOUTPUT_MEMBER_PROGRESS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  361    361   
    ::aws_smithy_schema::ShapeId::from_static(
  362    362   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$Progress",
  363    363   
        "com.amazonaws.ec2.synthetic",
  364    364   
        "CreateSnapshotOutput",
  365    365   
    ),
  366    366   
    ::aws_smithy_schema::ShapeType::String,
  367         -
    "progress",
         367  +
    "Progress",
  368    368   
    16,
  369    369   
)
  370    370   
.with_xml_name("progress");
  371    371   
static CREATESNAPSHOTOUTPUT_MEMBER_OWNER_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  372    372   
    ::aws_smithy_schema::ShapeId::from_static(
  373    373   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$OwnerId",
  374    374   
        "com.amazonaws.ec2.synthetic",
  375    375   
        "CreateSnapshotOutput",
  376    376   
    ),
  377    377   
    ::aws_smithy_schema::ShapeType::String,
  378         -
    "owner_id",
         378  +
    "OwnerId",
  379    379   
    17,
  380    380   
)
  381    381   
.with_xml_name("ownerId");
  382    382   
static CREATESNAPSHOTOUTPUT_MEMBER_DESCRIPTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  383    383   
    ::aws_smithy_schema::ShapeId::from_static(
  384    384   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$Description",
  385    385   
        "com.amazonaws.ec2.synthetic",
  386    386   
        "CreateSnapshotOutput",
  387    387   
    ),
  388    388   
    ::aws_smithy_schema::ShapeType::String,
  389         -
    "description",
         389  +
    "Description",
  390    390   
    18,
  391    391   
)
  392    392   
.with_xml_name("description");
  393    393   
static CREATESNAPSHOTOUTPUT_MEMBER_VOLUME_SIZE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  394    394   
    ::aws_smithy_schema::ShapeId::from_static(
  395    395   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$VolumeSize",
  396    396   
        "com.amazonaws.ec2.synthetic",
  397    397   
        "CreateSnapshotOutput",
  398    398   
    ),
  399    399   
    ::aws_smithy_schema::ShapeType::Integer,
  400         -
    "volume_size",
         400  +
    "VolumeSize",
  401    401   
    19,
  402    402   
)
  403    403   
.with_xml_name("volumeSize");
  404    404   
static CREATESNAPSHOTOUTPUT_MEMBER_ENCRYPTED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  405    405   
    ::aws_smithy_schema::ShapeId::from_static(
  406    406   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$Encrypted",
  407    407   
        "com.amazonaws.ec2.synthetic",
  408    408   
        "CreateSnapshotOutput",
  409    409   
    ),
  410    410   
    ::aws_smithy_schema::ShapeType::Boolean,
  411         -
    "encrypted",
         411  +
    "Encrypted",
  412    412   
    20,
  413    413   
)
  414    414   
.with_xml_name("encrypted");
  415    415   
static CREATESNAPSHOTOUTPUT_MEMBER_KMS_KEY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  416    416   
    ::aws_smithy_schema::ShapeId::from_static(
  417    417   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$KmsKeyId",
  418    418   
        "com.amazonaws.ec2.synthetic",
  419    419   
        "CreateSnapshotOutput",
  420    420   
    ),
  421    421   
    ::aws_smithy_schema::ShapeType::String,
  422         -
    "kms_key_id",
         422  +
    "KmsKeyId",
  423    423   
    21,
  424    424   
)
  425    425   
.with_xml_name("kmsKeyId");
  426    426   
static CREATESNAPSHOTOUTPUT_MEMBER_DATA_ENCRYPTION_KEY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  427    427   
    ::aws_smithy_schema::ShapeId::from_static(
  428    428   
        "com.amazonaws.ec2.synthetic#CreateSnapshotOutput$DataEncryptionKeyId",
  429    429   
        "com.amazonaws.ec2.synthetic",
  430    430   
        "CreateSnapshotOutput",
  431    431   
    ),
  432    432   
    ::aws_smithy_schema::ShapeType::String,
  433         -
    "data_encryption_key_id",
         433  +
    "DataEncryptionKeyId",
  434    434   
    22,
  435    435   
)
  436    436   
.with_xml_name("dataEncryptionKeyId");
         437  +
static CREATESNAPSHOTOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
         438  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
         439  +
    ::aws_smithy_schema::ShapeType::String,
         440  +
    "request_id",
         441  +
    23,
         442  +
)
         443  +
.with_http_header("x-amzn-requestid");
  437    444   
static CREATESNAPSHOTOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  438    445   
    CREATESNAPSHOTOUTPUT_SCHEMA_ID,
  439    446   
    ::aws_smithy_schema::ShapeType::Structure,
  440    447   
    &[
  441    448   
        &CREATESNAPSHOTOUTPUT_MEMBER_OWNER_ALIAS,
  442    449   
        &CREATESNAPSHOTOUTPUT_MEMBER_OUTPOST_ARN,
  443    450   
        &CREATESNAPSHOTOUTPUT_MEMBER_TAGS,
  444    451   
        &CREATESNAPSHOTOUTPUT_MEMBER_STORAGE_TIER,
  445    452   
        &CREATESNAPSHOTOUTPUT_MEMBER_RESTORE_EXPIRY_TIME,
  446    453   
        &CREATESNAPSHOTOUTPUT_MEMBER_SSE_TYPE,
  447    454   
        &CREATESNAPSHOTOUTPUT_MEMBER_AVAILABILITY_ZONE,
  448    455   
        &CREATESNAPSHOTOUTPUT_MEMBER_TRANSFER_TYPE,
  449    456   
        &CREATESNAPSHOTOUTPUT_MEMBER_COMPLETION_DURATION_MINUTES,
  450    457   
        &CREATESNAPSHOTOUTPUT_MEMBER_COMPLETION_TIME,
  451    458   
        &CREATESNAPSHOTOUTPUT_MEMBER_FULL_SNAPSHOT_SIZE_IN_BYTES,
  452    459   
        &CREATESNAPSHOTOUTPUT_MEMBER_SNAPSHOT_ID,
  453    460   
        &CREATESNAPSHOTOUTPUT_MEMBER_VOLUME_ID,
  454    461   
        &CREATESNAPSHOTOUTPUT_MEMBER_STATE,
  455    462   
        &CREATESNAPSHOTOUTPUT_MEMBER_STATE_MESSAGE,
  456    463   
        &CREATESNAPSHOTOUTPUT_MEMBER_START_TIME,
  457    464   
        &CREATESNAPSHOTOUTPUT_MEMBER_PROGRESS,
  458    465   
        &CREATESNAPSHOTOUTPUT_MEMBER_OWNER_ID,
  459    466   
        &CREATESNAPSHOTOUTPUT_MEMBER_DESCRIPTION,
  460    467   
        &CREATESNAPSHOTOUTPUT_MEMBER_VOLUME_SIZE,
  461    468   
        &CREATESNAPSHOTOUTPUT_MEMBER_ENCRYPTED,
  462    469   
        &CREATESNAPSHOTOUTPUT_MEMBER_KMS_KEY_ID,
  463    470   
        &CREATESNAPSHOTOUTPUT_MEMBER_DATA_ENCRYPTION_KEY_ID,
         471  +
        &CREATESNAPSHOTOUTPUT_MEMBER__REQUEST_ID,
  464    472   
    ],
  465    473   
);
  466    474   
impl CreateSnapshotOutput {
  467    475   
    /// The schema for this shape.
  468    476   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATESNAPSHOTOUTPUT_SCHEMA;
  469    477   
}
  470    478   
impl ::aws_smithy_schema::serde::SerializableStruct for CreateSnapshotOutput {
  471    479   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  472    480   
    fn serialize_members(
  473    481   
        &self,
@@ -528,536 +618,733 @@
  548    556   
            ser.write_string(&CREATESNAPSHOTOUTPUT_MEMBER_KMS_KEY_ID, val)?;
  549    557   
        }
  550    558   
        if let Some(ref val) = self.data_encryption_key_id {
  551    559   
            ser.write_string(&CREATESNAPSHOTOUTPUT_MEMBER_DATA_ENCRYPTION_KEY_ID, val)?;
  552    560   
        }
  553    561   
        Ok(())
  554    562   
    }
  555    563   
}
  556    564   
impl CreateSnapshotOutput {
  557    565   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  558         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  559         -
        deserializer: &mut D,
         566  +
    pub fn deserialize(
         567  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  560    568   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  561    569   
        #[allow(unused_variables, unused_mut)]
  562    570   
        let mut builder = Self::builder();
  563    571   
        #[allow(
  564    572   
            unused_variables,
  565    573   
            unreachable_code,
  566    574   
            clippy::single_match,
  567    575   
            clippy::match_single_binding,
  568    576   
            clippy::diverging_sub_expression
  569    577   
        )]
  570         -
        deserializer.read_struct(&CREATESNAPSHOTOUTPUT_SCHEMA, (), |_, member, deser| {
         578  +
        deserializer.read_struct(&CREATESNAPSHOTOUTPUT_SCHEMA, &mut |member, deser| {
  571    579   
            match member.member_index() {
  572    580   
                Some(0) => {
  573    581   
                    builder.owner_alias = Some(deser.read_string(member)?);
  574    582   
                }
  575    583   
                Some(1) => {
  576    584   
                    builder.outpost_arn = Some(deser.read_string(member)?);
  577    585   
                }
  578    586   
                Some(2) => {
  579    587   
                    builder.tags = Some({
  580         -
                        let container = if let Some(cap) = deser.container_size() {
  581         -
                            Vec::with_capacity(cap)
  582         -
                        } else {
  583         -
                            Vec::new()
  584         -
                        };
  585         -
                        deser.read_list(member, container, |mut list, deser| {
  586         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  587         -
                            Ok(list)
  588         -
                        })?
         588  +
                        let mut container = Vec::new();
         589  +
                        deser.read_list(member, &mut |deser| {
         590  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         591  +
                            Ok(())
         592  +
                        })?;
         593  +
                        container
         594  +
                    });
         595  +
                }
         596  +
                Some(3) => {
         597  +
                    builder.storage_tier = Some(crate::types::StorageTier::from(deser.read_string(member)?.as_str()));
         598  +
                }
         599  +
                Some(4) => {
         600  +
                    builder.restore_expiry_time = Some(deser.read_timestamp(member)?);
         601  +
                }
         602  +
                Some(5) => {
         603  +
                    builder.sse_type = Some(crate::types::SseType::from(deser.read_string(member)?.as_str()));
         604  +
                }
         605  +
                Some(6) => {
         606  +
                    builder.availability_zone = Some(deser.read_string(member)?);
         607  +
                }
         608  +
                Some(7) => {
         609  +
                    builder.transfer_type = Some(crate::types::TransferType::from(deser.read_string(member)?.as_str()));
         610  +
                }
         611  +
                Some(8) => {
         612  +
                    builder.completion_duration_minutes = Some(deser.read_integer(member)?);
         613  +
                }
         614  +
                Some(9) => {
         615  +
                    builder.completion_time = Some(deser.read_timestamp(member)?);
         616  +
                }
         617  +
                Some(10) => {
         618  +
                    builder.full_snapshot_size_in_bytes = Some(deser.read_long(member)?);
         619  +
                }
         620  +
                Some(11) => {
         621  +
                    builder.snapshot_id = Some(deser.read_string(member)?);
         622  +
                }
         623  +
                Some(12) => {
         624  +
                    builder.volume_id = Some(deser.read_string(member)?);
         625  +
                }
         626  +
                Some(13) => {
         627  +
                    builder.state = Some(crate::types::SnapshotState::from(deser.read_string(member)?.as_str()));
         628  +
                }
         629  +
                Some(14) => {
         630  +
                    builder.state_message = Some(deser.read_string(member)?);
         631  +
                }
         632  +
                Some(15) => {
         633  +
                    builder.start_time = Some(deser.read_timestamp(member)?);
         634  +
                }
         635  +
                Some(16) => {
         636  +
                    builder.progress = Some(deser.read_string(member)?);
         637  +
                }
         638  +
                Some(17) => {
         639  +
                    builder.owner_id = Some(deser.read_string(member)?);
         640  +
                }
         641  +
                Some(18) => {
         642  +
                    builder.description = Some(deser.read_string(member)?);
         643  +
                }
         644  +
                Some(19) => {
         645  +
                    builder.volume_size = Some(deser.read_integer(member)?);
         646  +
                }
         647  +
                Some(20) => {
         648  +
                    builder.encrypted = Some(deser.read_boolean(member)?);
         649  +
                }
         650  +
                Some(21) => {
         651  +
                    builder.kms_key_id = Some(deser.read_string(member)?);
         652  +
                }
         653  +
                Some(22) => {
         654  +
                    builder.data_encryption_key_id = Some(deser.read_string(member)?);
         655  +
                }
         656  +
                Some(23) => {
         657  +
                    builder._request_id = Some(deser.read_string(member)?);
         658  +
                }
         659  +
                _ => {}
         660  +
            }
         661  +
            Ok(())
         662  +
        })?;
         663  +
        Ok(builder.build())
         664  +
    }
         665  +
}
         666  +
impl CreateSnapshotOutput {
         667  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         668  +
    /// Header-bound members are read directly from headers, avoiding runtime
         669  +
    /// member iteration overhead. Body members are read via the deserializer.
         670  +
    pub fn deserialize_with_response(
         671  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         672  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         673  +
        _status: u16,
         674  +
        _body: &[u8],
         675  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         676  +
        #[allow(unused_variables, unused_mut)]
         677  +
        let mut builder = Self::builder();
         678  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         679  +
            builder._request_id = Some(val.to_string());
         680  +
        }
         681  +
        #[allow(
         682  +
            unused_variables,
         683  +
            unreachable_code,
         684  +
            clippy::single_match,
         685  +
            clippy::match_single_binding,
         686  +
            clippy::diverging_sub_expression
         687  +
        )]
         688  +
        deserializer.read_struct(&CREATESNAPSHOTOUTPUT_SCHEMA, &mut |member, deser| {
         689  +
            match member.member_index() {
         690  +
                Some(0) => {
         691  +
                    builder.owner_alias = Some(deser.read_string(member)?);
         692  +
                }
         693  +
                Some(1) => {
         694  +
                    builder.outpost_arn = Some(deser.read_string(member)?);
         695  +
                }
         696  +
                Some(2) => {
         697  +
                    builder.tags = Some({
         698  +
                        let mut container = Vec::new();
         699  +
                        deser.read_list(member, &mut |deser| {
         700  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         701  +
                            Ok(())
         702  +
                        })?;
         703  +
                        container
  589    704   
                    });
  590    705   
                }
  591    706   
                Some(3) => {
  592    707   
                    builder.storage_tier = Some(crate::types::StorageTier::from(deser.read_string(member)?.as_str()));
  593    708   
                }
  594    709   
                Some(4) => {
  595    710   
                    builder.restore_expiry_time = Some(deser.read_timestamp(member)?);
  596    711   
                }
  597    712   
                Some(5) => {
  598    713   
                    builder.sse_type = Some(crate::types::SseType::from(deser.read_string(member)?.as_str()));

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_snapshots/_create_snapshots_input.rs

@@ -71,71 +305,313 @@
   91     91   
    "com.amazonaws.ec2.synthetic",
   92     92   
    "CreateSnapshotsInput",
   93     93   
);
   94     94   
static CREATESNAPSHOTSINPUT_MEMBER_DESCRIPTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   95     95   
    ::aws_smithy_schema::ShapeId::from_static(
   96     96   
        "com.amazonaws.ec2.synthetic#CreateSnapshotsInput$Description",
   97     97   
        "com.amazonaws.ec2.synthetic",
   98     98   
        "CreateSnapshotsInput",
   99     99   
    ),
  100    100   
    ::aws_smithy_schema::ShapeType::String,
  101         -
    "description",
         101  +
    "Description",
  102    102   
    0,
  103    103   
);
  104    104   
static CREATESNAPSHOTSINPUT_MEMBER_INSTANCE_SPECIFICATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  105    105   
    ::aws_smithy_schema::ShapeId::from_static(
  106    106   
        "com.amazonaws.ec2.synthetic#CreateSnapshotsInput$InstanceSpecification",
  107    107   
        "com.amazonaws.ec2.synthetic",
  108    108   
        "CreateSnapshotsInput",
  109    109   
    ),
  110    110   
    ::aws_smithy_schema::ShapeType::Structure,
  111         -
    "instance_specification",
         111  +
    "InstanceSpecification",
  112    112   
    1,
  113    113   
);
  114    114   
static CREATESNAPSHOTSINPUT_MEMBER_OUTPOST_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  115    115   
    ::aws_smithy_schema::ShapeId::from_static(
  116    116   
        "com.amazonaws.ec2.synthetic#CreateSnapshotsInput$OutpostArn",
  117    117   
        "com.amazonaws.ec2.synthetic",
  118    118   
        "CreateSnapshotsInput",
  119    119   
    ),
  120    120   
    ::aws_smithy_schema::ShapeType::String,
  121         -
    "outpost_arn",
         121  +
    "OutpostArn",
  122    122   
    2,
  123    123   
);
  124    124   
static CREATESNAPSHOTSINPUT_MEMBER_TAG_SPECIFICATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  125    125   
    ::aws_smithy_schema::ShapeId::from_static(
  126    126   
        "com.amazonaws.ec2.synthetic#CreateSnapshotsInput$TagSpecifications",
  127    127   
        "com.amazonaws.ec2.synthetic",
  128    128   
        "CreateSnapshotsInput",
  129    129   
    ),
  130    130   
    ::aws_smithy_schema::ShapeType::List,
  131         -
    "tag_specifications",
         131  +
    "TagSpecifications",
  132    132   
    3,
  133    133   
)
  134    134   
.with_xml_name("TagSpecification");
  135    135   
static CREATESNAPSHOTSINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  136    136   
    ::aws_smithy_schema::ShapeId::from_static(
  137    137   
        "com.amazonaws.ec2.synthetic#CreateSnapshotsInput$DryRun",
  138    138   
        "com.amazonaws.ec2.synthetic",
  139    139   
        "CreateSnapshotsInput",
  140    140   
    ),
  141    141   
    ::aws_smithy_schema::ShapeType::Boolean,
  142         -
    "dry_run",
         142  +
    "DryRun",
  143    143   
    4,
  144    144   
);
  145    145   
static CREATESNAPSHOTSINPUT_MEMBER_COPY_TAGS_FROM_SOURCE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  146    146   
    ::aws_smithy_schema::ShapeId::from_static(
  147    147   
        "com.amazonaws.ec2.synthetic#CreateSnapshotsInput$CopyTagsFromSource",
  148    148   
        "com.amazonaws.ec2.synthetic",
  149    149   
        "CreateSnapshotsInput",
  150    150   
    ),
  151    151   
    ::aws_smithy_schema::ShapeType::String,
  152         -
    "copy_tags_from_source",
         152  +
    "CopyTagsFromSource",
  153    153   
    5,
  154    154   
);
  155    155   
static CREATESNAPSHOTSINPUT_MEMBER_LOCATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  156    156   
    ::aws_smithy_schema::ShapeId::from_static(
  157    157   
        "com.amazonaws.ec2.synthetic#CreateSnapshotsInput$Location",
  158    158   
        "com.amazonaws.ec2.synthetic",
  159    159   
        "CreateSnapshotsInput",
  160    160   
    ),
  161    161   
    ::aws_smithy_schema::ShapeType::String,
  162         -
    "location",
         162  +
    "Location",
  163    163   
    6,
  164    164   
);
  165    165   
static CREATESNAPSHOTSINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  166    166   
    CREATESNAPSHOTSINPUT_SCHEMA_ID,
  167    167   
    ::aws_smithy_schema::ShapeType::Structure,
  168    168   
    &[
  169    169   
        &CREATESNAPSHOTSINPUT_MEMBER_DESCRIPTION,
  170    170   
        &CREATESNAPSHOTSINPUT_MEMBER_INSTANCE_SPECIFICATION,
  171    171   
        &CREATESNAPSHOTSINPUT_MEMBER_OUTPOST_ARN,
  172    172   
        &CREATESNAPSHOTSINPUT_MEMBER_TAG_SPECIFICATIONS,
  173    173   
        &CREATESNAPSHOTSINPUT_MEMBER_DRY_RUN,
  174    174   
        &CREATESNAPSHOTSINPUT_MEMBER_COPY_TAGS_FROM_SOURCE,
  175    175   
        &CREATESNAPSHOTSINPUT_MEMBER_LOCATION,
  176    176   
    ],
  177    177   
);
  178    178   
impl CreateSnapshotsInput {
  179    179   
    /// The schema for this shape.
  180    180   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATESNAPSHOTSINPUT_SCHEMA;
  181    181   
}
  182    182   
impl ::aws_smithy_schema::serde::SerializableStruct for CreateSnapshotsInput {
  183    183   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  184    184   
    fn serialize_members(
  185    185   
        &self,
  186    186   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  187    187   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  188    188   
        if let Some(ref val) = self.description {
  189    189   
            ser.write_string(&CREATESNAPSHOTSINPUT_MEMBER_DESCRIPTION, val)?;
  190    190   
        }
  191    191   
        if let Some(ref val) = self.instance_specification {
  192    192   
            ser.write_struct(&CREATESNAPSHOTSINPUT_MEMBER_INSTANCE_SPECIFICATION, val)?;
  193    193   
        }
  194    194   
        if let Some(ref val) = self.outpost_arn {
  195    195   
            ser.write_string(&CREATESNAPSHOTSINPUT_MEMBER_OUTPOST_ARN, val)?;
  196    196   
        }
  197    197   
        if let Some(ref val) = self.tag_specifications {
  198    198   
            ser.write_list(
  199    199   
                &CREATESNAPSHOTSINPUT_MEMBER_TAG_SPECIFICATIONS,
  200    200   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  201    201   
                    for item in val {
  202    202   
                        ser.write_struct(crate::types::TagSpecification::SCHEMA, item)?;
  203    203   
                    }
  204    204   
                    Ok(())
  205    205   
                },
  206    206   
            )?;
  207    207   
        }
  208    208   
        if let Some(ref val) = self.dry_run {
  209    209   
            ser.write_boolean(&CREATESNAPSHOTSINPUT_MEMBER_DRY_RUN, *val)?;
  210    210   
        }
  211    211   
        if let Some(ref val) = self.copy_tags_from_source {
  212    212   
            ser.write_string(&CREATESNAPSHOTSINPUT_MEMBER_COPY_TAGS_FROM_SOURCE, val.as_str())?;
  213    213   
        }
  214    214   
        if let Some(ref val) = self.location {
  215    215   
            ser.write_string(&CREATESNAPSHOTSINPUT_MEMBER_LOCATION, val.as_str())?;
  216    216   
        }
  217    217   
        Ok(())
  218    218   
    }
  219    219   
}
  220    220   
impl CreateSnapshotsInput {
  221    221   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  222         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  223         -
        deserializer: &mut D,
         222  +
    pub fn deserialize(
         223  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  224    224   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  225    225   
        #[allow(unused_variables, unused_mut)]
  226    226   
        let mut builder = Self::builder();
  227    227   
        #[allow(
  228    228   
            unused_variables,
  229    229   
            unreachable_code,
  230    230   
            clippy::single_match,
  231    231   
            clippy::match_single_binding,
  232    232   
            clippy::diverging_sub_expression
  233    233   
        )]
  234         -
        deserializer.read_struct(&CREATESNAPSHOTSINPUT_SCHEMA, (), |_, member, deser| {
         234  +
        deserializer.read_struct(&CREATESNAPSHOTSINPUT_SCHEMA, &mut |member, deser| {
  235    235   
            match member.member_index() {
  236    236   
                Some(0) => {
  237    237   
                    builder.description = Some(deser.read_string(member)?);
  238    238   
                }
  239    239   
                Some(1) => {
  240    240   
                    builder.instance_specification = Some(crate::types::InstanceSpecification::deserialize(deser)?);
  241    241   
                }
  242    242   
                Some(2) => {
  243    243   
                    builder.outpost_arn = Some(deser.read_string(member)?);
  244    244   
                }
  245    245   
                Some(3) => {
  246    246   
                    builder.tag_specifications = Some({
  247         -
                        let container = if let Some(cap) = deser.container_size() {
  248         -
                            Vec::with_capacity(cap)
  249         -
                        } else {
  250         -
                            Vec::new()
  251         -
                        };
  252         -
                        deser.read_list(member, container, |mut list, deser| {
  253         -
                            list.push(crate::types::TagSpecification::deserialize(deser)?);
  254         -
                            Ok(list)
  255         -
                        })?
         247  +
                        let mut container = Vec::new();
         248  +
                        deser.read_list(member, &mut |deser| {
         249  +
                            container.push(crate::types::TagSpecification::deserialize(deser)?);
         250  +
                            Ok(())
         251  +
                        })?;
         252  +
                        container
  256    253   
                    });
  257    254   
                }
  258    255   
                Some(4) => {
  259    256   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  260    257   
                }
  261    258   
                Some(5) => {
  262    259   
                    builder.copy_tags_from_source = Some(crate::types::CopyTagsFromSource::from(deser.read_string(member)?.as_str()));
  263    260   
                }
  264    261   
                Some(6) => {
  265    262   
                    builder.location = Some(crate::types::SnapshotLocationEnum::from(deser.read_string(member)?.as_str()));
  266    263   
                }
  267    264   
                _ => {}
  268    265   
            }
  269    266   
            Ok(())
  270    267   
        })?;
  271    268   
        builder
  272    269   
            .build()
  273    270   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  274    271   
    }
  275    272   
}
         273  +
impl CreateSnapshotsInput {
         274  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         275  +
    pub fn deserialize_with_response(
         276  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         277  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         278  +
        _status: u16,
         279  +
        _body: &[u8],
         280  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         281  +
        Self::deserialize(deserializer)
         282  +
    }
         283  +
}
  276    284   
impl CreateSnapshotsInput {
  277    285   
    /// Creates a new builder-style object to manufacture [`CreateSnapshotsInput`](crate::operation::create_snapshots::CreateSnapshotsInput).
  278    286   
    pub fn builder() -> crate::operation::create_snapshots::builders::CreateSnapshotsInputBuilder {
  279    287   
        crate::operation::create_snapshots::builders::CreateSnapshotsInputBuilder::default()
  280    288   
    }
  281    289   
}
  282    290   
  283    291   
/// A builder for [`CreateSnapshotsInput`](crate::operation::create_snapshots::CreateSnapshotsInput).
  284    292   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  285    293   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_snapshots/_create_snapshots_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_spot_datafeed_subscription/_create_spot_datafeed_subscription_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_spot_datafeed_subscription/_create_spot_datafeed_subscription_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_store_image_task/_create_store_image_task_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_store_image_task/_create_store_image_task_output.rs

@@ -1,1 +97,144 @@
   18     18   
    "com.amazonaws.ec2.synthetic",
   19     19   
    "CreateStoreImageTaskOutput",
   20     20   
);
   21     21   
static CREATESTOREIMAGETASKOUTPUT_MEMBER_OBJECT_KEY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   22     22   
    ::aws_smithy_schema::ShapeId::from_static(
   23     23   
        "com.amazonaws.ec2.synthetic#CreateStoreImageTaskOutput$ObjectKey",
   24     24   
        "com.amazonaws.ec2.synthetic",
   25     25   
        "CreateStoreImageTaskOutput",
   26     26   
    ),
   27     27   
    ::aws_smithy_schema::ShapeType::String,
   28         -
    "object_key",
          28  +
    "ObjectKey",
   29     29   
    0,
   30     30   
)
   31     31   
.with_xml_name("objectKey");
          32  +
static CREATESTOREIMAGETASKOUTPUT_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 CREATESTOREIMAGETASKOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   33     40   
    CREATESTOREIMAGETASKOUTPUT_SCHEMA_ID,
   34     41   
    ::aws_smithy_schema::ShapeType::Structure,
   35         -
    &[&CREATESTOREIMAGETASKOUTPUT_MEMBER_OBJECT_KEY],
          42  +
    &[
          43  +
        &CREATESTOREIMAGETASKOUTPUT_MEMBER_OBJECT_KEY,
          44  +
        &CREATESTOREIMAGETASKOUTPUT_MEMBER__REQUEST_ID,
          45  +
    ],
   36     46   
);
   37     47   
impl CreateStoreImageTaskOutput {
   38     48   
    /// The schema for this shape.
   39     49   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATESTOREIMAGETASKOUTPUT_SCHEMA;
   40     50   
}
   41     51   
impl ::aws_smithy_schema::serde::SerializableStruct for CreateStoreImageTaskOutput {
   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.object_key {
   48     58   
            ser.write_string(&CREATESTOREIMAGETASKOUTPUT_MEMBER_OBJECT_KEY, val)?;
   49     59   
        }
   50     60   
        Ok(())
   51     61   
    }
   52     62   
}
   53     63   
impl CreateStoreImageTaskOutput {
   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(&CREATESTOREIMAGETASKOUTPUT_SCHEMA, &mut |member, deser| {
          78  +
            match member.member_index() {
          79  +
                Some(0) => {
          80  +
                    builder.object_key = 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 CreateStoreImageTaskOutput {
          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(&CREATESTOREIMAGETASKOUTPUT_SCHEMA, (), |_, member, deser| {
         114  +
        deserializer.read_struct(&CREATESTOREIMAGETASKOUTPUT_SCHEMA, &mut |member, deser| {
   68    115   
            match member.member_index() {
   69    116   
                Some(0) => {
   70    117   
                    builder.object_key = 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_subnet.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 `CreateSubnet`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct CreateSubnet;
    6      6   
impl CreateSubnet {
    7      7   
    /// Creates a new `CreateSubnet`
    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_subnet::CreateSubnetInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::create_subnet::CreateSubnetOutput::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_subnet::CreateSubnetInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::create_subnet::CreateSubnetOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::create_subnet::CreateSubnetError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -115,119 +177,182 @@
  135    139   
                crate::operation::create_subnet::CreateSubnetError,
  136    140   
            >::new());
  137    141   
  138    142   
        ::std::borrow::Cow::Owned(rcb)
  139    143   
    }
  140    144   
}
  141    145   
  142    146   
#[derive(Debug)]
  143    147   
struct CreateSubnetResponseDeserializer;
  144    148   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateSubnetResponseDeserializer {
  145         -
    fn deserialize_nonstreaming(
         149  +
    fn deserialize_nonstreaming_with_config(
  146    150   
        &self,
  147    151   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         152  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  148    153   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  149    154   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  150    155   
        let headers = response.headers();
  151    156   
        let body = response.body().bytes().expect("body loaded");
  152    157   
        #[allow(unused_mut)]
  153    158   
        let mut force_error = false;
  154    159   
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  155    160   
        let parse_result = if !success && status != 200 || force_error {
  156    161   
            crate::protocol_serde::shape_create_subnet::de_create_subnet_http_error(status, headers, body)
  157    162   
        } else {

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_subnet/_create_subnet_input.rs

@@ -79,79 +260,260 @@
   99     99   
    "com.amazonaws.ec2.synthetic",
  100    100   
    "CreateSubnetInput",
  101    101   
);
  102    102   
static CREATESUBNETINPUT_MEMBER_TAG_SPECIFICATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  103    103   
    ::aws_smithy_schema::ShapeId::from_static(
  104    104   
        "com.amazonaws.ec2.synthetic#CreateSubnetInput$TagSpecifications",
  105    105   
        "com.amazonaws.ec2.synthetic",
  106    106   
        "CreateSubnetInput",
  107    107   
    ),
  108    108   
    ::aws_smithy_schema::ShapeType::List,
  109         -
    "tag_specifications",
         109  +
    "TagSpecifications",
  110    110   
    0,
  111    111   
)
  112    112   
.with_xml_name("TagSpecification");
  113    113   
static CREATESUBNETINPUT_MEMBER_AVAILABILITY_ZONE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  114    114   
    ::aws_smithy_schema::ShapeId::from_static(
  115    115   
        "com.amazonaws.ec2.synthetic#CreateSubnetInput$AvailabilityZone",
  116    116   
        "com.amazonaws.ec2.synthetic",
  117    117   
        "CreateSubnetInput",
  118    118   
    ),
  119    119   
    ::aws_smithy_schema::ShapeType::String,
  120         -
    "availability_zone",
         120  +
    "AvailabilityZone",
  121    121   
    1,
  122    122   
);
  123    123   
static CREATESUBNETINPUT_MEMBER_AVAILABILITY_ZONE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  124    124   
    ::aws_smithy_schema::ShapeId::from_static(
  125    125   
        "com.amazonaws.ec2.synthetic#CreateSubnetInput$AvailabilityZoneId",
  126    126   
        "com.amazonaws.ec2.synthetic",
  127    127   
        "CreateSubnetInput",
  128    128   
    ),
  129    129   
    ::aws_smithy_schema::ShapeType::String,
  130         -
    "availability_zone_id",
         130  +
    "AvailabilityZoneId",
  131    131   
    2,
  132    132   
);
  133    133   
static CREATESUBNETINPUT_MEMBER_CIDR_BLOCK: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  134    134   
    ::aws_smithy_schema::ShapeId::from_static(
  135    135   
        "com.amazonaws.ec2.synthetic#CreateSubnetInput$CidrBlock",
  136    136   
        "com.amazonaws.ec2.synthetic",
  137    137   
        "CreateSubnetInput",
  138    138   
    ),
  139    139   
    ::aws_smithy_schema::ShapeType::String,
  140         -
    "cidr_block",
         140  +
    "CidrBlock",
  141    141   
    3,
  142    142   
);
  143    143   
static CREATESUBNETINPUT_MEMBER_IPV6_CIDR_BLOCK: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  144    144   
    ::aws_smithy_schema::ShapeId::from_static(
  145    145   
        "com.amazonaws.ec2.synthetic#CreateSubnetInput$Ipv6CidrBlock",
  146    146   
        "com.amazonaws.ec2.synthetic",
  147    147   
        "CreateSubnetInput",
  148    148   
    ),
  149    149   
    ::aws_smithy_schema::ShapeType::String,
  150         -
    "ipv6_cidr_block",
         150  +
    "Ipv6CidrBlock",
  151    151   
    4,
  152    152   
);
  153    153   
static CREATESUBNETINPUT_MEMBER_OUTPOST_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  154    154   
    ::aws_smithy_schema::ShapeId::from_static(
  155    155   
        "com.amazonaws.ec2.synthetic#CreateSubnetInput$OutpostArn",
  156    156   
        "com.amazonaws.ec2.synthetic",
  157    157   
        "CreateSubnetInput",
  158    158   
    ),
  159    159   
    ::aws_smithy_schema::ShapeType::String,
  160         -
    "outpost_arn",
         160  +
    "OutpostArn",
  161    161   
    5,
  162    162   
);
  163    163   
static CREATESUBNETINPUT_MEMBER_VPC_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  164    164   
    ::aws_smithy_schema::ShapeId::from_static(
  165    165   
        "com.amazonaws.ec2.synthetic#CreateSubnetInput$VpcId",
  166    166   
        "com.amazonaws.ec2.synthetic",
  167    167   
        "CreateSubnetInput",
  168    168   
    ),
  169    169   
    ::aws_smithy_schema::ShapeType::String,
  170         -
    "vpc_id",
         170  +
    "VpcId",
  171    171   
    6,
  172    172   
);
  173    173   
static CREATESUBNETINPUT_MEMBER_IPV6_NATIVE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  174    174   
    ::aws_smithy_schema::ShapeId::from_static(
  175    175   
        "com.amazonaws.ec2.synthetic#CreateSubnetInput$Ipv6Native",
  176    176   
        "com.amazonaws.ec2.synthetic",
  177    177   
        "CreateSubnetInput",
  178    178   
    ),
  179    179   
    ::aws_smithy_schema::ShapeType::Boolean,
  180         -
    "ipv6_native",
         180  +
    "Ipv6Native",
  181    181   
    7,
  182    182   
);
  183    183   
static CREATESUBNETINPUT_MEMBER_IPV4_IPAM_POOL_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  184    184   
    ::aws_smithy_schema::ShapeId::from_static(
  185    185   
        "com.amazonaws.ec2.synthetic#CreateSubnetInput$Ipv4IpamPoolId",
  186    186   
        "com.amazonaws.ec2.synthetic",
  187    187   
        "CreateSubnetInput",
  188    188   
    ),
  189    189   
    ::aws_smithy_schema::ShapeType::String,
  190         -
    "ipv4_ipam_pool_id",
         190  +
    "Ipv4IpamPoolId",
  191    191   
    8,
  192    192   
);
  193    193   
static CREATESUBNETINPUT_MEMBER_IPV4_NETMASK_LENGTH: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  194    194   
    ::aws_smithy_schema::ShapeId::from_static(
  195    195   
        "com.amazonaws.ec2.synthetic#CreateSubnetInput$Ipv4NetmaskLength",
  196    196   
        "com.amazonaws.ec2.synthetic",
  197    197   
        "CreateSubnetInput",
  198    198   
    ),
  199    199   
    ::aws_smithy_schema::ShapeType::Integer,
  200         -
    "ipv4_netmask_length",
         200  +
    "Ipv4NetmaskLength",
  201    201   
    9,
  202    202   
);
  203    203   
static CREATESUBNETINPUT_MEMBER_IPV6_IPAM_POOL_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  204    204   
    ::aws_smithy_schema::ShapeId::from_static(
  205    205   
        "com.amazonaws.ec2.synthetic#CreateSubnetInput$Ipv6IpamPoolId",
  206    206   
        "com.amazonaws.ec2.synthetic",
  207    207   
        "CreateSubnetInput",
  208    208   
    ),
  209    209   
    ::aws_smithy_schema::ShapeType::String,
  210         -
    "ipv6_ipam_pool_id",
         210  +
    "Ipv6IpamPoolId",
  211    211   
    10,
  212    212   
);
  213    213   
static CREATESUBNETINPUT_MEMBER_IPV6_NETMASK_LENGTH: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  214    214   
    ::aws_smithy_schema::ShapeId::from_static(
  215    215   
        "com.amazonaws.ec2.synthetic#CreateSubnetInput$Ipv6NetmaskLength",
  216    216   
        "com.amazonaws.ec2.synthetic",
  217    217   
        "CreateSubnetInput",
  218    218   
    ),
  219    219   
    ::aws_smithy_schema::ShapeType::Integer,
  220         -
    "ipv6_netmask_length",
         220  +
    "Ipv6NetmaskLength",
  221    221   
    11,
  222    222   
);
  223    223   
static CREATESUBNETINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  224    224   
    ::aws_smithy_schema::ShapeId::from_static(
  225    225   
        "com.amazonaws.ec2.synthetic#CreateSubnetInput$DryRun",
  226    226   
        "com.amazonaws.ec2.synthetic",
  227    227   
        "CreateSubnetInput",
  228    228   
    ),
  229    229   
    ::aws_smithy_schema::ShapeType::Boolean,
  230         -
    "dry_run",
         230  +
    "DryRun",
  231    231   
    12,
  232    232   
)
  233    233   
.with_xml_name("dryRun");
  234    234   
static CREATESUBNETINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  235    235   
    CREATESUBNETINPUT_SCHEMA_ID,
  236    236   
    ::aws_smithy_schema::ShapeType::Structure,
  237    237   
    &[
  238    238   
        &CREATESUBNETINPUT_MEMBER_TAG_SPECIFICATIONS,
  239    239   
        &CREATESUBNETINPUT_MEMBER_AVAILABILITY_ZONE,
  240    240   
        &CREATESUBNETINPUT_MEMBER_AVAILABILITY_ZONE_ID,
@@ -285,285 +416,425 @@
  305    305   
            ser.write_integer(&CREATESUBNETINPUT_MEMBER_IPV6_NETMASK_LENGTH, *val)?;
  306    306   
        }
  307    307   
        if let Some(ref val) = self.dry_run {
  308    308   
            ser.write_boolean(&CREATESUBNETINPUT_MEMBER_DRY_RUN, *val)?;
  309    309   
        }
  310    310   
        Ok(())
  311    311   
    }
  312    312   
}
  313    313   
impl CreateSubnetInput {
  314    314   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  315         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  316         -
        deserializer: &mut D,
         315  +
    pub fn deserialize(
         316  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  317    317   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  318    318   
        #[allow(unused_variables, unused_mut)]
  319    319   
        let mut builder = Self::builder();
  320    320   
        #[allow(
  321    321   
            unused_variables,
  322    322   
            unreachable_code,
  323    323   
            clippy::single_match,
  324    324   
            clippy::match_single_binding,
  325    325   
            clippy::diverging_sub_expression
  326    326   
        )]
  327         -
        deserializer.read_struct(&CREATESUBNETINPUT_SCHEMA, (), |_, member, deser| {
         327  +
        deserializer.read_struct(&CREATESUBNETINPUT_SCHEMA, &mut |member, deser| {
  328    328   
            match member.member_index() {
  329    329   
                Some(0) => {
  330    330   
                    builder.tag_specifications = Some({
  331         -
                        let container = if let Some(cap) = deser.container_size() {
  332         -
                            Vec::with_capacity(cap)
  333         -
                        } else {
  334         -
                            Vec::new()
  335         -
                        };
  336         -
                        deser.read_list(member, container, |mut list, deser| {
  337         -
                            list.push(crate::types::TagSpecification::deserialize(deser)?);
  338         -
                            Ok(list)
  339         -
                        })?
         331  +
                        let mut container = Vec::new();
         332  +
                        deser.read_list(member, &mut |deser| {
         333  +
                            container.push(crate::types::TagSpecification::deserialize(deser)?);
         334  +
                            Ok(())
         335  +
                        })?;
         336  +
                        container
  340    337   
                    });
  341    338   
                }
  342    339   
                Some(1) => {
  343    340   
                    builder.availability_zone = Some(deser.read_string(member)?);
  344    341   
                }
  345    342   
                Some(2) => {
  346    343   
                    builder.availability_zone_id = Some(deser.read_string(member)?);
  347    344   
                }
  348    345   
                Some(3) => {
  349    346   
                    builder.cidr_block = Some(deser.read_string(member)?);
  350    347   
                }
  351    348   
                Some(4) => {
  352    349   
                    builder.ipv6_cidr_block = Some(deser.read_string(member)?);
  353    350   
                }
  354    351   
                Some(5) => {
  355    352   
                    builder.outpost_arn = Some(deser.read_string(member)?);
  356    353   
                }
  357    354   
                Some(6) => {
  358    355   
                    builder.vpc_id = Some(deser.read_string(member)?);
  359    356   
                }
  360    357   
                Some(7) => {
  361    358   
                    builder.ipv6_native = Some(deser.read_boolean(member)?);
  362    359   
                }
  363    360   
                Some(8) => {
  364    361   
                    builder.ipv4_ipam_pool_id = Some(deser.read_string(member)?);
  365    362   
                }
  366    363   
                Some(9) => {
  367    364   
                    builder.ipv4_netmask_length = Some(deser.read_integer(member)?);
  368    365   
                }
  369    366   
                Some(10) => {
  370    367   
                    builder.ipv6_ipam_pool_id = Some(deser.read_string(member)?);
  371    368   
                }
  372    369   
                Some(11) => {
  373    370   
                    builder.ipv6_netmask_length = Some(deser.read_integer(member)?);
  374    371   
                }
  375    372   
                Some(12) => {
  376    373   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  377    374   
                }
  378    375   
                _ => {}
  379    376   
            }
  380    377   
            Ok(())
  381    378   
        })?;
         379  +
        builder.vpc_id = builder.vpc_id.or(Some(String::new()));
  382    380   
        builder
  383    381   
            .build()
  384    382   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  385    383   
    }
  386    384   
}
         385  +
impl CreateSubnetInput {
         386  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         387  +
    pub fn deserialize_with_response(
         388  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         389  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         390  +
        _status: u16,
         391  +
        _body: &[u8],
         392  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         393  +
        Self::deserialize(deserializer)
         394  +
    }
         395  +
}
  387    396   
impl CreateSubnetInput {
  388    397   
    /// Creates a new builder-style object to manufacture [`CreateSubnetInput`](crate::operation::create_subnet::CreateSubnetInput).
  389    398   
    pub fn builder() -> crate::operation::create_subnet::builders::CreateSubnetInputBuilder {
  390    399   
        crate::operation::create_subnet::builders::CreateSubnetInputBuilder::default()
  391    400   
    }
  392    401   
}
  393    402   
  394    403   
/// A builder for [`CreateSubnetInput`](crate::operation::create_subnet::CreateSubnetInput).
  395    404   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  396    405   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_subnet/_create_subnet_output.rs

@@ -1,1 +97,141 @@
   18     18   
    "com.amazonaws.ec2.synthetic",
   19     19   
    "CreateSubnetOutput",
   20     20   
);
   21     21   
static CREATESUBNETOUTPUT_MEMBER_SUBNET: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   22     22   
    ::aws_smithy_schema::ShapeId::from_static(
   23     23   
        "com.amazonaws.ec2.synthetic#CreateSubnetOutput$Subnet",
   24     24   
        "com.amazonaws.ec2.synthetic",
   25     25   
        "CreateSubnetOutput",
   26     26   
    ),
   27     27   
    ::aws_smithy_schema::ShapeType::Structure,
   28         -
    "subnet",
          28  +
    "Subnet",
   29     29   
    0,
   30     30   
)
   31     31   
.with_xml_name("subnet");
          32  +
static CREATESUBNETOUTPUT_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 CREATESUBNETOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   33     40   
    CREATESUBNETOUTPUT_SCHEMA_ID,
   34     41   
    ::aws_smithy_schema::ShapeType::Structure,
   35         -
    &[&CREATESUBNETOUTPUT_MEMBER_SUBNET],
          42  +
    &[&CREATESUBNETOUTPUT_MEMBER_SUBNET, &CREATESUBNETOUTPUT_MEMBER__REQUEST_ID],
   36     43   
);
   37     44   
impl CreateSubnetOutput {
   38     45   
    /// The schema for this shape.
   39     46   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATESUBNETOUTPUT_SCHEMA;
   40     47   
}
   41     48   
impl ::aws_smithy_schema::serde::SerializableStruct for CreateSubnetOutput {
   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.subnet {
   48     55   
            ser.write_struct(&CREATESUBNETOUTPUT_MEMBER_SUBNET, val)?;
   49     56   
        }
   50     57   
        Ok(())
   51     58   
    }
   52     59   
}
   53     60   
impl CreateSubnetOutput {
   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,
   57     64   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   58     65   
        #[allow(unused_variables, unused_mut)]
   59     66   
        let mut builder = Self::builder();
   60     67   
        #[allow(
   61     68   
            unused_variables,
   62     69   
            unreachable_code,
   63     70   
            clippy::single_match,
   64     71   
            clippy::match_single_binding,
   65     72   
            clippy::diverging_sub_expression
   66     73   
        )]
   67         -
        deserializer.read_struct(&CREATESUBNETOUTPUT_SCHEMA, (), |_, member, deser| {
          74  +
        deserializer.read_struct(&CREATESUBNETOUTPUT_SCHEMA, &mut |member, deser| {
          75  +
            match member.member_index() {
          76  +
                Some(0) => {
          77  +
                    builder.subnet = Some(crate::types::Subnet::deserialize(deser)?);
          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 CreateSubnetOutput {
          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],
          98  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          99  +
        #[allow(unused_variables, unused_mut)]
         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  +
        }
         104  +
        #[allow(
         105  +
            unused_variables,
         106  +
            unreachable_code,
         107  +
            clippy::single_match,
         108  +
            clippy::match_single_binding,
         109  +
            clippy::diverging_sub_expression
         110  +
        )]
         111  +
        deserializer.read_struct(&CREATESUBNETOUTPUT_SCHEMA, &mut |member, deser| {
   68    112   
            match member.member_index() {
   69    113   
                Some(0) => {
   70    114   
                    builder.subnet = Some(crate::types::Subnet::deserialize(deser)?);
   71    115   
                }
   72    116   
                _ => {}
   73    117   
            }
   74    118   
            Ok(())
   75    119   
        })?;
   76    120   
        Ok(builder.build())
   77    121   
    }