AWS SDK

AWS SDK

rev. e063993ca0ab793f44c575dbe707d50a5e3e2406

Files changed:

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_volume/_create_volume_input.rs

@@ -231,231 +443,443 @@
  251    251   
    "com.amazonaws.ec2.synthetic",
  252    252   
    "CreateVolumeInput",
  253    253   
);
  254    254   
static CREATEVOLUMEINPUT_MEMBER_AVAILABILITY_ZONE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  255    255   
    ::aws_smithy_schema::ShapeId::from_static(
  256    256   
        "com.amazonaws.ec2.synthetic#CreateVolumeInput$AvailabilityZone",
  257    257   
        "com.amazonaws.ec2.synthetic",
  258    258   
        "CreateVolumeInput",
  259    259   
    ),
  260    260   
    ::aws_smithy_schema::ShapeType::String,
  261         -
    "availability_zone",
         261  +
    "AvailabilityZone",
  262    262   
    0,
  263    263   
);
  264    264   
static CREATEVOLUMEINPUT_MEMBER_AVAILABILITY_ZONE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  265    265   
    ::aws_smithy_schema::ShapeId::from_static(
  266    266   
        "com.amazonaws.ec2.synthetic#CreateVolumeInput$AvailabilityZoneId",
  267    267   
        "com.amazonaws.ec2.synthetic",
  268    268   
        "CreateVolumeInput",
  269    269   
    ),
  270    270   
    ::aws_smithy_schema::ShapeType::String,
  271         -
    "availability_zone_id",
         271  +
    "AvailabilityZoneId",
  272    272   
    1,
  273    273   
);
  274    274   
static CREATEVOLUMEINPUT_MEMBER_ENCRYPTED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  275    275   
    ::aws_smithy_schema::ShapeId::from_static(
  276    276   
        "com.amazonaws.ec2.synthetic#CreateVolumeInput$Encrypted",
  277    277   
        "com.amazonaws.ec2.synthetic",
  278    278   
        "CreateVolumeInput",
  279    279   
    ),
  280    280   
    ::aws_smithy_schema::ShapeType::Boolean,
  281         -
    "encrypted",
         281  +
    "Encrypted",
  282    282   
    2,
  283    283   
)
  284    284   
.with_xml_name("encrypted");
  285    285   
static CREATEVOLUMEINPUT_MEMBER_IOPS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  286    286   
    ::aws_smithy_schema::ShapeId::from_static(
  287    287   
        "com.amazonaws.ec2.synthetic#CreateVolumeInput$Iops",
  288    288   
        "com.amazonaws.ec2.synthetic",
  289    289   
        "CreateVolumeInput",
  290    290   
    ),
  291    291   
    ::aws_smithy_schema::ShapeType::Integer,
  292         -
    "iops",
         292  +
    "Iops",
  293    293   
    3,
  294    294   
);
  295    295   
static CREATEVOLUMEINPUT_MEMBER_KMS_KEY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  296    296   
    ::aws_smithy_schema::ShapeId::from_static(
  297    297   
        "com.amazonaws.ec2.synthetic#CreateVolumeInput$KmsKeyId",
  298    298   
        "com.amazonaws.ec2.synthetic",
  299    299   
        "CreateVolumeInput",
  300    300   
    ),
  301    301   
    ::aws_smithy_schema::ShapeType::String,
  302         -
    "kms_key_id",
         302  +
    "KmsKeyId",
  303    303   
    4,
  304    304   
);
  305    305   
static CREATEVOLUMEINPUT_MEMBER_OUTPOST_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  306    306   
    ::aws_smithy_schema::ShapeId::from_static(
  307    307   
        "com.amazonaws.ec2.synthetic#CreateVolumeInput$OutpostArn",
  308    308   
        "com.amazonaws.ec2.synthetic",
  309    309   
        "CreateVolumeInput",
  310    310   
    ),
  311    311   
    ::aws_smithy_schema::ShapeType::String,
  312         -
    "outpost_arn",
         312  +
    "OutpostArn",
  313    313   
    5,
  314    314   
);
  315    315   
static CREATEVOLUMEINPUT_MEMBER_SIZE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  316    316   
    ::aws_smithy_schema::ShapeId::from_static(
  317    317   
        "com.amazonaws.ec2.synthetic#CreateVolumeInput$Size",
  318    318   
        "com.amazonaws.ec2.synthetic",
  319    319   
        "CreateVolumeInput",
  320    320   
    ),
  321    321   
    ::aws_smithy_schema::ShapeType::Integer,
  322         -
    "size",
         322  +
    "Size",
  323    323   
    6,
  324    324   
);
  325    325   
static CREATEVOLUMEINPUT_MEMBER_SNAPSHOT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  326    326   
    ::aws_smithy_schema::ShapeId::from_static(
  327    327   
        "com.amazonaws.ec2.synthetic#CreateVolumeInput$SnapshotId",
  328    328   
        "com.amazonaws.ec2.synthetic",
  329    329   
        "CreateVolumeInput",
  330    330   
    ),
  331    331   
    ::aws_smithy_schema::ShapeType::String,
  332         -
    "snapshot_id",
         332  +
    "SnapshotId",
  333    333   
    7,
  334    334   
);
  335    335   
static CREATEVOLUMEINPUT_MEMBER_VOLUME_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  336    336   
    ::aws_smithy_schema::ShapeId::from_static(
  337    337   
        "com.amazonaws.ec2.synthetic#CreateVolumeInput$VolumeType",
  338    338   
        "com.amazonaws.ec2.synthetic",
  339    339   
        "CreateVolumeInput",
  340    340   
    ),
  341    341   
    ::aws_smithy_schema::ShapeType::String,
  342         -
    "volume_type",
         342  +
    "VolumeType",
  343    343   
    8,
  344    344   
);
  345    345   
static CREATEVOLUMEINPUT_MEMBER_TAG_SPECIFICATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  346    346   
    ::aws_smithy_schema::ShapeId::from_static(
  347    347   
        "com.amazonaws.ec2.synthetic#CreateVolumeInput$TagSpecifications",
  348    348   
        "com.amazonaws.ec2.synthetic",
  349    349   
        "CreateVolumeInput",
  350    350   
    ),
  351    351   
    ::aws_smithy_schema::ShapeType::List,
  352         -
    "tag_specifications",
         352  +
    "TagSpecifications",
  353    353   
    9,
  354    354   
)
  355    355   
.with_xml_name("TagSpecification");
  356    356   
static CREATEVOLUMEINPUT_MEMBER_MULTI_ATTACH_ENABLED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  357    357   
    ::aws_smithy_schema::ShapeId::from_static(
  358    358   
        "com.amazonaws.ec2.synthetic#CreateVolumeInput$MultiAttachEnabled",
  359    359   
        "com.amazonaws.ec2.synthetic",
  360    360   
        "CreateVolumeInput",
  361    361   
    ),
  362    362   
    ::aws_smithy_schema::ShapeType::Boolean,
  363         -
    "multi_attach_enabled",
         363  +
    "MultiAttachEnabled",
  364    364   
    10,
  365    365   
);
  366    366   
static CREATEVOLUMEINPUT_MEMBER_THROUGHPUT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  367    367   
    ::aws_smithy_schema::ShapeId::from_static(
  368    368   
        "com.amazonaws.ec2.synthetic#CreateVolumeInput$Throughput",
  369    369   
        "com.amazonaws.ec2.synthetic",
  370    370   
        "CreateVolumeInput",
  371    371   
    ),
  372    372   
    ::aws_smithy_schema::ShapeType::Integer,
  373         -
    "throughput",
         373  +
    "Throughput",
  374    374   
    11,
  375    375   
);
  376    376   
static CREATEVOLUMEINPUT_MEMBER_CLIENT_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  377    377   
    ::aws_smithy_schema::ShapeId::from_static(
  378    378   
        "com.amazonaws.ec2.synthetic#CreateVolumeInput$ClientToken",
  379    379   
        "com.amazonaws.ec2.synthetic",
  380    380   
        "CreateVolumeInput",
  381    381   
    ),
  382    382   
    ::aws_smithy_schema::ShapeType::String,
  383         -
    "client_token",
         383  +
    "ClientToken",
  384    384   
    12,
  385    385   
);
  386    386   
static CREATEVOLUMEINPUT_MEMBER_VOLUME_INITIALIZATION_RATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  387    387   
    ::aws_smithy_schema::ShapeId::from_static(
  388    388   
        "com.amazonaws.ec2.synthetic#CreateVolumeInput$VolumeInitializationRate",
  389    389   
        "com.amazonaws.ec2.synthetic",
  390    390   
        "CreateVolumeInput",
  391    391   
    ),
  392    392   
    ::aws_smithy_schema::ShapeType::Integer,
  393         -
    "volume_initialization_rate",
         393  +
    "VolumeInitializationRate",
  394    394   
    13,
  395    395   
);
  396    396   
static CREATEVOLUMEINPUT_MEMBER_OPERATOR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  397    397   
    ::aws_smithy_schema::ShapeId::from_static(
  398    398   
        "com.amazonaws.ec2.synthetic#CreateVolumeInput$Operator",
  399    399   
        "com.amazonaws.ec2.synthetic",
  400    400   
        "CreateVolumeInput",
  401    401   
    ),
  402    402   
    ::aws_smithy_schema::ShapeType::Structure,
  403         -
    "operator",
         403  +
    "Operator",
  404    404   
    14,
  405    405   
);
  406    406   
static CREATEVOLUMEINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  407    407   
    ::aws_smithy_schema::ShapeId::from_static(
  408    408   
        "com.amazonaws.ec2.synthetic#CreateVolumeInput$DryRun",
  409    409   
        "com.amazonaws.ec2.synthetic",
  410    410   
        "CreateVolumeInput",
  411    411   
    ),
  412    412   
    ::aws_smithy_schema::ShapeType::Boolean,
  413         -
    "dry_run",
         413  +
    "DryRun",
  414    414   
    15,
  415    415   
)
  416    416   
.with_xml_name("dryRun");
  417    417   
static CREATEVOLUMEINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  418    418   
    CREATEVOLUMEINPUT_SCHEMA_ID,
  419    419   
    ::aws_smithy_schema::ShapeType::Structure,
  420    420   
    &[
  421    421   
        &CREATEVOLUMEINPUT_MEMBER_AVAILABILITY_ZONE,
  422    422   
        &CREATEVOLUMEINPUT_MEMBER_AVAILABILITY_ZONE_ID,
  423    423   
        &CREATEVOLUMEINPUT_MEMBER_ENCRYPTED,
@@ -480,480 +620,628 @@
  500    500   
            ser.write_struct(&CREATEVOLUMEINPUT_MEMBER_OPERATOR, val)?;
  501    501   
        }
  502    502   
        if let Some(ref val) = self.dry_run {
  503    503   
            ser.write_boolean(&CREATEVOLUMEINPUT_MEMBER_DRY_RUN, *val)?;
  504    504   
        }
  505    505   
        Ok(())
  506    506   
    }
  507    507   
}
  508    508   
impl CreateVolumeInput {
  509    509   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  510         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  511         -
        deserializer: &mut D,
         510  +
    pub fn deserialize(
         511  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  512    512   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  513    513   
        #[allow(unused_variables, unused_mut)]
  514    514   
        let mut builder = Self::builder();
  515    515   
        #[allow(
  516    516   
            unused_variables,
  517    517   
            unreachable_code,
  518    518   
            clippy::single_match,
  519    519   
            clippy::match_single_binding,
  520    520   
            clippy::diverging_sub_expression
  521    521   
        )]
  522         -
        deserializer.read_struct(&CREATEVOLUMEINPUT_SCHEMA, (), |_, member, deser| {
         522  +
        deserializer.read_struct(&CREATEVOLUMEINPUT_SCHEMA, &mut |member, deser| {
  523    523   
            match member.member_index() {
  524    524   
                Some(0) => {
  525    525   
                    builder.availability_zone = Some(deser.read_string(member)?);
  526    526   
                }
  527    527   
                Some(1) => {
  528    528   
                    builder.availability_zone_id = Some(deser.read_string(member)?);
  529    529   
                }
  530    530   
                Some(2) => {
  531    531   
                    builder.encrypted = Some(deser.read_boolean(member)?);
  532    532   
                }
  533    533   
                Some(3) => {
  534    534   
                    builder.iops = Some(deser.read_integer(member)?);
  535    535   
                }
  536    536   
                Some(4) => {
  537    537   
                    builder.kms_key_id = Some(deser.read_string(member)?);
  538    538   
                }
  539    539   
                Some(5) => {
  540    540   
                    builder.outpost_arn = Some(deser.read_string(member)?);
  541    541   
                }
  542    542   
                Some(6) => {
  543    543   
                    builder.size = Some(deser.read_integer(member)?);
  544    544   
                }
  545    545   
                Some(7) => {
  546    546   
                    builder.snapshot_id = Some(deser.read_string(member)?);
  547    547   
                }
  548    548   
                Some(8) => {
  549    549   
                    builder.volume_type = Some(crate::types::VolumeType::from(deser.read_string(member)?.as_str()));
  550    550   
                }
  551    551   
                Some(9) => {
  552    552   
                    builder.tag_specifications = Some({
  553         -
                        let container = if let Some(cap) = deser.container_size() {
  554         -
                            Vec::with_capacity(cap)
  555         -
                        } else {
  556         -
                            Vec::new()
  557         -
                        };
  558         -
                        deser.read_list(member, container, |mut list, deser| {
  559         -
                            list.push(crate::types::TagSpecification::deserialize(deser)?);
  560         -
                            Ok(list)
  561         -
                        })?
         553  +
                        let mut container = Vec::new();
         554  +
                        deser.read_list(member, &mut |deser| {
         555  +
                            container.push(crate::types::TagSpecification::deserialize(deser)?);
         556  +
                            Ok(())
         557  +
                        })?;
         558  +
                        container
  562    559   
                    });
  563    560   
                }
  564    561   
                Some(10) => {
  565    562   
                    builder.multi_attach_enabled = Some(deser.read_boolean(member)?);
  566    563   
                }
  567    564   
                Some(11) => {
  568    565   
                    builder.throughput = Some(deser.read_integer(member)?);
  569    566   
                }
  570    567   
                Some(12) => {
  571    568   
                    builder.client_token = Some(deser.read_string(member)?);
  572    569   
                }
  573    570   
                Some(13) => {
  574    571   
                    builder.volume_initialization_rate = Some(deser.read_integer(member)?);
  575    572   
                }
  576    573   
                Some(14) => {
  577    574   
                    builder.operator = Some(crate::types::OperatorRequest::deserialize(deser)?);
  578    575   
                }
  579    576   
                Some(15) => {
  580    577   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  581    578   
                }
  582    579   
                _ => {}
  583    580   
            }
  584    581   
            Ok(())
  585    582   
        })?;
  586    583   
        builder
  587    584   
            .build()
  588    585   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  589    586   
    }
  590    587   
}
         588  +
impl CreateVolumeInput {
         589  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         590  +
    pub fn deserialize_with_response(
         591  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         592  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         593  +
        _status: u16,
         594  +
        _body: &[u8],
         595  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         596  +
        Self::deserialize(deserializer)
         597  +
    }
         598  +
}
  591    599   
impl CreateVolumeInput {
  592    600   
    /// Creates a new builder-style object to manufacture [`CreateVolumeInput`](crate::operation::create_volume::CreateVolumeInput).
  593    601   
    pub fn builder() -> crate::operation::create_volume::builders::CreateVolumeInputBuilder {
  594    602   
        crate::operation::create_volume::builders::CreateVolumeInputBuilder::default()
  595    603   
    }
  596    604   
}
  597    605   
  598    606   
/// A builder for [`CreateVolumeInput`](crate::operation::create_volume::CreateVolumeInput).
  599    607   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  600    608   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_volume/_create_volume_output.rs

@@ -135,135 +431,439 @@
  155    155   
    "com.amazonaws.ec2.synthetic",
  156    156   
    "CreateVolumeOutput",
  157    157   
);
  158    158   
static CREATEVOLUMEOUTPUT_MEMBER_AVAILABILITY_ZONE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  159    159   
    ::aws_smithy_schema::ShapeId::from_static(
  160    160   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$AvailabilityZoneId",
  161    161   
        "com.amazonaws.ec2.synthetic",
  162    162   
        "CreateVolumeOutput",
  163    163   
    ),
  164    164   
    ::aws_smithy_schema::ShapeType::String,
  165         -
    "availability_zone_id",
         165  +
    "AvailabilityZoneId",
  166    166   
    0,
  167    167   
)
  168    168   
.with_xml_name("availabilityZoneId");
  169    169   
static CREATEVOLUMEOUTPUT_MEMBER_OUTPOST_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  170    170   
    ::aws_smithy_schema::ShapeId::from_static(
  171    171   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$OutpostArn",
  172    172   
        "com.amazonaws.ec2.synthetic",
  173    173   
        "CreateVolumeOutput",
  174    174   
    ),
  175    175   
    ::aws_smithy_schema::ShapeType::String,
  176         -
    "outpost_arn",
         176  +
    "OutpostArn",
  177    177   
    1,
  178    178   
)
  179    179   
.with_xml_name("outpostArn");
  180    180   
static CREATEVOLUMEOUTPUT_MEMBER_IOPS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  181    181   
    ::aws_smithy_schema::ShapeId::from_static(
  182    182   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$Iops",
  183    183   
        "com.amazonaws.ec2.synthetic",
  184    184   
        "CreateVolumeOutput",
  185    185   
    ),
  186    186   
    ::aws_smithy_schema::ShapeType::Integer,
  187         -
    "iops",
         187  +
    "Iops",
  188    188   
    2,
  189    189   
)
  190    190   
.with_xml_name("iops");
  191    191   
static CREATEVOLUMEOUTPUT_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  192    192   
    ::aws_smithy_schema::ShapeId::from_static(
  193    193   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$Tags",
  194    194   
        "com.amazonaws.ec2.synthetic",
  195    195   
        "CreateVolumeOutput",
  196    196   
    ),
  197    197   
    ::aws_smithy_schema::ShapeType::List,
  198         -
    "tags",
         198  +
    "Tags",
  199    199   
    3,
  200    200   
)
  201    201   
.with_xml_name("tagSet");
  202    202   
static CREATEVOLUMEOUTPUT_MEMBER_VOLUME_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  203    203   
    ::aws_smithy_schema::ShapeId::from_static(
  204    204   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$VolumeType",
  205    205   
        "com.amazonaws.ec2.synthetic",
  206    206   
        "CreateVolumeOutput",
  207    207   
    ),
  208    208   
    ::aws_smithy_schema::ShapeType::String,
  209         -
    "volume_type",
         209  +
    "VolumeType",
  210    210   
    4,
  211    211   
)
  212    212   
.with_xml_name("volumeType");
  213    213   
static CREATEVOLUMEOUTPUT_MEMBER_FAST_RESTORED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  214    214   
    ::aws_smithy_schema::ShapeId::from_static(
  215    215   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$FastRestored",
  216    216   
        "com.amazonaws.ec2.synthetic",
  217    217   
        "CreateVolumeOutput",
  218    218   
    ),
  219    219   
    ::aws_smithy_schema::ShapeType::Boolean,
  220         -
    "fast_restored",
         220  +
    "FastRestored",
  221    221   
    5,
  222    222   
)
  223    223   
.with_xml_name("fastRestored");
  224    224   
static CREATEVOLUMEOUTPUT_MEMBER_MULTI_ATTACH_ENABLED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  225    225   
    ::aws_smithy_schema::ShapeId::from_static(
  226    226   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$MultiAttachEnabled",
  227    227   
        "com.amazonaws.ec2.synthetic",
  228    228   
        "CreateVolumeOutput",
  229    229   
    ),
  230    230   
    ::aws_smithy_schema::ShapeType::Boolean,
  231         -
    "multi_attach_enabled",
         231  +
    "MultiAttachEnabled",
  232    232   
    6,
  233    233   
)
  234    234   
.with_xml_name("multiAttachEnabled");
  235    235   
static CREATEVOLUMEOUTPUT_MEMBER_THROUGHPUT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  236    236   
    ::aws_smithy_schema::ShapeId::from_static(
  237    237   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$Throughput",
  238    238   
        "com.amazonaws.ec2.synthetic",
  239    239   
        "CreateVolumeOutput",
  240    240   
    ),
  241    241   
    ::aws_smithy_schema::ShapeType::Integer,
  242         -
    "throughput",
         242  +
    "Throughput",
  243    243   
    7,
  244    244   
)
  245    245   
.with_xml_name("throughput");
  246    246   
static CREATEVOLUMEOUTPUT_MEMBER_SSE_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  247    247   
    ::aws_smithy_schema::ShapeId::from_static(
  248    248   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$SseType",
  249    249   
        "com.amazonaws.ec2.synthetic",
  250    250   
        "CreateVolumeOutput",
  251    251   
    ),
  252    252   
    ::aws_smithy_schema::ShapeType::String,
  253         -
    "sse_type",
         253  +
    "SseType",
  254    254   
    8,
  255    255   
)
  256    256   
.with_xml_name("sseType");
  257    257   
static CREATEVOLUMEOUTPUT_MEMBER_OPERATOR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  258    258   
    ::aws_smithy_schema::ShapeId::from_static(
  259    259   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$Operator",
  260    260   
        "com.amazonaws.ec2.synthetic",
  261    261   
        "CreateVolumeOutput",
  262    262   
    ),
  263    263   
    ::aws_smithy_schema::ShapeType::Structure,
  264         -
    "operator",
         264  +
    "Operator",
  265    265   
    9,
  266    266   
)
  267    267   
.with_xml_name("operator");
  268    268   
static CREATEVOLUMEOUTPUT_MEMBER_VOLUME_INITIALIZATION_RATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  269    269   
    ::aws_smithy_schema::ShapeId::from_static(
  270    270   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$VolumeInitializationRate",
  271    271   
        "com.amazonaws.ec2.synthetic",
  272    272   
        "CreateVolumeOutput",
  273    273   
    ),
  274    274   
    ::aws_smithy_schema::ShapeType::Integer,
  275         -
    "volume_initialization_rate",
         275  +
    "VolumeInitializationRate",
  276    276   
    10,
  277    277   
)
  278    278   
.with_xml_name("volumeInitializationRate");
  279    279   
static CREATEVOLUMEOUTPUT_MEMBER_VOLUME_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  280    280   
    ::aws_smithy_schema::ShapeId::from_static(
  281    281   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$VolumeId",
  282    282   
        "com.amazonaws.ec2.synthetic",
  283    283   
        "CreateVolumeOutput",
  284    284   
    ),
  285    285   
    ::aws_smithy_schema::ShapeType::String,
  286         -
    "volume_id",
         286  +
    "VolumeId",
  287    287   
    11,
  288    288   
)
  289    289   
.with_xml_name("volumeId");
  290    290   
static CREATEVOLUMEOUTPUT_MEMBER_SIZE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  291    291   
    ::aws_smithy_schema::ShapeId::from_static(
  292    292   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$Size",
  293    293   
        "com.amazonaws.ec2.synthetic",
  294    294   
        "CreateVolumeOutput",
  295    295   
    ),
  296    296   
    ::aws_smithy_schema::ShapeType::Integer,
  297         -
    "size",
         297  +
    "Size",
  298    298   
    12,
  299    299   
)
  300    300   
.with_xml_name("size");
  301    301   
static CREATEVOLUMEOUTPUT_MEMBER_SNAPSHOT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  302    302   
    ::aws_smithy_schema::ShapeId::from_static(
  303    303   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$SnapshotId",
  304    304   
        "com.amazonaws.ec2.synthetic",
  305    305   
        "CreateVolumeOutput",
  306    306   
    ),
  307    307   
    ::aws_smithy_schema::ShapeType::String,
  308         -
    "snapshot_id",
         308  +
    "SnapshotId",
  309    309   
    13,
  310    310   
)
  311    311   
.with_xml_name("snapshotId");
  312    312   
static CREATEVOLUMEOUTPUT_MEMBER_AVAILABILITY_ZONE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  313    313   
    ::aws_smithy_schema::ShapeId::from_static(
  314    314   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$AvailabilityZone",
  315    315   
        "com.amazonaws.ec2.synthetic",
  316    316   
        "CreateVolumeOutput",
  317    317   
    ),
  318    318   
    ::aws_smithy_schema::ShapeType::String,
  319         -
    "availability_zone",
         319  +
    "AvailabilityZone",
  320    320   
    14,
  321    321   
)
  322    322   
.with_xml_name("availabilityZone");
  323    323   
static CREATEVOLUMEOUTPUT_MEMBER_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  324    324   
    ::aws_smithy_schema::ShapeId::from_static(
  325    325   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$State",
  326    326   
        "com.amazonaws.ec2.synthetic",
  327    327   
        "CreateVolumeOutput",
  328    328   
    ),
  329    329   
    ::aws_smithy_schema::ShapeType::String,
  330         -
    "state",
         330  +
    "State",
  331    331   
    15,
  332    332   
)
  333    333   
.with_xml_name("status");
  334    334   
static CREATEVOLUMEOUTPUT_MEMBER_CREATE_TIME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  335    335   
    ::aws_smithy_schema::ShapeId::from_static(
  336    336   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$CreateTime",
  337    337   
        "com.amazonaws.ec2.synthetic",
  338    338   
        "CreateVolumeOutput",
  339    339   
    ),
  340    340   
    ::aws_smithy_schema::ShapeType::Timestamp,
  341         -
    "create_time",
         341  +
    "CreateTime",
  342    342   
    16,
  343    343   
)
  344    344   
.with_xml_name("createTime");
  345    345   
static CREATEVOLUMEOUTPUT_MEMBER_ATTACHMENTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  346    346   
    ::aws_smithy_schema::ShapeId::from_static(
  347    347   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$Attachments",
  348    348   
        "com.amazonaws.ec2.synthetic",
  349    349   
        "CreateVolumeOutput",
  350    350   
    ),
  351    351   
    ::aws_smithy_schema::ShapeType::List,
  352         -
    "attachments",
         352  +
    "Attachments",
  353    353   
    17,
  354    354   
)
  355    355   
.with_xml_name("attachmentSet");
  356    356   
static CREATEVOLUMEOUTPUT_MEMBER_ENCRYPTED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  357    357   
    ::aws_smithy_schema::ShapeId::from_static(
  358    358   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$Encrypted",
  359    359   
        "com.amazonaws.ec2.synthetic",
  360    360   
        "CreateVolumeOutput",
  361    361   
    ),
  362    362   
    ::aws_smithy_schema::ShapeType::Boolean,
  363         -
    "encrypted",
         363  +
    "Encrypted",
  364    364   
    18,
  365    365   
)
  366    366   
.with_xml_name("encrypted");
  367    367   
static CREATEVOLUMEOUTPUT_MEMBER_KMS_KEY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  368    368   
    ::aws_smithy_schema::ShapeId::from_static(
  369    369   
        "com.amazonaws.ec2.synthetic#CreateVolumeOutput$KmsKeyId",
  370    370   
        "com.amazonaws.ec2.synthetic",
  371    371   
        "CreateVolumeOutput",
  372    372   
    ),
  373    373   
    ::aws_smithy_schema::ShapeType::String,
  374         -
    "kms_key_id",
         374  +
    "KmsKeyId",
  375    375   
    19,
  376    376   
)
  377    377   
.with_xml_name("kmsKeyId");
         378  +
static CREATEVOLUMEOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
         379  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
         380  +
    ::aws_smithy_schema::ShapeType::String,
         381  +
    "request_id",
         382  +
    20,
         383  +
)
         384  +
.with_http_header("x-amzn-requestid");
  378    385   
static CREATEVOLUMEOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  379    386   
    CREATEVOLUMEOUTPUT_SCHEMA_ID,
  380    387   
    ::aws_smithy_schema::ShapeType::Structure,
  381    388   
    &[
  382    389   
        &CREATEVOLUMEOUTPUT_MEMBER_AVAILABILITY_ZONE_ID,
  383    390   
        &CREATEVOLUMEOUTPUT_MEMBER_OUTPOST_ARN,
  384    391   
        &CREATEVOLUMEOUTPUT_MEMBER_IOPS,
  385    392   
        &CREATEVOLUMEOUTPUT_MEMBER_TAGS,
  386    393   
        &CREATEVOLUMEOUTPUT_MEMBER_VOLUME_TYPE,
  387    394   
        &CREATEVOLUMEOUTPUT_MEMBER_FAST_RESTORED,
  388    395   
        &CREATEVOLUMEOUTPUT_MEMBER_MULTI_ATTACH_ENABLED,
  389    396   
        &CREATEVOLUMEOUTPUT_MEMBER_THROUGHPUT,
  390    397   
        &CREATEVOLUMEOUTPUT_MEMBER_SSE_TYPE,
  391    398   
        &CREATEVOLUMEOUTPUT_MEMBER_OPERATOR,
  392    399   
        &CREATEVOLUMEOUTPUT_MEMBER_VOLUME_INITIALIZATION_RATE,
  393    400   
        &CREATEVOLUMEOUTPUT_MEMBER_VOLUME_ID,
  394    401   
        &CREATEVOLUMEOUTPUT_MEMBER_SIZE,
  395    402   
        &CREATEVOLUMEOUTPUT_MEMBER_SNAPSHOT_ID,
  396    403   
        &CREATEVOLUMEOUTPUT_MEMBER_AVAILABILITY_ZONE,
  397    404   
        &CREATEVOLUMEOUTPUT_MEMBER_STATE,
  398    405   
        &CREATEVOLUMEOUTPUT_MEMBER_CREATE_TIME,
  399    406   
        &CREATEVOLUMEOUTPUT_MEMBER_ATTACHMENTS,
  400    407   
        &CREATEVOLUMEOUTPUT_MEMBER_ENCRYPTED,
  401    408   
        &CREATEVOLUMEOUTPUT_MEMBER_KMS_KEY_ID,
         409  +
        &CREATEVOLUMEOUTPUT_MEMBER__REQUEST_ID,
  402    410   
    ],
  403    411   
);
  404    412   
impl CreateVolumeOutput {
  405    413   
    /// The schema for this shape.
  406    414   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATEVOLUMEOUTPUT_SCHEMA;
  407    415   
}
  408    416   
impl ::aws_smithy_schema::serde::SerializableStruct for CreateVolumeOutput {
  409    417   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  410    418   
    fn serialize_members(
  411    419   
        &self,
@@ -465,473 +610,720 @@
  485    493   
            ser.write_boolean(&CREATEVOLUMEOUTPUT_MEMBER_ENCRYPTED, *val)?;
  486    494   
        }
  487    495   
        if let Some(ref val) = self.kms_key_id {
  488    496   
            ser.write_string(&CREATEVOLUMEOUTPUT_MEMBER_KMS_KEY_ID, val)?;
  489    497   
        }
  490    498   
        Ok(())
  491    499   
    }
  492    500   
}
  493    501   
impl CreateVolumeOutput {
  494    502   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  495         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  496         -
        deserializer: &mut D,
         503  +
    pub fn deserialize(
         504  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  497    505   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  498    506   
        #[allow(unused_variables, unused_mut)]
  499    507   
        let mut builder = Self::builder();
  500    508   
        #[allow(
  501    509   
            unused_variables,
  502    510   
            unreachable_code,
  503    511   
            clippy::single_match,
  504    512   
            clippy::match_single_binding,
  505    513   
            clippy::diverging_sub_expression
  506    514   
        )]
  507         -
        deserializer.read_struct(&CREATEVOLUMEOUTPUT_SCHEMA, (), |_, member, deser| {
         515  +
        deserializer.read_struct(&CREATEVOLUMEOUTPUT_SCHEMA, &mut |member, deser| {
         516  +
            match member.member_index() {
         517  +
                Some(0) => {
         518  +
                    builder.availability_zone_id = Some(deser.read_string(member)?);
         519  +
                }
         520  +
                Some(1) => {
         521  +
                    builder.outpost_arn = Some(deser.read_string(member)?);
         522  +
                }
         523  +
                Some(2) => {
         524  +
                    builder.iops = Some(deser.read_integer(member)?);
         525  +
                }
         526  +
                Some(3) => {
         527  +
                    builder.tags = Some({
         528  +
                        let mut container = Vec::new();
         529  +
                        deser.read_list(member, &mut |deser| {
         530  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         531  +
                            Ok(())
         532  +
                        })?;
         533  +
                        container
         534  +
                    });
         535  +
                }
         536  +
                Some(4) => {
         537  +
                    builder.volume_type = Some(crate::types::VolumeType::from(deser.read_string(member)?.as_str()));
         538  +
                }
         539  +
                Some(5) => {
         540  +
                    builder.fast_restored = Some(deser.read_boolean(member)?);
         541  +
                }
         542  +
                Some(6) => {
         543  +
                    builder.multi_attach_enabled = Some(deser.read_boolean(member)?);
         544  +
                }
         545  +
                Some(7) => {
         546  +
                    builder.throughput = Some(deser.read_integer(member)?);
         547  +
                }
         548  +
                Some(8) => {
         549  +
                    builder.sse_type = Some(crate::types::SseType::from(deser.read_string(member)?.as_str()));
         550  +
                }
         551  +
                Some(9) => {
         552  +
                    builder.operator = Some(crate::types::OperatorResponse::deserialize(deser)?);
         553  +
                }
         554  +
                Some(10) => {
         555  +
                    builder.volume_initialization_rate = Some(deser.read_integer(member)?);
         556  +
                }
         557  +
                Some(11) => {
         558  +
                    builder.volume_id = Some(deser.read_string(member)?);
         559  +
                }
         560  +
                Some(12) => {
         561  +
                    builder.size = Some(deser.read_integer(member)?);
         562  +
                }
         563  +
                Some(13) => {
         564  +
                    builder.snapshot_id = Some(deser.read_string(member)?);
         565  +
                }
         566  +
                Some(14) => {
         567  +
                    builder.availability_zone = Some(deser.read_string(member)?);
         568  +
                }
         569  +
                Some(15) => {
         570  +
                    builder.state = Some(crate::types::VolumeState::from(deser.read_string(member)?.as_str()));
         571  +
                }
         572  +
                Some(16) => {
         573  +
                    builder.create_time = Some(deser.read_timestamp(member)?);
         574  +
                }
         575  +
                Some(17) => {
         576  +
                    builder.attachments = Some({
         577  +
                        let mut container = Vec::new();
         578  +
                        deser.read_list(member, &mut |deser| {
         579  +
                            container.push(crate::types::VolumeAttachment::deserialize(deser)?);
         580  +
                            Ok(())
         581  +
                        })?;
         582  +
                        container
         583  +
                    });
         584  +
                }
         585  +
                Some(18) => {
         586  +
                    builder.encrypted = Some(deser.read_boolean(member)?);
         587  +
                }
         588  +
                Some(19) => {
         589  +
                    builder.kms_key_id = Some(deser.read_string(member)?);
         590  +
                }
         591  +
                Some(20) => {
         592  +
                    builder._request_id = Some(deser.read_string(member)?);
         593  +
                }
         594  +
                _ => {}
         595  +
            }
         596  +
            Ok(())
         597  +
        })?;
         598  +
        Ok(builder.build())
         599  +
    }
         600  +
}
         601  +
impl CreateVolumeOutput {
         602  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         603  +
    /// Header-bound members are read directly from headers, avoiding runtime
         604  +
    /// member iteration overhead. Body members are read via the deserializer.
         605  +
    pub fn deserialize_with_response(
         606  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         607  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         608  +
        _status: u16,
         609  +
        _body: &[u8],
         610  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         611  +
        #[allow(unused_variables, unused_mut)]
         612  +
        let mut builder = Self::builder();
         613  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         614  +
            builder._request_id = Some(val.to_string());
         615  +
        }
         616  +
        #[allow(
         617  +
            unused_variables,
         618  +
            unreachable_code,
         619  +
            clippy::single_match,
         620  +
            clippy::match_single_binding,
         621  +
            clippy::diverging_sub_expression
         622  +
        )]
         623  +
        deserializer.read_struct(&CREATEVOLUMEOUTPUT_SCHEMA, &mut |member, deser| {
  508    624   
            match member.member_index() {
  509    625   
                Some(0) => {
  510    626   
                    builder.availability_zone_id = Some(deser.read_string(member)?);
  511    627   
                }
  512    628   
                Some(1) => {
  513    629   
                    builder.outpost_arn = Some(deser.read_string(member)?);
  514    630   
                }
  515    631   
                Some(2) => {
  516    632   
                    builder.iops = Some(deser.read_integer(member)?);
  517    633   
                }
  518    634   
                Some(3) => {
  519    635   
                    builder.tags = Some({
  520         -
                        let container = if let Some(cap) = deser.container_size() {
  521         -
                            Vec::with_capacity(cap)
  522         -
                        } else {
  523         -
                            Vec::new()
  524         -
                        };
  525         -
                        deser.read_list(member, container, |mut list, deser| {
  526         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  527         -
                            Ok(list)
  528         -
                        })?
         636  +
                        let mut container = Vec::new();
         637  +
                        deser.read_list(member, &mut |deser| {
         638  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         639  +
                            Ok(())
         640  +
                        })?;
         641  +
                        container
  529    642   
                    });
  530    643   
                }
  531    644   
                Some(4) => {
  532    645   
                    builder.volume_type = Some(crate::types::VolumeType::from(deser.read_string(member)?.as_str()));
  533    646   
                }
  534    647   
                Some(5) => {
  535    648   
                    builder.fast_restored = Some(deser.read_boolean(member)?);
  536    649   
                }
  537    650   
                Some(6) => {
  538    651   
                    builder.multi_attach_enabled = Some(deser.read_boolean(member)?);
  539    652   
                }
  540    653   
                Some(7) => {
  541    654   
                    builder.throughput = Some(deser.read_integer(member)?);
  542    655   
                }
  543    656   
                Some(8) => {
  544    657   
                    builder.sse_type = Some(crate::types::SseType::from(deser.read_string(member)?.as_str()));
  545    658   
                }
  546    659   
                Some(9) => {
  547    660   
                    builder.operator = Some(crate::types::OperatorResponse::deserialize(deser)?);
  548    661   
                }
  549    662   
                Some(10) => {
  550    663   
                    builder.volume_initialization_rate = Some(deser.read_integer(member)?);
  551    664   
                }
  552    665   
                Some(11) => {
  553    666   
                    builder.volume_id = Some(deser.read_string(member)?);
  554    667   
                }
  555    668   
                Some(12) => {
  556    669   
                    builder.size = Some(deser.read_integer(member)?);
  557    670   
                }
  558    671   
                Some(13) => {
  559    672   
                    builder.snapshot_id = Some(deser.read_string(member)?);
  560    673   
                }
  561    674   
                Some(14) => {
  562    675   
                    builder.availability_zone = Some(deser.read_string(member)?);
  563    676   
                }
  564    677   
                Some(15) => {
  565    678   
                    builder.state = Some(crate::types::VolumeState::from(deser.read_string(member)?.as_str()));
  566    679   
                }
  567    680   
                Some(16) => {
  568    681   
                    builder.create_time = Some(deser.read_timestamp(member)?);
  569    682   
                }
  570    683   
                Some(17) => {
  571    684   
                    builder.attachments = Some({
  572         -
                        let container = if let Some(cap) = deser.container_size() {
  573         -
                            Vec::with_capacity(cap)
  574         -
                        } else {
  575         -
                            Vec::new()
  576         -
                        };
  577         -
                        deser.read_list(member, container, |mut list, deser| {
  578         -
                            list.push(crate::types::VolumeAttachment::deserialize(deser)?);
  579         -
                            Ok(list)
  580         -
                        })?
         685  +
                        let mut container = Vec::new();
         686  +
                        deser.read_list(member, &mut |deser| {
         687  +
                            container.push(crate::types::VolumeAttachment::deserialize(deser)?);
         688  +
                            Ok(())
         689  +
                        })?;
         690  +
                        container
  581    691   
                    });
  582    692   
                }
  583    693   
                Some(18) => {
  584    694   
                    builder.encrypted = Some(deser.read_boolean(member)?);
  585    695   
                }
  586    696   
                Some(19) => {
  587    697   
                    builder.kms_key_id = Some(deser.read_string(member)?);
  588    698   
                }
  589    699   
                _ => {}
  590    700   
            }

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_vpc.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 `CreateVpc`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct CreateVpc;
    6      6   
impl CreateVpc {
    7      7   
    /// Creates a new `CreateVpc`
    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_vpc::CreateVpcInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::create_vpc::CreateVpcOutput::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_vpc::CreateVpcInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::create_vpc::CreateVpcOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::create_vpc::CreateVpcError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -115,119 +177,182 @@
  135    139   
                crate::operation::create_vpc::CreateVpcError,
  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 CreateVpcResponseDeserializer;
  144    148   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateVpcResponseDeserializer {
  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_vpc::de_create_vpc_http_error(status, headers, body)
  157    162   
        } else {

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_vpc/_create_vpc_input.rs

@@ -73,73 +246,246 @@
   93     93   
    "com.amazonaws.ec2.synthetic",
   94     94   
    "CreateVpcInput",
   95     95   
);
   96     96   
static CREATEVPCINPUT_MEMBER_CIDR_BLOCK: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   97     97   
    ::aws_smithy_schema::ShapeId::from_static(
   98     98   
        "com.amazonaws.ec2.synthetic#CreateVpcInput$CidrBlock",
   99     99   
        "com.amazonaws.ec2.synthetic",
  100    100   
        "CreateVpcInput",
  101    101   
    ),
  102    102   
    ::aws_smithy_schema::ShapeType::String,
  103         -
    "cidr_block",
         103  +
    "CidrBlock",
  104    104   
    0,
  105    105   
);
  106    106   
static CREATEVPCINPUT_MEMBER_IPV6_POOL: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  107    107   
    ::aws_smithy_schema::ShapeId::from_static(
  108    108   
        "com.amazonaws.ec2.synthetic#CreateVpcInput$Ipv6Pool",
  109    109   
        "com.amazonaws.ec2.synthetic",
  110    110   
        "CreateVpcInput",
  111    111   
    ),
  112    112   
    ::aws_smithy_schema::ShapeType::String,
  113         -
    "ipv6_pool",
         113  +
    "Ipv6Pool",
  114    114   
    1,
  115    115   
);
  116    116   
static CREATEVPCINPUT_MEMBER_IPV6_CIDR_BLOCK: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  117    117   
    ::aws_smithy_schema::ShapeId::from_static(
  118    118   
        "com.amazonaws.ec2.synthetic#CreateVpcInput$Ipv6CidrBlock",
  119    119   
        "com.amazonaws.ec2.synthetic",
  120    120   
        "CreateVpcInput",
  121    121   
    ),
  122    122   
    ::aws_smithy_schema::ShapeType::String,
  123         -
    "ipv6_cidr_block",
         123  +
    "Ipv6CidrBlock",
  124    124   
    2,
  125    125   
);
  126    126   
static CREATEVPCINPUT_MEMBER_IPV4_IPAM_POOL_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  127    127   
    ::aws_smithy_schema::ShapeId::from_static(
  128    128   
        "com.amazonaws.ec2.synthetic#CreateVpcInput$Ipv4IpamPoolId",
  129    129   
        "com.amazonaws.ec2.synthetic",
  130    130   
        "CreateVpcInput",
  131    131   
    ),
  132    132   
    ::aws_smithy_schema::ShapeType::String,
  133         -
    "ipv4_ipam_pool_id",
         133  +
    "Ipv4IpamPoolId",
  134    134   
    3,
  135    135   
);
  136    136   
static CREATEVPCINPUT_MEMBER_IPV4_NETMASK_LENGTH: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  137    137   
    ::aws_smithy_schema::ShapeId::from_static(
  138    138   
        "com.amazonaws.ec2.synthetic#CreateVpcInput$Ipv4NetmaskLength",
  139    139   
        "com.amazonaws.ec2.synthetic",
  140    140   
        "CreateVpcInput",
  141    141   
    ),
  142    142   
    ::aws_smithy_schema::ShapeType::Integer,
  143         -
    "ipv4_netmask_length",
         143  +
    "Ipv4NetmaskLength",
  144    144   
    4,
  145    145   
);
  146    146   
static CREATEVPCINPUT_MEMBER_IPV6_IPAM_POOL_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  147    147   
    ::aws_smithy_schema::ShapeId::from_static(
  148    148   
        "com.amazonaws.ec2.synthetic#CreateVpcInput$Ipv6IpamPoolId",
  149    149   
        "com.amazonaws.ec2.synthetic",
  150    150   
        "CreateVpcInput",
  151    151   
    ),
  152    152   
    ::aws_smithy_schema::ShapeType::String,
  153         -
    "ipv6_ipam_pool_id",
         153  +
    "Ipv6IpamPoolId",
  154    154   
    5,
  155    155   
);
  156    156   
static CREATEVPCINPUT_MEMBER_IPV6_NETMASK_LENGTH: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  157    157   
    ::aws_smithy_schema::ShapeId::from_static(
  158    158   
        "com.amazonaws.ec2.synthetic#CreateVpcInput$Ipv6NetmaskLength",
  159    159   
        "com.amazonaws.ec2.synthetic",
  160    160   
        "CreateVpcInput",
  161    161   
    ),
  162    162   
    ::aws_smithy_schema::ShapeType::Integer,
  163         -
    "ipv6_netmask_length",
         163  +
    "Ipv6NetmaskLength",
  164    164   
    6,
  165    165   
);
  166    166   
static CREATEVPCINPUT_MEMBER_IPV6_CIDR_BLOCK_NETWORK_BORDER_GROUP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  167    167   
    ::aws_smithy_schema::ShapeId::from_static(
  168    168   
        "com.amazonaws.ec2.synthetic#CreateVpcInput$Ipv6CidrBlockNetworkBorderGroup",
  169    169   
        "com.amazonaws.ec2.synthetic",
  170    170   
        "CreateVpcInput",
  171    171   
    ),
  172    172   
    ::aws_smithy_schema::ShapeType::String,
  173         -
    "ipv6_cidr_block_network_border_group",
         173  +
    "Ipv6CidrBlockNetworkBorderGroup",
  174    174   
    7,
  175    175   
);
  176    176   
static CREATEVPCINPUT_MEMBER_TAG_SPECIFICATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  177    177   
    ::aws_smithy_schema::ShapeId::from_static(
  178    178   
        "com.amazonaws.ec2.synthetic#CreateVpcInput$TagSpecifications",
  179    179   
        "com.amazonaws.ec2.synthetic",
  180    180   
        "CreateVpcInput",
  181    181   
    ),
  182    182   
    ::aws_smithy_schema::ShapeType::List,
  183         -
    "tag_specifications",
         183  +
    "TagSpecifications",
  184    184   
    8,
  185    185   
)
  186    186   
.with_xml_name("TagSpecification");
  187    187   
static CREATEVPCINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  188    188   
    ::aws_smithy_schema::ShapeId::from_static(
  189    189   
        "com.amazonaws.ec2.synthetic#CreateVpcInput$DryRun",
  190    190   
        "com.amazonaws.ec2.synthetic",
  191    191   
        "CreateVpcInput",
  192    192   
    ),
  193    193   
    ::aws_smithy_schema::ShapeType::Boolean,
  194         -
    "dry_run",
         194  +
    "DryRun",
  195    195   
    9,
  196    196   
)
  197    197   
.with_xml_name("dryRun");
  198    198   
static CREATEVPCINPUT_MEMBER_INSTANCE_TENANCY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  199    199   
    ::aws_smithy_schema::ShapeId::from_static(
  200    200   
        "com.amazonaws.ec2.synthetic#CreateVpcInput$InstanceTenancy",
  201    201   
        "com.amazonaws.ec2.synthetic",
  202    202   
        "CreateVpcInput",
  203    203   
    ),
  204    204   
    ::aws_smithy_schema::ShapeType::String,
  205         -
    "instance_tenancy",
         205  +
    "InstanceTenancy",
  206    206   
    10,
  207    207   
)
  208    208   
.with_xml_name("instanceTenancy");
  209    209   
static CREATEVPCINPUT_MEMBER_AMAZON_PROVIDED_IPV6_CIDR_BLOCK: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  210    210   
    ::aws_smithy_schema::ShapeId::from_static(
  211    211   
        "com.amazonaws.ec2.synthetic#CreateVpcInput$AmazonProvidedIpv6CidrBlock",
  212    212   
        "com.amazonaws.ec2.synthetic",
  213    213   
        "CreateVpcInput",
  214    214   
    ),
  215    215   
    ::aws_smithy_schema::ShapeType::Boolean,
  216         -
    "amazon_provided_ipv6_cidr_block",
         216  +
    "AmazonProvidedIpv6CidrBlock",
  217    217   
    11,
  218    218   
)
  219    219   
.with_xml_name("amazonProvidedIpv6CidrBlock");
  220    220   
static CREATEVPCINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  221    221   
    CREATEVPCINPUT_SCHEMA_ID,
  222    222   
    ::aws_smithy_schema::ShapeType::Structure,
  223    223   
    &[
  224    224   
        &CREATEVPCINPUT_MEMBER_CIDR_BLOCK,
  225    225   
        &CREATEVPCINPUT_MEMBER_IPV6_POOL,
  226    226   
        &CREATEVPCINPUT_MEMBER_IPV6_CIDR_BLOCK,
@@ -267,267 +395,403 @@
  287    287   
            ser.write_string(&CREATEVPCINPUT_MEMBER_INSTANCE_TENANCY, val.as_str())?;
  288    288   
        }
  289    289   
        if let Some(ref val) = self.amazon_provided_ipv6_cidr_block {
  290    290   
            ser.write_boolean(&CREATEVPCINPUT_MEMBER_AMAZON_PROVIDED_IPV6_CIDR_BLOCK, *val)?;
  291    291   
        }
  292    292   
        Ok(())
  293    293   
    }
  294    294   
}
  295    295   
impl CreateVpcInput {
  296    296   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  297         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  298         -
        deserializer: &mut D,
         297  +
    pub fn deserialize(
         298  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  299    299   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  300    300   
        #[allow(unused_variables, unused_mut)]
  301    301   
        let mut builder = Self::builder();
  302    302   
        #[allow(
  303    303   
            unused_variables,
  304    304   
            unreachable_code,
  305    305   
            clippy::single_match,
  306    306   
            clippy::match_single_binding,
  307    307   
            clippy::diverging_sub_expression
  308    308   
        )]
  309         -
        deserializer.read_struct(&CREATEVPCINPUT_SCHEMA, (), |_, member, deser| {
         309  +
        deserializer.read_struct(&CREATEVPCINPUT_SCHEMA, &mut |member, deser| {
  310    310   
            match member.member_index() {
  311    311   
                Some(0) => {
  312    312   
                    builder.cidr_block = Some(deser.read_string(member)?);
  313    313   
                }
  314    314   
                Some(1) => {
  315    315   
                    builder.ipv6_pool = Some(deser.read_string(member)?);
  316    316   
                }
  317    317   
                Some(2) => {
  318    318   
                    builder.ipv6_cidr_block = Some(deser.read_string(member)?);
  319    319   
                }
  320    320   
                Some(3) => {
  321    321   
                    builder.ipv4_ipam_pool_id = Some(deser.read_string(member)?);
  322    322   
                }
  323    323   
                Some(4) => {
  324    324   
                    builder.ipv4_netmask_length = Some(deser.read_integer(member)?);
  325    325   
                }
  326    326   
                Some(5) => {
  327    327   
                    builder.ipv6_ipam_pool_id = Some(deser.read_string(member)?);
  328    328   
                }
  329    329   
                Some(6) => {
  330    330   
                    builder.ipv6_netmask_length = Some(deser.read_integer(member)?);
  331    331   
                }
  332    332   
                Some(7) => {
  333    333   
                    builder.ipv6_cidr_block_network_border_group = Some(deser.read_string(member)?);
  334    334   
                }
  335    335   
                Some(8) => {
  336    336   
                    builder.tag_specifications = Some({
  337         -
                        let container = if let Some(cap) = deser.container_size() {
  338         -
                            Vec::with_capacity(cap)
  339         -
                        } else {
  340         -
                            Vec::new()
  341         -
                        };
  342         -
                        deser.read_list(member, container, |mut list, deser| {
  343         -
                            list.push(crate::types::TagSpecification::deserialize(deser)?);
  344         -
                            Ok(list)
  345         -
                        })?
         337  +
                        let mut container = Vec::new();
         338  +
                        deser.read_list(member, &mut |deser| {
         339  +
                            container.push(crate::types::TagSpecification::deserialize(deser)?);
         340  +
                            Ok(())
         341  +
                        })?;
         342  +
                        container
  346    343   
                    });
  347    344   
                }
  348    345   
                Some(9) => {
  349    346   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  350    347   
                }
  351    348   
                Some(10) => {
  352    349   
                    builder.instance_tenancy = Some(crate::types::Tenancy::from(deser.read_string(member)?.as_str()));
  353    350   
                }
  354    351   
                Some(11) => {
  355    352   
                    builder.amazon_provided_ipv6_cidr_block = Some(deser.read_boolean(member)?);
  356    353   
                }
  357    354   
                _ => {}
  358    355   
            }
  359    356   
            Ok(())
  360    357   
        })?;
  361    358   
        builder
  362    359   
            .build()
  363    360   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  364    361   
    }
  365    362   
}
         363  +
impl CreateVpcInput {
         364  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         365  +
    pub fn deserialize_with_response(
         366  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         367  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         368  +
        _status: u16,
         369  +
        _body: &[u8],
         370  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         371  +
        Self::deserialize(deserializer)
         372  +
    }
         373  +
}
  366    374   
impl CreateVpcInput {
  367    375   
    /// Creates a new builder-style object to manufacture [`CreateVpcInput`](crate::operation::create_vpc::CreateVpcInput).
  368    376   
    pub fn builder() -> crate::operation::create_vpc::builders::CreateVpcInputBuilder {
  369    377   
        crate::operation::create_vpc::builders::CreateVpcInputBuilder::default()
  370    378   
    }
  371    379   
}
  372    380   
  373    381   
/// A builder for [`CreateVpcInput`](crate::operation::create_vpc::CreateVpcInput).
  374    382   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  375    383   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_vpc/_create_vpc_output.rs

@@ -1,1 +97,141 @@
   18     18   
    "com.amazonaws.ec2.synthetic",
   19     19   
    "CreateVpcOutput",
   20     20   
);
   21     21   
static CREATEVPCOUTPUT_MEMBER_VPC: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   22     22   
    ::aws_smithy_schema::ShapeId::from_static(
   23     23   
        "com.amazonaws.ec2.synthetic#CreateVpcOutput$Vpc",
   24     24   
        "com.amazonaws.ec2.synthetic",
   25     25   
        "CreateVpcOutput",
   26     26   
    ),
   27     27   
    ::aws_smithy_schema::ShapeType::Structure,
   28         -
    "vpc",
          28  +
    "Vpc",
   29     29   
    0,
   30     30   
)
   31     31   
.with_xml_name("vpc");
          32  +
static CREATEVPCOUTPUT_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 CREATEVPCOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   33     40   
    CREATEVPCOUTPUT_SCHEMA_ID,
   34     41   
    ::aws_smithy_schema::ShapeType::Structure,
   35         -
    &[&CREATEVPCOUTPUT_MEMBER_VPC],
          42  +
    &[&CREATEVPCOUTPUT_MEMBER_VPC, &CREATEVPCOUTPUT_MEMBER__REQUEST_ID],
   36     43   
);
   37     44   
impl CreateVpcOutput {
   38     45   
    /// The schema for this shape.
   39     46   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATEVPCOUTPUT_SCHEMA;
   40     47   
}
   41     48   
impl ::aws_smithy_schema::serde::SerializableStruct for CreateVpcOutput {
   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.vpc {
   48     55   
            ser.write_struct(&CREATEVPCOUTPUT_MEMBER_VPC, val)?;
   49     56   
        }
   50     57   
        Ok(())
   51     58   
    }
   52     59   
}
   53     60   
impl CreateVpcOutput {
   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(&CREATEVPCOUTPUT_SCHEMA, (), |_, member, deser| {
          74  +
        deserializer.read_struct(&CREATEVPCOUTPUT_SCHEMA, &mut |member, deser| {
          75  +
            match member.member_index() {
          76  +
                Some(0) => {
          77  +
                    builder.vpc = Some(crate::types::Vpc::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 CreateVpcOutput {
          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(&CREATEVPCOUTPUT_SCHEMA, &mut |member, deser| {
   68    112   
            match member.member_index() {
   69    113   
                Some(0) => {
   70    114   
                    builder.vpc = Some(crate::types::Vpc::deserialize(deser)?);
   71    115   
                }
   72    116   
                _ => {}
   73    117   
            }
   74    118   
            Ok(())
   75    119   
        })?;
   76    120   
        Ok(builder.build())
   77    121   
    }

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_vpc_block_public_access_exclusion.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 `CreateVpcBlockPublicAccessExclusion`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct CreateVpcBlockPublicAccessExclusion;
    6      6   
impl CreateVpcBlockPublicAccessExclusion {
    7      7   
    /// Creates a new `CreateVpcBlockPublicAccessExclusion`
    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_vpc_block_public_access_exclusion::CreateVpcBlockPublicAccessExclusionInput::SCHEMA;
          14  +
    /// The schema for this operation's output shape.
          15  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          16  +
        crate::operation::create_vpc_block_public_access_exclusion::CreateVpcBlockPublicAccessExclusionOutput::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_vpc_block_public_access_exclusion::CreateVpcBlockPublicAccessExclusionInput,
   14     20   
    ) -> ::std::result::Result<
   15     21   
        crate::operation::create_vpc_block_public_access_exclusion::CreateVpcBlockPublicAccessExclusionOutput,
   16     22   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     23   
            crate::operation::create_vpc_block_public_access_exclusion::CreateVpcBlockPublicAccessExclusionError,
   18     24   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     25   
        >,
   20     26   
    > {
@@ -124,130 +186,193 @@
  144    150   
                crate::operation::create_vpc_block_public_access_exclusion::CreateVpcBlockPublicAccessExclusionError,
  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 CreateVpcBlockPublicAccessExclusionResponseDeserializer;
  153    159   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateVpcBlockPublicAccessExclusionResponseDeserializer {
  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_vpc_block_public_access_exclusion::de_create_vpc_block_public_access_exclusion_http_error(
  166    173   
                status, headers, body,

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_vpc_block_public_access_exclusion/_create_vpc_block_public_access_exclusion_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_vpc_block_public_access_exclusion/_create_vpc_block_public_access_exclusion_output.rs

@@ -1,1 +98,145 @@
   19     19   
    "CreateVpcBlockPublicAccessExclusionOutput",
   20     20   
);
   21     21   
static CREATEVPCBLOCKPUBLICACCESSEXCLUSIONOUTPUT_MEMBER_VPC_BLOCK_PUBLIC_ACCESS_EXCLUSION: ::aws_smithy_schema::Schema =
   22     22   
    ::aws_smithy_schema::Schema::new_member(
   23     23   
        ::aws_smithy_schema::ShapeId::from_static(
   24     24   
            "com.amazonaws.ec2.synthetic#CreateVpcBlockPublicAccessExclusionOutput$VpcBlockPublicAccessExclusion",
   25     25   
            "com.amazonaws.ec2.synthetic",
   26     26   
            "CreateVpcBlockPublicAccessExclusionOutput",
   27     27   
        ),
   28     28   
        ::aws_smithy_schema::ShapeType::Structure,
   29         -
        "vpc_block_public_access_exclusion",
          29  +
        "VpcBlockPublicAccessExclusion",
   30     30   
        0,
   31     31   
    )
   32     32   
    .with_xml_name("vpcBlockPublicAccessExclusion");
          33  +
static CREATEVPCBLOCKPUBLICACCESSEXCLUSIONOUTPUT_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 CREATEVPCBLOCKPUBLICACCESSEXCLUSIONOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   34     41   
    CREATEVPCBLOCKPUBLICACCESSEXCLUSIONOUTPUT_SCHEMA_ID,
   35     42   
    ::aws_smithy_schema::ShapeType::Structure,
   36         -
    &[&CREATEVPCBLOCKPUBLICACCESSEXCLUSIONOUTPUT_MEMBER_VPC_BLOCK_PUBLIC_ACCESS_EXCLUSION],
          43  +
    &[
          44  +
        &CREATEVPCBLOCKPUBLICACCESSEXCLUSIONOUTPUT_MEMBER_VPC_BLOCK_PUBLIC_ACCESS_EXCLUSION,
          45  +
        &CREATEVPCBLOCKPUBLICACCESSEXCLUSIONOUTPUT_MEMBER__REQUEST_ID,
          46  +
    ],
   37     47   
);
   38     48   
impl CreateVpcBlockPublicAccessExclusionOutput {
   39     49   
    /// The schema for this shape.
   40     50   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATEVPCBLOCKPUBLICACCESSEXCLUSIONOUTPUT_SCHEMA;
   41     51   
}
   42     52   
impl ::aws_smithy_schema::serde::SerializableStruct for CreateVpcBlockPublicAccessExclusionOutput {
   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.vpc_block_public_access_exclusion {
   49     59   
            ser.write_struct(&CREATEVPCBLOCKPUBLICACCESSEXCLUSIONOUTPUT_MEMBER_VPC_BLOCK_PUBLIC_ACCESS_EXCLUSION, val)?;
   50     60   
        }
   51     61   
        Ok(())
   52     62   
    }
   53     63   
}
   54     64   
impl CreateVpcBlockPublicAccessExclusionOutput {
   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(&CREATEVPCBLOCKPUBLICACCESSEXCLUSIONOUTPUT_SCHEMA, (), |_, member, deser| {
          78  +
        deserializer.read_struct(&CREATEVPCBLOCKPUBLICACCESSEXCLUSIONOUTPUT_SCHEMA, &mut |member, deser| {
          79  +
            match member.member_index() {
          80  +
                Some(0) => {
          81  +
                    builder.vpc_block_public_access_exclusion = Some(crate::types::VpcBlockPublicAccessExclusion::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 CreateVpcBlockPublicAccessExclusionOutput {
          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(&CREATEVPCBLOCKPUBLICACCESSEXCLUSIONOUTPUT_SCHEMA, &mut |member, deser| {
   69    116   
            match member.member_index() {
   70    117   
                Some(0) => {
   71    118   
                    builder.vpc_block_public_access_exclusion = Some(crate::types::VpcBlockPublicAccessExclusion::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_vpc_endpoint.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 `CreateVpcEndpoint`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct CreateVpcEndpoint;
    6      6   
impl CreateVpcEndpoint {
    7      7   
    /// Creates a new `CreateVpcEndpoint`
    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_vpc_endpoint::CreateVpcEndpointInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::create_vpc_endpoint::CreateVpcEndpointOutput::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_vpc_endpoint::CreateVpcEndpointInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::create_vpc_endpoint::CreateVpcEndpointOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::create_vpc_endpoint::CreateVpcEndpointError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -115,119 +177,182 @@
  135    139   
                crate::operation::create_vpc_endpoint::CreateVpcEndpointError,
  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 CreateVpcEndpointResponseDeserializer;
  144    148   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateVpcEndpointResponseDeserializer {
  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_vpc_endpoint::de_create_vpc_endpoint_http_error(status, headers, body)
  157    162   
        } else {

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_vpc_endpoint/_create_vpc_endpoint_input.rs

@@ -107,107 +332,332 @@
  127    127   
    "com.amazonaws.ec2.synthetic",
  128    128   
    "CreateVpcEndpointInput",
  129    129   
);
  130    130   
static CREATEVPCENDPOINTINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  131    131   
    ::aws_smithy_schema::ShapeId::from_static(
  132    132   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$DryRun",
  133    133   
        "com.amazonaws.ec2.synthetic",
  134    134   
        "CreateVpcEndpointInput",
  135    135   
    ),
  136    136   
    ::aws_smithy_schema::ShapeType::Boolean,
  137         -
    "dry_run",
         137  +
    "DryRun",
  138    138   
    0,
  139    139   
);
  140    140   
static CREATEVPCENDPOINTINPUT_MEMBER_VPC_ENDPOINT_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  141    141   
    ::aws_smithy_schema::ShapeId::from_static(
  142    142   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$VpcEndpointType",
  143    143   
        "com.amazonaws.ec2.synthetic",
  144    144   
        "CreateVpcEndpointInput",
  145    145   
    ),
  146    146   
    ::aws_smithy_schema::ShapeType::String,
  147         -
    "vpc_endpoint_type",
         147  +
    "VpcEndpointType",
  148    148   
    1,
  149    149   
);
  150    150   
static CREATEVPCENDPOINTINPUT_MEMBER_VPC_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  151    151   
    ::aws_smithy_schema::ShapeId::from_static(
  152    152   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$VpcId",
  153    153   
        "com.amazonaws.ec2.synthetic",
  154    154   
        "CreateVpcEndpointInput",
  155    155   
    ),
  156    156   
    ::aws_smithy_schema::ShapeType::String,
  157         -
    "vpc_id",
         157  +
    "VpcId",
  158    158   
    2,
  159    159   
);
  160    160   
static CREATEVPCENDPOINTINPUT_MEMBER_SERVICE_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  161    161   
    ::aws_smithy_schema::ShapeId::from_static(
  162    162   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$ServiceName",
  163    163   
        "com.amazonaws.ec2.synthetic",
  164    164   
        "CreateVpcEndpointInput",
  165    165   
    ),
  166    166   
    ::aws_smithy_schema::ShapeType::String,
  167         -
    "service_name",
         167  +
    "ServiceName",
  168    168   
    3,
  169    169   
);
  170    170   
static CREATEVPCENDPOINTINPUT_MEMBER_POLICY_DOCUMENT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  171    171   
    ::aws_smithy_schema::ShapeId::from_static(
  172    172   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$PolicyDocument",
  173    173   
        "com.amazonaws.ec2.synthetic",
  174    174   
        "CreateVpcEndpointInput",
  175    175   
    ),
  176    176   
    ::aws_smithy_schema::ShapeType::String,
  177         -
    "policy_document",
         177  +
    "PolicyDocument",
  178    178   
    4,
  179    179   
);
  180    180   
static CREATEVPCENDPOINTINPUT_MEMBER_ROUTE_TABLE_IDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  181    181   
    ::aws_smithy_schema::ShapeId::from_static(
  182    182   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$RouteTableIds",
  183    183   
        "com.amazonaws.ec2.synthetic",
  184    184   
        "CreateVpcEndpointInput",
  185    185   
    ),
  186    186   
    ::aws_smithy_schema::ShapeType::List,
  187         -
    "route_table_ids",
         187  +
    "RouteTableIds",
  188    188   
    5,
  189    189   
)
  190    190   
.with_xml_name("RouteTableId");
  191    191   
static CREATEVPCENDPOINTINPUT_MEMBER_SUBNET_IDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  192    192   
    ::aws_smithy_schema::ShapeId::from_static(
  193    193   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$SubnetIds",
  194    194   
        "com.amazonaws.ec2.synthetic",
  195    195   
        "CreateVpcEndpointInput",
  196    196   
    ),
  197    197   
    ::aws_smithy_schema::ShapeType::List,
  198         -
    "subnet_ids",
         198  +
    "SubnetIds",
  199    199   
    6,
  200    200   
)
  201    201   
.with_xml_name("SubnetId");
  202    202   
static CREATEVPCENDPOINTINPUT_MEMBER_SECURITY_GROUP_IDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  203    203   
    ::aws_smithy_schema::ShapeId::from_static(
  204    204   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$SecurityGroupIds",
  205    205   
        "com.amazonaws.ec2.synthetic",
  206    206   
        "CreateVpcEndpointInput",
  207    207   
    ),
  208    208   
    ::aws_smithy_schema::ShapeType::List,
  209         -
    "security_group_ids",
         209  +
    "SecurityGroupIds",
  210    210   
    7,
  211    211   
)
  212    212   
.with_xml_name("SecurityGroupId");
  213    213   
static CREATEVPCENDPOINTINPUT_MEMBER_IP_ADDRESS_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  214    214   
    ::aws_smithy_schema::ShapeId::from_static(
  215    215   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$IpAddressType",
  216    216   
        "com.amazonaws.ec2.synthetic",
  217    217   
        "CreateVpcEndpointInput",
  218    218   
    ),
  219    219   
    ::aws_smithy_schema::ShapeType::String,
  220         -
    "ip_address_type",
         220  +
    "IpAddressType",
  221    221   
    8,
  222    222   
);
  223    223   
static CREATEVPCENDPOINTINPUT_MEMBER_DNS_OPTIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  224    224   
    ::aws_smithy_schema::ShapeId::from_static(
  225    225   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$DnsOptions",
  226    226   
        "com.amazonaws.ec2.synthetic",
  227    227   
        "CreateVpcEndpointInput",
  228    228   
    ),
  229    229   
    ::aws_smithy_schema::ShapeType::Structure,
  230         -
    "dns_options",
         230  +
    "DnsOptions",
  231    231   
    9,
  232    232   
);
  233    233   
static CREATEVPCENDPOINTINPUT_MEMBER_CLIENT_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  234    234   
    ::aws_smithy_schema::ShapeId::from_static(
  235    235   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$ClientToken",
  236    236   
        "com.amazonaws.ec2.synthetic",
  237    237   
        "CreateVpcEndpointInput",
  238    238   
    ),
  239    239   
    ::aws_smithy_schema::ShapeType::String,
  240         -
    "client_token",
         240  +
    "ClientToken",
  241    241   
    10,
  242    242   
);
  243    243   
static CREATEVPCENDPOINTINPUT_MEMBER_PRIVATE_DNS_ENABLED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  244    244   
    ::aws_smithy_schema::ShapeId::from_static(
  245    245   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$PrivateDnsEnabled",
  246    246   
        "com.amazonaws.ec2.synthetic",
  247    247   
        "CreateVpcEndpointInput",
  248    248   
    ),
  249    249   
    ::aws_smithy_schema::ShapeType::Boolean,
  250         -
    "private_dns_enabled",
         250  +
    "PrivateDnsEnabled",
  251    251   
    11,
  252    252   
);
  253    253   
static CREATEVPCENDPOINTINPUT_MEMBER_TAG_SPECIFICATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  254    254   
    ::aws_smithy_schema::ShapeId::from_static(
  255    255   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$TagSpecifications",
  256    256   
        "com.amazonaws.ec2.synthetic",
  257    257   
        "CreateVpcEndpointInput",
  258    258   
    ),
  259    259   
    ::aws_smithy_schema::ShapeType::List,
  260         -
    "tag_specifications",
         260  +
    "TagSpecifications",
  261    261   
    12,
  262    262   
)
  263    263   
.with_xml_name("TagSpecification");
  264    264   
static CREATEVPCENDPOINTINPUT_MEMBER_SUBNET_CONFIGURATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  265    265   
    ::aws_smithy_schema::ShapeId::from_static(
  266    266   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$SubnetConfigurations",
  267    267   
        "com.amazonaws.ec2.synthetic",
  268    268   
        "CreateVpcEndpointInput",
  269    269   
    ),
  270    270   
    ::aws_smithy_schema::ShapeType::List,
  271         -
    "subnet_configurations",
         271  +
    "SubnetConfigurations",
  272    272   
    13,
  273    273   
)
  274    274   
.with_xml_name("SubnetConfiguration");
  275    275   
static CREATEVPCENDPOINTINPUT_MEMBER_SERVICE_NETWORK_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  276    276   
    ::aws_smithy_schema::ShapeId::from_static(
  277    277   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$ServiceNetworkArn",
  278    278   
        "com.amazonaws.ec2.synthetic",
  279    279   
        "CreateVpcEndpointInput",
  280    280   
    ),
  281    281   
    ::aws_smithy_schema::ShapeType::String,
  282         -
    "service_network_arn",
         282  +
    "ServiceNetworkArn",
  283    283   
    14,
  284    284   
);
  285    285   
static CREATEVPCENDPOINTINPUT_MEMBER_RESOURCE_CONFIGURATION_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  286    286   
    ::aws_smithy_schema::ShapeId::from_static(
  287    287   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$ResourceConfigurationArn",
  288    288   
        "com.amazonaws.ec2.synthetic",
  289    289   
        "CreateVpcEndpointInput",
  290    290   
    ),
  291    291   
    ::aws_smithy_schema::ShapeType::String,
  292         -
    "resource_configuration_arn",
         292  +
    "ResourceConfigurationArn",
  293    293   
    15,
  294    294   
);
  295    295   
static CREATEVPCENDPOINTINPUT_MEMBER_SERVICE_REGION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  296    296   
    ::aws_smithy_schema::ShapeId::from_static(
  297    297   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointInput$ServiceRegion",
  298    298   
        "com.amazonaws.ec2.synthetic",
  299    299   
        "CreateVpcEndpointInput",
  300    300   
    ),
  301    301   
    ::aws_smithy_schema::ShapeType::String,
  302         -
    "service_region",
         302  +
    "ServiceRegion",
  303    303   
    16,
  304    304   
);
  305    305   
static CREATEVPCENDPOINTINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  306    306   
    CREATEVPCENDPOINTINPUT_SCHEMA_ID,
  307    307   
    ::aws_smithy_schema::ShapeType::Structure,
  308    308   
    &[
  309    309   
        &CREATEVPCENDPOINTINPUT_MEMBER_DRY_RUN,
  310    310   
        &CREATEVPCENDPOINTINPUT_MEMBER_VPC_ENDPOINT_TYPE,
  311    311   
        &CREATEVPCENDPOINTINPUT_MEMBER_VPC_ID,
  312    312   
        &CREATEVPCENDPOINTINPUT_MEMBER_SERVICE_NAME,
@@ -404,404 +587,563 @@
  424    424   
            ser.write_string(&CREATEVPCENDPOINTINPUT_MEMBER_RESOURCE_CONFIGURATION_ARN, val)?;
  425    425   
        }
  426    426   
        if let Some(ref val) = self.service_region {
  427    427   
            ser.write_string(&CREATEVPCENDPOINTINPUT_MEMBER_SERVICE_REGION, val)?;
  428    428   
        }
  429    429   
        Ok(())
  430    430   
    }
  431    431   
}
  432    432   
impl CreateVpcEndpointInput {
  433    433   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  434         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  435         -
        deserializer: &mut D,
         434  +
    pub fn deserialize(
         435  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  436    436   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  437    437   
        #[allow(unused_variables, unused_mut)]
  438    438   
        let mut builder = Self::builder();
  439    439   
        #[allow(
  440    440   
            unused_variables,
  441    441   
            unreachable_code,
  442    442   
            clippy::single_match,
  443    443   
            clippy::match_single_binding,
  444    444   
            clippy::diverging_sub_expression
  445    445   
        )]
  446         -
        deserializer.read_struct(&CREATEVPCENDPOINTINPUT_SCHEMA, (), |_, member, deser| {
         446  +
        deserializer.read_struct(&CREATEVPCENDPOINTINPUT_SCHEMA, &mut |member, deser| {
  447    447   
            match member.member_index() {
  448    448   
                Some(0) => {
  449    449   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  450    450   
                }
  451    451   
                Some(1) => {
  452    452   
                    builder.vpc_endpoint_type = Some(crate::types::VpcEndpointType::from(deser.read_string(member)?.as_str()));
  453    453   
                }
  454    454   
                Some(2) => {
  455    455   
                    builder.vpc_id = Some(deser.read_string(member)?);
  456    456   
                }
  457    457   
                Some(3) => {
  458    458   
                    builder.service_name = Some(deser.read_string(member)?);
  459    459   
                }
  460    460   
                Some(4) => {
  461    461   
                    builder.policy_document = Some(deser.read_string(member)?);
  462    462   
                }
  463    463   
                Some(5) => {
  464         -
                    builder.route_table_ids = Some({
  465         -
                        let container = if let Some(cap) = deser.container_size() {
  466         -
                            Vec::with_capacity(cap)
  467         -
                        } else {
  468         -
                            Vec::new()
  469         -
                        };
  470         -
                        deser.read_list(member, container, |mut list, deser| {
  471         -
                            list.push(deser.read_string(member)?);
  472         -
                            Ok(list)
  473         -
                        })?
  474         -
                    });
         464  +
                    builder.route_table_ids = Some(deser.read_string_list(member)?);
  475    465   
                }
  476    466   
                Some(6) => {
  477         -
                    builder.subnet_ids = Some({
  478         -
                        let container = if let Some(cap) = deser.container_size() {
  479         -
                            Vec::with_capacity(cap)
  480         -
                        } else {
  481         -
                            Vec::new()
  482         -
                        };
  483         -
                        deser.read_list(member, container, |mut list, deser| {
  484         -
                            list.push(deser.read_string(member)?);
  485         -
                            Ok(list)
  486         -
                        })?
  487         -
                    });
         467  +
                    builder.subnet_ids = Some(deser.read_string_list(member)?);
  488    468   
                }
  489    469   
                Some(7) => {
  490         -
                    builder.security_group_ids = Some({
  491         -
                        let container = if let Some(cap) = deser.container_size() {
  492         -
                            Vec::with_capacity(cap)
  493         -
                        } else {
  494         -
                            Vec::new()
  495         -
                        };
  496         -
                        deser.read_list(member, container, |mut list, deser| {
  497         -
                            list.push(deser.read_string(member)?);
  498         -
                            Ok(list)
  499         -
                        })?
  500         -
                    });
         470  +
                    builder.security_group_ids = Some(deser.read_string_list(member)?);
  501    471   
                }
  502    472   
                Some(8) => {
  503    473   
                    builder.ip_address_type = Some(crate::types::IpAddressType::from(deser.read_string(member)?.as_str()));
  504    474   
                }
  505    475   
                Some(9) => {
  506    476   
                    builder.dns_options = Some(crate::types::DnsOptionsSpecification::deserialize(deser)?);
  507    477   
                }
  508    478   
                Some(10) => {
  509    479   
                    builder.client_token = Some(deser.read_string(member)?);
  510    480   
                }
  511    481   
                Some(11) => {
  512    482   
                    builder.private_dns_enabled = Some(deser.read_boolean(member)?);
  513    483   
                }
  514    484   
                Some(12) => {
  515    485   
                    builder.tag_specifications = Some({
  516         -
                        let container = if let Some(cap) = deser.container_size() {
  517         -
                            Vec::with_capacity(cap)
  518         -
                        } else {
  519         -
                            Vec::new()
  520         -
                        };
  521         -
                        deser.read_list(member, container, |mut list, deser| {
  522         -
                            list.push(crate::types::TagSpecification::deserialize(deser)?);
  523         -
                            Ok(list)
  524         -
                        })?
         486  +
                        let mut container = Vec::new();
         487  +
                        deser.read_list(member, &mut |deser| {
         488  +
                            container.push(crate::types::TagSpecification::deserialize(deser)?);
         489  +
                            Ok(())
         490  +
                        })?;
         491  +
                        container
  525    492   
                    });
  526    493   
                }
  527    494   
                Some(13) => {
  528    495   
                    builder.subnet_configurations = Some({
  529         -
                        let container = if let Some(cap) = deser.container_size() {
  530         -
                            Vec::with_capacity(cap)
  531         -
                        } else {
  532         -
                            Vec::new()
  533         -
                        };
  534         -
                        deser.read_list(member, container, |mut list, deser| {
  535         -
                            list.push(crate::types::SubnetConfiguration::deserialize(deser)?);
  536         -
                            Ok(list)
  537         -
                        })?
         496  +
                        let mut container = Vec::new();
         497  +
                        deser.read_list(member, &mut |deser| {
         498  +
                            container.push(crate::types::SubnetConfiguration::deserialize(deser)?);
         499  +
                            Ok(())
         500  +
                        })?;
         501  +
                        container
  538    502   
                    });
  539    503   
                }
  540    504   
                Some(14) => {
  541    505   
                    builder.service_network_arn = Some(deser.read_string(member)?);
  542    506   
                }
  543    507   
                Some(15) => {
  544    508   
                    builder.resource_configuration_arn = Some(deser.read_string(member)?);
  545    509   
                }
  546    510   
                Some(16) => {
  547    511   
                    builder.service_region = Some(deser.read_string(member)?);
  548    512   
                }
  549    513   
                _ => {}
  550    514   
            }
  551    515   
            Ok(())
  552    516   
        })?;
         517  +
        builder.vpc_id = builder.vpc_id.or(Some(String::new()));
  553    518   
        builder
  554    519   
            .build()
  555    520   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  556    521   
    }
  557    522   
}
         523  +
impl CreateVpcEndpointInput {
         524  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         525  +
    pub fn deserialize_with_response(
         526  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         527  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         528  +
        _status: u16,
         529  +
        _body: &[u8],
         530  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         531  +
        Self::deserialize(deserializer)
         532  +
    }
         533  +
}
  558    534   
impl CreateVpcEndpointInput {
  559    535   
    /// Creates a new builder-style object to manufacture [`CreateVpcEndpointInput`](crate::operation::create_vpc_endpoint::CreateVpcEndpointInput).
  560    536   
    pub fn builder() -> crate::operation::create_vpc_endpoint::builders::CreateVpcEndpointInputBuilder {
  561    537   
        crate::operation::create_vpc_endpoint::builders::CreateVpcEndpointInputBuilder::default()
  562    538   
    }
  563    539   
}
  564    540   
  565    541   
/// A builder for [`CreateVpcEndpointInput`](crate::operation::create_vpc_endpoint::CreateVpcEndpointInput).
  566    542   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  567    543   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_vpc_endpoint/_create_vpc_endpoint_output.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_vpc_endpoint_connection_notification.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 `CreateVpcEndpointConnectionNotification`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct CreateVpcEndpointConnectionNotification;
    6      6   
impl CreateVpcEndpointConnectionNotification {
    7      7   
    /// Creates a new `CreateVpcEndpointConnectionNotification`
    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_vpc_endpoint_connection_notification::CreateVpcEndpointConnectionNotificationInput::SCHEMA;
          14  +
    /// The schema for this operation's output shape.
          15  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          16  +
        crate::operation::create_vpc_endpoint_connection_notification::CreateVpcEndpointConnectionNotificationOutput::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_vpc_endpoint_connection_notification::CreateVpcEndpointConnectionNotificationInput,
   14     20   
    ) -> ::std::result::Result<
   15     21   
        crate::operation::create_vpc_endpoint_connection_notification::CreateVpcEndpointConnectionNotificationOutput,
   16     22   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     23   
            crate::operation::create_vpc_endpoint_connection_notification::CreateVpcEndpointConnectionNotificationError,
   18     24   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     25   
        >,
   20     26   
    > {
@@ -124,130 +186,193 @@
  144    150   
                crate::operation::create_vpc_endpoint_connection_notification::CreateVpcEndpointConnectionNotificationError,
  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 CreateVpcEndpointConnectionNotificationResponseDeserializer;
  153    159   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateVpcEndpointConnectionNotificationResponseDeserializer {
  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_vpc_endpoint_connection_notification::de_create_vpc_endpoint_connection_notification_http_error(
  166    173   
                status, headers, body,

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_vpc_endpoint_connection_notification/_create_vpc_endpoint_connection_notification_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_vpc_endpoint_connection_notification/_create_vpc_endpoint_connection_notification_output.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_vpc_endpoint_service_configuration.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 `CreateVpcEndpointServiceConfiguration`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct CreateVpcEndpointServiceConfiguration;
    6      6   
impl CreateVpcEndpointServiceConfiguration {
    7      7   
    /// Creates a new `CreateVpcEndpointServiceConfiguration`
    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_vpc_endpoint_service_configuration::CreateVpcEndpointServiceConfigurationInput::SCHEMA;
          14  +
    /// The schema for this operation's output shape.
          15  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          16  +
        crate::operation::create_vpc_endpoint_service_configuration::CreateVpcEndpointServiceConfigurationOutput::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_vpc_endpoint_service_configuration::CreateVpcEndpointServiceConfigurationInput,
   14     20   
    ) -> ::std::result::Result<
   15     21   
        crate::operation::create_vpc_endpoint_service_configuration::CreateVpcEndpointServiceConfigurationOutput,
   16     22   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     23   
            crate::operation::create_vpc_endpoint_service_configuration::CreateVpcEndpointServiceConfigurationError,
   18     24   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     25   
        >,
   20     26   
    > {
@@ -124,130 +186,193 @@
  144    150   
                crate::operation::create_vpc_endpoint_service_configuration::CreateVpcEndpointServiceConfigurationError,
  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 CreateVpcEndpointServiceConfigurationResponseDeserializer;
  153    159   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateVpcEndpointServiceConfigurationResponseDeserializer {
  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_vpc_endpoint_service_configuration::de_create_vpc_endpoint_service_configuration_http_error(
  166    173   
                status, headers, body,

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_vpc_endpoint_service_configuration/_create_vpc_endpoint_service_configuration_input.rs

@@ -55,55 +202,202 @@
   75     75   
    "com.amazonaws.ec2.synthetic",
   76     76   
    "CreateVpcEndpointServiceConfigurationInput",
   77     77   
);
   78     78   
static CREATEVPCENDPOINTSERVICECONFIGURATIONINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   79     79   
    ::aws_smithy_schema::ShapeId::from_static(
   80     80   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointServiceConfigurationInput$DryRun",
   81     81   
        "com.amazonaws.ec2.synthetic",
   82     82   
        "CreateVpcEndpointServiceConfigurationInput",
   83     83   
    ),
   84     84   
    ::aws_smithy_schema::ShapeType::Boolean,
   85         -
    "dry_run",
          85  +
    "DryRun",
   86     86   
    0,
   87     87   
);
   88     88   
static CREATEVPCENDPOINTSERVICECONFIGURATIONINPUT_MEMBER_ACCEPTANCE_REQUIRED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   89     89   
    ::aws_smithy_schema::ShapeId::from_static(
   90     90   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointServiceConfigurationInput$AcceptanceRequired",
   91     91   
        "com.amazonaws.ec2.synthetic",
   92     92   
        "CreateVpcEndpointServiceConfigurationInput",
   93     93   
    ),
   94     94   
    ::aws_smithy_schema::ShapeType::Boolean,
   95         -
    "acceptance_required",
          95  +
    "AcceptanceRequired",
   96     96   
    1,
   97     97   
);
   98     98   
static CREATEVPCENDPOINTSERVICECONFIGURATIONINPUT_MEMBER_PRIVATE_DNS_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   99     99   
    ::aws_smithy_schema::ShapeId::from_static(
  100    100   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointServiceConfigurationInput$PrivateDnsName",
  101    101   
        "com.amazonaws.ec2.synthetic",
  102    102   
        "CreateVpcEndpointServiceConfigurationInput",
  103    103   
    ),
  104    104   
    ::aws_smithy_schema::ShapeType::String,
  105         -
    "private_dns_name",
         105  +
    "PrivateDnsName",
  106    106   
    2,
  107    107   
);
  108    108   
static CREATEVPCENDPOINTSERVICECONFIGURATIONINPUT_MEMBER_NETWORK_LOAD_BALANCER_ARNS: ::aws_smithy_schema::Schema =
  109    109   
    ::aws_smithy_schema::Schema::new_member(
  110    110   
        ::aws_smithy_schema::ShapeId::from_static(
  111    111   
            "com.amazonaws.ec2.synthetic#CreateVpcEndpointServiceConfigurationInput$NetworkLoadBalancerArns",
  112    112   
            "com.amazonaws.ec2.synthetic",
  113    113   
            "CreateVpcEndpointServiceConfigurationInput",
  114    114   
        ),
  115    115   
        ::aws_smithy_schema::ShapeType::List,
  116         -
        "network_load_balancer_arns",
         116  +
        "NetworkLoadBalancerArns",
  117    117   
        3,
  118    118   
    )
  119    119   
    .with_xml_name("NetworkLoadBalancerArn");
  120    120   
static CREATEVPCENDPOINTSERVICECONFIGURATIONINPUT_MEMBER_GATEWAY_LOAD_BALANCER_ARNS: ::aws_smithy_schema::Schema =
  121    121   
    ::aws_smithy_schema::Schema::new_member(
  122    122   
        ::aws_smithy_schema::ShapeId::from_static(
  123    123   
            "com.amazonaws.ec2.synthetic#CreateVpcEndpointServiceConfigurationInput$GatewayLoadBalancerArns",
  124    124   
            "com.amazonaws.ec2.synthetic",
  125    125   
            "CreateVpcEndpointServiceConfigurationInput",
  126    126   
        ),
  127    127   
        ::aws_smithy_schema::ShapeType::List,
  128         -
        "gateway_load_balancer_arns",
         128  +
        "GatewayLoadBalancerArns",
  129    129   
        4,
  130    130   
    )
  131    131   
    .with_xml_name("GatewayLoadBalancerArn");
  132    132   
static CREATEVPCENDPOINTSERVICECONFIGURATIONINPUT_MEMBER_SUPPORTED_IP_ADDRESS_TYPES: ::aws_smithy_schema::Schema =
  133    133   
    ::aws_smithy_schema::Schema::new_member(
  134    134   
        ::aws_smithy_schema::ShapeId::from_static(
  135    135   
            "com.amazonaws.ec2.synthetic#CreateVpcEndpointServiceConfigurationInput$SupportedIpAddressTypes",
  136    136   
            "com.amazonaws.ec2.synthetic",
  137    137   
            "CreateVpcEndpointServiceConfigurationInput",
  138    138   
        ),
  139    139   
        ::aws_smithy_schema::ShapeType::List,
  140         -
        "supported_ip_address_types",
         140  +
        "SupportedIpAddressTypes",
  141    141   
        5,
  142    142   
    )
  143    143   
    .with_xml_name("SupportedIpAddressType");
  144    144   
static CREATEVPCENDPOINTSERVICECONFIGURATIONINPUT_MEMBER_SUPPORTED_REGIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  145    145   
    ::aws_smithy_schema::ShapeId::from_static(
  146    146   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointServiceConfigurationInput$SupportedRegions",
  147    147   
        "com.amazonaws.ec2.synthetic",
  148    148   
        "CreateVpcEndpointServiceConfigurationInput",
  149    149   
    ),
  150    150   
    ::aws_smithy_schema::ShapeType::List,
  151         -
    "supported_regions",
         151  +
    "SupportedRegions",
  152    152   
    6,
  153    153   
)
  154    154   
.with_xml_name("SupportedRegion");
  155    155   
static CREATEVPCENDPOINTSERVICECONFIGURATIONINPUT_MEMBER_CLIENT_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  156    156   
    ::aws_smithy_schema::ShapeId::from_static(
  157    157   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointServiceConfigurationInput$ClientToken",
  158    158   
        "com.amazonaws.ec2.synthetic",
  159    159   
        "CreateVpcEndpointServiceConfigurationInput",
  160    160   
    ),
  161    161   
    ::aws_smithy_schema::ShapeType::String,
  162         -
    "client_token",
         162  +
    "ClientToken",
  163    163   
    7,
  164    164   
);
  165    165   
static CREATEVPCENDPOINTSERVICECONFIGURATIONINPUT_MEMBER_TAG_SPECIFICATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  166    166   
    ::aws_smithy_schema::ShapeId::from_static(
  167    167   
        "com.amazonaws.ec2.synthetic#CreateVpcEndpointServiceConfigurationInput$TagSpecifications",
  168    168   
        "com.amazonaws.ec2.synthetic",
  169    169   
        "CreateVpcEndpointServiceConfigurationInput",
  170    170   
    ),
  171    171   
    ::aws_smithy_schema::ShapeType::List,
  172         -
    "tag_specifications",
         172  +
    "TagSpecifications",
  173    173   
    8,
  174    174   
)
  175    175   
.with_xml_name("TagSpecification");
  176    176   
static CREATEVPCENDPOINTSERVICECONFIGURATIONINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  177    177   
    CREATEVPCENDPOINTSERVICECONFIGURATIONINPUT_SCHEMA_ID,
  178    178   
    ::aws_smithy_schema::ShapeType::Structure,
  179    179   
    &[
  180    180   
        &CREATEVPCENDPOINTSERVICECONFIGURATIONINPUT_MEMBER_DRY_RUN,
  181    181   
        &CREATEVPCENDPOINTSERVICECONFIGURATIONINPUT_MEMBER_ACCEPTANCE_REQUIRED,
  182    182   
        &CREATEVPCENDPOINTSERVICECONFIGURATIONINPUT_MEMBER_PRIVATE_DNS_NAME,
@@ -243,243 +402,370 @@
  263    263   
                    }
  264    264   
                    Ok(())
  265    265   
                },
  266    266   
            )?;
  267    267   
        }
  268    268   
        Ok(())
  269    269   
    }
  270    270   
}
  271    271   
impl CreateVpcEndpointServiceConfigurationInput {
  272    272   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  273         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  274         -
        deserializer: &mut D,
         273  +
    pub fn deserialize(
         274  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  275    275   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  276    276   
        #[allow(unused_variables, unused_mut)]
  277    277   
        let mut builder = Self::builder();
  278    278   
        #[allow(
  279    279   
            unused_variables,
  280    280   
            unreachable_code,
  281    281   
            clippy::single_match,
  282    282   
            clippy::match_single_binding,
  283    283   
            clippy::diverging_sub_expression
  284    284   
        )]
  285         -
        deserializer.read_struct(&CREATEVPCENDPOINTSERVICECONFIGURATIONINPUT_SCHEMA, (), |_, member, deser| {
         285  +
        deserializer.read_struct(&CREATEVPCENDPOINTSERVICECONFIGURATIONINPUT_SCHEMA, &mut |member, deser| {
  286    286   
            match member.member_index() {
  287    287   
                Some(0) => {
  288    288   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  289    289   
                }
  290    290   
                Some(1) => {
  291    291   
                    builder.acceptance_required = Some(deser.read_boolean(member)?);
  292    292   
                }
  293    293   
                Some(2) => {
  294    294   
                    builder.private_dns_name = Some(deser.read_string(member)?);
  295    295   
                }
  296    296   
                Some(3) => {
  297         -
                    builder.network_load_balancer_arns = Some({
  298         -
                        let container = if let Some(cap) = deser.container_size() {
  299         -
                            Vec::with_capacity(cap)
  300         -
                        } else {
  301         -
                            Vec::new()
  302         -
                        };
  303         -
                        deser.read_list(member, container, |mut list, deser| {
  304         -
                            list.push(deser.read_string(member)?);
  305         -
                            Ok(list)
  306         -
                        })?
  307         -
                    });
         297  +
                    builder.network_load_balancer_arns = Some(deser.read_string_list(member)?);
  308    298   
                }
  309    299   
                Some(4) => {
  310         -
                    builder.gateway_load_balancer_arns = Some({
  311         -
                        let container = if let Some(cap) = deser.container_size() {
  312         -
                            Vec::with_capacity(cap)
  313         -
                        } else {
  314         -
                            Vec::new()
  315         -
                        };
  316         -
                        deser.read_list(member, container, |mut list, deser| {
  317         -
                            list.push(deser.read_string(member)?);
  318         -
                            Ok(list)
  319         -
                        })?
  320         -
                    });
         300  +
                    builder.gateway_load_balancer_arns = Some(deser.read_string_list(member)?);
  321    301   
                }
  322    302   
                Some(5) => {
  323         -
                    builder.supported_ip_address_types = Some({
  324         -
                        let container = if let Some(cap) = deser.container_size() {
  325         -
                            Vec::with_capacity(cap)
  326         -
                        } else {
  327         -
                            Vec::new()
  328         -
                        };
  329         -
                        deser.read_list(member, container, |mut list, deser| {
  330         -
                            list.push(deser.read_string(member)?);
  331         -
                            Ok(list)
  332         -
                        })?
  333         -
                    });
         303  +
                    builder.supported_ip_address_types = Some(deser.read_string_list(member)?);
  334    304   
                }
  335    305   
                Some(6) => {
  336         -
                    builder.supported_regions = Some({
  337         -
                        let container = if let Some(cap) = deser.container_size() {
  338         -
                            Vec::with_capacity(cap)
  339         -
                        } else {
  340         -
                            Vec::new()
  341         -
                        };
  342         -
                        deser.read_list(member, container, |mut list, deser| {
  343         -
                            list.push(deser.read_string(member)?);
  344         -
                            Ok(list)
  345         -
                        })?
  346         -
                    });
         306  +
                    builder.supported_regions = Some(deser.read_string_list(member)?);
  347    307   
                }
  348    308   
                Some(7) => {
  349    309   
                    builder.client_token = Some(deser.read_string(member)?);
  350    310   
                }
  351    311   
                Some(8) => {
  352    312   
                    builder.tag_specifications = Some({
  353         -
                        let container = if let Some(cap) = deser.container_size() {
  354         -
                            Vec::with_capacity(cap)
  355         -
                        } else {
  356         -
                            Vec::new()
  357         -
                        };
  358         -
                        deser.read_list(member, container, |mut list, deser| {
  359         -
                            list.push(crate::types::TagSpecification::deserialize(deser)?);
  360         -
                            Ok(list)
  361         -
                        })?
         313  +
                        let mut container = Vec::new();
         314  +
                        deser.read_list(member, &mut |deser| {
         315  +
                            container.push(crate::types::TagSpecification::deserialize(deser)?);
         316  +
                            Ok(())
         317  +
                        })?;
         318  +
                        container
  362    319   
                    });
  363    320   
                }
  364    321   
                _ => {}
  365    322   
            }
  366    323   
            Ok(())
  367    324   
        })?;
  368    325   
        builder
  369    326   
            .build()
  370    327   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  371    328   
    }
  372    329   
}
         330  +
impl CreateVpcEndpointServiceConfigurationInput {
         331  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         332  +
    pub fn deserialize_with_response(
         333  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         334  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         335  +
        _status: u16,
         336  +
        _body: &[u8],
         337  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         338  +
        Self::deserialize(deserializer)
         339  +
    }
         340  +
}
  373    341   
impl CreateVpcEndpointServiceConfigurationInput {
  374    342   
    /// Creates a new builder-style object to manufacture [`CreateVpcEndpointServiceConfigurationInput`](crate::operation::create_vpc_endpoint_service_configuration::CreateVpcEndpointServiceConfigurationInput).
  375    343   
    pub fn builder() -> crate::operation::create_vpc_endpoint_service_configuration::builders::CreateVpcEndpointServiceConfigurationInputBuilder {
  376    344   
        crate::operation::create_vpc_endpoint_service_configuration::builders::CreateVpcEndpointServiceConfigurationInputBuilder::default()
  377    345   
    }
  378    346   
}
  379    347   
  380    348   
/// A builder for [`CreateVpcEndpointServiceConfigurationInput`](crate::operation::create_vpc_endpoint_service_configuration::CreateVpcEndpointServiceConfigurationInput).
  381    349   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  382    350   
#[non_exhaustive]