AWS SDK

AWS SDK

rev. 32b1b3c3761061baed26023be3219639e42d7d12

Files changed:

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_route/_create_route_input.rs

@@ -95,95 +324,324 @@
  115    115   
    "com.amazonaws.ec2.synthetic",
  116    116   
    "CreateRouteInput",
  117    117   
);
  118    118   
static CREATEROUTEINPUT_MEMBER_DESTINATION_PREFIX_LIST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  119    119   
    ::aws_smithy_schema::ShapeId::from_static(
  120    120   
        "com.amazonaws.ec2.synthetic#CreateRouteInput$DestinationPrefixListId",
  121    121   
        "com.amazonaws.ec2.synthetic",
  122    122   
        "CreateRouteInput",
  123    123   
    ),
  124    124   
    ::aws_smithy_schema::ShapeType::String,
  125         -
    "destination_prefix_list_id",
         125  +
    "DestinationPrefixListId",
  126    126   
    0,
  127    127   
);
  128    128   
static CREATEROUTEINPUT_MEMBER_VPC_ENDPOINT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  129    129   
    ::aws_smithy_schema::ShapeId::from_static(
  130    130   
        "com.amazonaws.ec2.synthetic#CreateRouteInput$VpcEndpointId",
  131    131   
        "com.amazonaws.ec2.synthetic",
  132    132   
        "CreateRouteInput",
  133    133   
    ),
  134    134   
    ::aws_smithy_schema::ShapeType::String,
  135         -
    "vpc_endpoint_id",
         135  +
    "VpcEndpointId",
  136    136   
    1,
  137    137   
);
  138    138   
static CREATEROUTEINPUT_MEMBER_TRANSIT_GATEWAY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  139    139   
    ::aws_smithy_schema::ShapeId::from_static(
  140    140   
        "com.amazonaws.ec2.synthetic#CreateRouteInput$TransitGatewayId",
  141    141   
        "com.amazonaws.ec2.synthetic",
  142    142   
        "CreateRouteInput",
  143    143   
    ),
  144    144   
    ::aws_smithy_schema::ShapeType::String,
  145         -
    "transit_gateway_id",
         145  +
    "TransitGatewayId",
  146    146   
    2,
  147    147   
);
  148    148   
static CREATEROUTEINPUT_MEMBER_LOCAL_GATEWAY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  149    149   
    ::aws_smithy_schema::ShapeId::from_static(
  150    150   
        "com.amazonaws.ec2.synthetic#CreateRouteInput$LocalGatewayId",
  151    151   
        "com.amazonaws.ec2.synthetic",
  152    152   
        "CreateRouteInput",
  153    153   
    ),
  154    154   
    ::aws_smithy_schema::ShapeType::String,
  155         -
    "local_gateway_id",
         155  +
    "LocalGatewayId",
  156    156   
    3,
  157    157   
);
  158    158   
static CREATEROUTEINPUT_MEMBER_CARRIER_GATEWAY_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#CreateRouteInput$CarrierGatewayId",
  161    161   
        "com.amazonaws.ec2.synthetic",
  162    162   
        "CreateRouteInput",
  163    163   
    ),
  164    164   
    ::aws_smithy_schema::ShapeType::String,
  165         -
    "carrier_gateway_id",
         165  +
    "CarrierGatewayId",
  166    166   
    4,
  167    167   
);
  168    168   
static CREATEROUTEINPUT_MEMBER_CORE_NETWORK_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  169    169   
    ::aws_smithy_schema::ShapeId::from_static(
  170    170   
        "com.amazonaws.ec2.synthetic#CreateRouteInput$CoreNetworkArn",
  171    171   
        "com.amazonaws.ec2.synthetic",
  172    172   
        "CreateRouteInput",
  173    173   
    ),
  174    174   
    ::aws_smithy_schema::ShapeType::String,
  175         -
    "core_network_arn",
         175  +
    "CoreNetworkArn",
  176    176   
    5,
  177    177   
);
  178    178   
static CREATEROUTEINPUT_MEMBER_ODB_NETWORK_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  179    179   
    ::aws_smithy_schema::ShapeId::from_static(
  180    180   
        "com.amazonaws.ec2.synthetic#CreateRouteInput$OdbNetworkArn",
  181    181   
        "com.amazonaws.ec2.synthetic",
  182    182   
        "CreateRouteInput",
  183    183   
    ),
  184    184   
    ::aws_smithy_schema::ShapeType::String,
  185         -
    "odb_network_arn",
         185  +
    "OdbNetworkArn",
  186    186   
    6,
  187    187   
);
  188    188   
static CREATEROUTEINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  189    189   
    ::aws_smithy_schema::ShapeId::from_static(
  190    190   
        "com.amazonaws.ec2.synthetic#CreateRouteInput$DryRun",
  191    191   
        "com.amazonaws.ec2.synthetic",
  192    192   
        "CreateRouteInput",
  193    193   
    ),
  194    194   
    ::aws_smithy_schema::ShapeType::Boolean,
  195         -
    "dry_run",
         195  +
    "DryRun",
  196    196   
    7,
  197    197   
)
  198    198   
.with_xml_name("dryRun");
  199    199   
static CREATEROUTEINPUT_MEMBER_ROUTE_TABLE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  200    200   
    ::aws_smithy_schema::ShapeId::from_static(
  201    201   
        "com.amazonaws.ec2.synthetic#CreateRouteInput$RouteTableId",
  202    202   
        "com.amazonaws.ec2.synthetic",
  203    203   
        "CreateRouteInput",
  204    204   
    ),
  205    205   
    ::aws_smithy_schema::ShapeType::String,
  206         -
    "route_table_id",
         206  +
    "RouteTableId",
  207    207   
    8,
  208    208   
)
  209    209   
.with_xml_name("routeTableId");
  210    210   
static CREATEROUTEINPUT_MEMBER_DESTINATION_CIDR_BLOCK: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  211    211   
    ::aws_smithy_schema::ShapeId::from_static(
  212    212   
        "com.amazonaws.ec2.synthetic#CreateRouteInput$DestinationCidrBlock",
  213    213   
        "com.amazonaws.ec2.synthetic",
  214    214   
        "CreateRouteInput",
  215    215   
    ),
  216    216   
    ::aws_smithy_schema::ShapeType::String,
  217         -
    "destination_cidr_block",
         217  +
    "DestinationCidrBlock",
  218    218   
    9,
  219    219   
)
  220    220   
.with_xml_name("destinationCidrBlock");
  221    221   
static CREATEROUTEINPUT_MEMBER_GATEWAY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  222    222   
    ::aws_smithy_schema::ShapeId::from_static(
  223    223   
        "com.amazonaws.ec2.synthetic#CreateRouteInput$GatewayId",
  224    224   
        "com.amazonaws.ec2.synthetic",
  225    225   
        "CreateRouteInput",
  226    226   
    ),
  227    227   
    ::aws_smithy_schema::ShapeType::String,
  228         -
    "gateway_id",
         228  +
    "GatewayId",
  229    229   
    10,
  230    230   
)
  231    231   
.with_xml_name("gatewayId");
  232    232   
static CREATEROUTEINPUT_MEMBER_DESTINATION_IPV6_CIDR_BLOCK: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  233    233   
    ::aws_smithy_schema::ShapeId::from_static(
  234    234   
        "com.amazonaws.ec2.synthetic#CreateRouteInput$DestinationIpv6CidrBlock",
  235    235   
        "com.amazonaws.ec2.synthetic",
  236    236   
        "CreateRouteInput",
  237    237   
    ),
  238    238   
    ::aws_smithy_schema::ShapeType::String,
  239         -
    "destination_ipv6_cidr_block",
         239  +
    "DestinationIpv6CidrBlock",
  240    240   
    11,
  241    241   
)
  242    242   
.with_xml_name("destinationIpv6CidrBlock");
  243    243   
static CREATEROUTEINPUT_MEMBER_EGRESS_ONLY_INTERNET_GATEWAY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  244    244   
    ::aws_smithy_schema::ShapeId::from_static(
  245    245   
        "com.amazonaws.ec2.synthetic#CreateRouteInput$EgressOnlyInternetGatewayId",
  246    246   
        "com.amazonaws.ec2.synthetic",
  247    247   
        "CreateRouteInput",
  248    248   
    ),
  249    249   
    ::aws_smithy_schema::ShapeType::String,
  250         -
    "egress_only_internet_gateway_id",
         250  +
    "EgressOnlyInternetGatewayId",
  251    251   
    12,
  252    252   
)
  253    253   
.with_xml_name("egressOnlyInternetGatewayId");
  254    254   
static CREATEROUTEINPUT_MEMBER_INSTANCE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  255    255   
    ::aws_smithy_schema::ShapeId::from_static(
  256    256   
        "com.amazonaws.ec2.synthetic#CreateRouteInput$InstanceId",
  257    257   
        "com.amazonaws.ec2.synthetic",
  258    258   
        "CreateRouteInput",
  259    259   
    ),
  260    260   
    ::aws_smithy_schema::ShapeType::String,
  261         -
    "instance_id",
         261  +
    "InstanceId",
  262    262   
    13,
  263    263   
)
  264    264   
.with_xml_name("instanceId");
  265    265   
static CREATEROUTEINPUT_MEMBER_NETWORK_INTERFACE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  266    266   
    ::aws_smithy_schema::ShapeId::from_static(
  267    267   
        "com.amazonaws.ec2.synthetic#CreateRouteInput$NetworkInterfaceId",
  268    268   
        "com.amazonaws.ec2.synthetic",
  269    269   
        "CreateRouteInput",
  270    270   
    ),
  271    271   
    ::aws_smithy_schema::ShapeType::String,
  272         -
    "network_interface_id",
         272  +
    "NetworkInterfaceId",
  273    273   
    14,
  274    274   
)
  275    275   
.with_xml_name("networkInterfaceId");
  276    276   
static CREATEROUTEINPUT_MEMBER_VPC_PEERING_CONNECTION_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  277    277   
    ::aws_smithy_schema::ShapeId::from_static(
  278    278   
        "com.amazonaws.ec2.synthetic#CreateRouteInput$VpcPeeringConnectionId",
  279    279   
        "com.amazonaws.ec2.synthetic",
  280    280   
        "CreateRouteInput",
  281    281   
    ),
  282    282   
    ::aws_smithy_schema::ShapeType::String,
  283         -
    "vpc_peering_connection_id",
         283  +
    "VpcPeeringConnectionId",
  284    284   
    15,
  285    285   
)
  286    286   
.with_xml_name("vpcPeeringConnectionId");
  287    287   
static CREATEROUTEINPUT_MEMBER_NAT_GATEWAY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  288    288   
    ::aws_smithy_schema::ShapeId::from_static(
  289    289   
        "com.amazonaws.ec2.synthetic#CreateRouteInput$NatGatewayId",
  290    290   
        "com.amazonaws.ec2.synthetic",
  291    291   
        "CreateRouteInput",
  292    292   
    ),
  293    293   
    ::aws_smithy_schema::ShapeType::String,
  294         -
    "nat_gateway_id",
         294  +
    "NatGatewayId",
  295    295   
    16,
  296    296   
)
  297    297   
.with_xml_name("natGatewayId");
  298    298   
static CREATEROUTEINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  299    299   
    CREATEROUTEINPUT_SCHEMA_ID,
  300    300   
    ::aws_smithy_schema::ShapeType::Structure,
  301    301   
    &[
  302    302   
        &CREATEROUTEINPUT_MEMBER_DESTINATION_PREFIX_LIST_ID,
  303    303   
        &CREATEROUTEINPUT_MEMBER_VPC_ENDPOINT_ID,
  304    304   
        &CREATEROUTEINPUT_MEMBER_TRANSIT_GATEWAY_ID,
@@ -357,357 +490,502 @@
  377    377   
            ser.write_string(&CREATEROUTEINPUT_MEMBER_VPC_PEERING_CONNECTION_ID, val)?;
  378    378   
        }
  379    379   
        if let Some(ref val) = self.nat_gateway_id {
  380    380   
            ser.write_string(&CREATEROUTEINPUT_MEMBER_NAT_GATEWAY_ID, val)?;
  381    381   
        }
  382    382   
        Ok(())
  383    383   
    }
  384    384   
}
  385    385   
impl CreateRouteInput {
  386    386   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  387         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  388         -
        deserializer: &mut D,
         387  +
    pub fn deserialize(
         388  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  389    389   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  390    390   
        #[allow(unused_variables, unused_mut)]
  391    391   
        let mut builder = Self::builder();
  392    392   
        #[allow(
  393    393   
            unused_variables,
  394    394   
            unreachable_code,
  395    395   
            clippy::single_match,
  396    396   
            clippy::match_single_binding,
  397    397   
            clippy::diverging_sub_expression
  398    398   
        )]
  399         -
        deserializer.read_struct(&CREATEROUTEINPUT_SCHEMA, (), |_, member, deser| {
         399  +
        deserializer.read_struct(&CREATEROUTEINPUT_SCHEMA, &mut |member, deser| {
  400    400   
            match member.member_index() {
  401    401   
                Some(0) => {
  402    402   
                    builder.destination_prefix_list_id = Some(deser.read_string(member)?);
  403    403   
                }
  404    404   
                Some(1) => {
  405    405   
                    builder.vpc_endpoint_id = Some(deser.read_string(member)?);
  406    406   
                }
  407    407   
                Some(2) => {
  408    408   
                    builder.transit_gateway_id = Some(deser.read_string(member)?);
  409    409   
                }
  410    410   
                Some(3) => {
  411    411   
                    builder.local_gateway_id = Some(deser.read_string(member)?);
  412    412   
                }
  413    413   
                Some(4) => {
  414    414   
                    builder.carrier_gateway_id = Some(deser.read_string(member)?);
  415    415   
                }
  416    416   
                Some(5) => {
  417    417   
                    builder.core_network_arn = Some(deser.read_string(member)?);
  418    418   
                }
  419    419   
                Some(6) => {
  420    420   
                    builder.odb_network_arn = Some(deser.read_string(member)?);
  421    421   
                }
  422    422   
                Some(7) => {
  423    423   
                    builder.dry_run = Some(deser.read_boolean(member)?);
  424    424   
                }
  425    425   
                Some(8) => {
  426    426   
                    builder.route_table_id = Some(deser.read_string(member)?);
  427    427   
                }
  428    428   
                Some(9) => {
  429    429   
                    builder.destination_cidr_block = Some(deser.read_string(member)?);
  430    430   
                }
  431    431   
                Some(10) => {
  432    432   
                    builder.gateway_id = Some(deser.read_string(member)?);
  433    433   
                }
  434    434   
                Some(11) => {
  435    435   
                    builder.destination_ipv6_cidr_block = Some(deser.read_string(member)?);
  436    436   
                }
  437    437   
                Some(12) => {
  438    438   
                    builder.egress_only_internet_gateway_id = Some(deser.read_string(member)?);
  439    439   
                }
  440    440   
                Some(13) => {
  441    441   
                    builder.instance_id = Some(deser.read_string(member)?);
  442    442   
                }
  443    443   
                Some(14) => {
  444    444   
                    builder.network_interface_id = Some(deser.read_string(member)?);
  445    445   
                }
  446    446   
                Some(15) => {
  447    447   
                    builder.vpc_peering_connection_id = Some(deser.read_string(member)?);
  448    448   
                }
  449    449   
                Some(16) => {
  450    450   
                    builder.nat_gateway_id = Some(deser.read_string(member)?);
  451    451   
                }
  452    452   
                _ => {}
  453    453   
            }
  454    454   
            Ok(())
  455    455   
        })?;
         456  +
        builder.route_table_id = builder.route_table_id.or(Some(String::new()));
  456    457   
        builder
  457    458   
            .build()
  458    459   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  459    460   
    }
  460    461   
}
         462  +
impl CreateRouteInput {
         463  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         464  +
    pub fn deserialize_with_response(
         465  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         466  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         467  +
        _status: u16,
         468  +
        _body: &[u8],
         469  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         470  +
        Self::deserialize(deserializer)
         471  +
    }
         472  +
}
  461    473   
impl CreateRouteInput {
  462    474   
    /// Creates a new builder-style object to manufacture [`CreateRouteInput`](crate::operation::create_route::CreateRouteInput).
  463    475   
    pub fn builder() -> crate::operation::create_route::builders::CreateRouteInputBuilder {
  464    476   
        crate::operation::create_route::builders::CreateRouteInputBuilder::default()
  465    477   
    }
  466    478   
}
  467    479   
  468    480   
/// A builder for [`CreateRouteInput`](crate::operation::create_route::CreateRouteInput).
  469    481   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  470    482   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_route/_create_route_output.rs

@@ -1,1 +97,141 @@
   18     18   
    "com.amazonaws.ec2.synthetic",
   19     19   
    "CreateRouteOutput",
   20     20   
);
   21     21   
static CREATEROUTEOUTPUT_MEMBER_RETURN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   22     22   
    ::aws_smithy_schema::ShapeId::from_static(
   23     23   
        "com.amazonaws.ec2.synthetic#CreateRouteOutput$Return",
   24     24   
        "com.amazonaws.ec2.synthetic",
   25     25   
        "CreateRouteOutput",
   26     26   
    ),
   27     27   
    ::aws_smithy_schema::ShapeType::Boolean,
   28         -
    "r##return",
          28  +
    "Return",
   29     29   
    0,
   30     30   
)
   31     31   
.with_xml_name("return");
          32  +
static CREATEROUTEOUTPUT_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 CREATEROUTEOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   33     40   
    CREATEROUTEOUTPUT_SCHEMA_ID,
   34     41   
    ::aws_smithy_schema::ShapeType::Structure,
   35         -
    &[&CREATEROUTEOUTPUT_MEMBER_RETURN],
          42  +
    &[&CREATEROUTEOUTPUT_MEMBER_RETURN, &CREATEROUTEOUTPUT_MEMBER__REQUEST_ID],
   36     43   
);
   37     44   
impl CreateRouteOutput {
   38     45   
    /// The schema for this shape.
   39     46   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATEROUTEOUTPUT_SCHEMA;
   40     47   
}
   41     48   
impl ::aws_smithy_schema::serde::SerializableStruct for CreateRouteOutput {
   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.r#return {
   48     55   
            ser.write_boolean(&CREATEROUTEOUTPUT_MEMBER_RETURN, *val)?;
   49     56   
        }
   50     57   
        Ok(())
   51     58   
    }
   52     59   
}
   53     60   
impl CreateRouteOutput {
   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(&CREATEROUTEOUTPUT_SCHEMA, (), |_, member, deser| {
          74  +
        deserializer.read_struct(&CREATEROUTEOUTPUT_SCHEMA, &mut |member, deser| {
          75  +
            match member.member_index() {
          76  +
                Some(0) => {
          77  +
                    builder.r#return = Some(deser.read_boolean(member)?);
          78  +
                }
          79  +
                Some(1) => {
          80  +
                    builder._request_id = Some(deser.read_string(member)?);
          81  +
                }
          82  +
                _ => {}
          83  +
            }
          84  +
            Ok(())
          85  +
        })?;
          86  +
        Ok(builder.build())
          87  +
    }
          88  +
}
          89  +
impl CreateRouteOutput {
          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(&CREATEROUTEOUTPUT_SCHEMA, &mut |member, deser| {
   68    112   
            match member.member_index() {
   69    113   
                Some(0) => {
   70    114   
                    builder.r#return = Some(deser.read_boolean(member)?);
   71    115   
                }
   72    116   
                _ => {}
   73    117   
            }
   74    118   
            Ok(())
   75    119   
        })?;
   76    120   
        Ok(builder.build())
   77    121   
    }

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_route_server/_create_route_server_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_route_server/_create_route_server_output.rs

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

@@ -1,1 +40,46 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Orchestration and serialization glue logic for `CreateRouteServerEndpoint`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct CreateRouteServerEndpoint;
    6      6   
impl CreateRouteServerEndpoint {
    7      7   
    /// Creates a new `CreateRouteServerEndpoint`
    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_route_server_endpoint::CreateRouteServerEndpointInput::SCHEMA;
          14  +
    /// The schema for this operation's output shape.
          15  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          16  +
        crate::operation::create_route_server_endpoint::CreateRouteServerEndpointOutput::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_route_server_endpoint::CreateRouteServerEndpointInput,
   14     20   
    ) -> ::std::result::Result<
   15     21   
        crate::operation::create_route_server_endpoint::CreateRouteServerEndpointOutput,
   16     22   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     23   
            crate::operation::create_route_server_endpoint::CreateRouteServerEndpointError,
   18     24   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     25   
        >,
   20     26   
    > {
@@ -126,132 +188,195 @@
  146    152   
                crate::operation::create_route_server_endpoint::CreateRouteServerEndpointError,
  147    153   
            >::new());
  148    154   
  149    155   
        ::std::borrow::Cow::Owned(rcb)
  150    156   
    }
  151    157   
}
  152    158   
  153    159   
#[derive(Debug)]
  154    160   
struct CreateRouteServerEndpointResponseDeserializer;
  155    161   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateRouteServerEndpointResponseDeserializer {
  156         -
    fn deserialize_nonstreaming(
         162  +
    fn deserialize_nonstreaming_with_config(
  157    163   
        &self,
  158    164   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         165  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  159    166   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  160    167   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  161    168   
        let headers = response.headers();
  162    169   
        let body = response.body().bytes().expect("body loaded");
  163    170   
        #[allow(unused_mut)]
  164    171   
        let mut force_error = false;
  165    172   
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  166    173   
        let parse_result = if !success && status != 200 || force_error {
  167    174   
            crate::protocol_serde::shape_create_route_server_endpoint::de_create_route_server_endpoint_http_error(status, headers, body)
  168    175   
        } else {

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_route_server_endpoint/_create_route_server_endpoint_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_route_server_endpoint/_create_route_server_endpoint_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_route_server_peer/_create_route_server_peer_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_route_server_peer/_create_route_server_peer_output.rs

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

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_route_table/_create_route_table_input.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/operation/create_route_table/_create_route_table_output.rs

@@ -4,4 +117,168 @@
   24     24   
    "com.amazonaws.ec2.synthetic",
   25     25   
    "CreateRouteTableOutput",
   26     26   
);
   27     27   
static CREATEROUTETABLEOUTPUT_MEMBER_ROUTE_TABLE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   28     28   
    ::aws_smithy_schema::ShapeId::from_static(
   29     29   
        "com.amazonaws.ec2.synthetic#CreateRouteTableOutput$RouteTable",
   30     30   
        "com.amazonaws.ec2.synthetic",
   31     31   
        "CreateRouteTableOutput",
   32     32   
    ),
   33     33   
    ::aws_smithy_schema::ShapeType::Structure,
   34         -
    "route_table",
          34  +
    "RouteTable",
   35     35   
    0,
   36     36   
)
   37     37   
.with_xml_name("routeTable");
   38     38   
static CREATEROUTETABLEOUTPUT_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#CreateRouteTableOutput$ClientToken",
   41     41   
        "com.amazonaws.ec2.synthetic",
   42     42   
        "CreateRouteTableOutput",
   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 CREATEROUTETABLEOUTPUT_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 CREATEROUTETABLEOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   50     57   
    CREATEROUTETABLEOUTPUT_SCHEMA_ID,
   51     58   
    ::aws_smithy_schema::ShapeType::Structure,
   52         -
    &[&CREATEROUTETABLEOUTPUT_MEMBER_ROUTE_TABLE, &CREATEROUTETABLEOUTPUT_MEMBER_CLIENT_TOKEN],
          59  +
    &[
          60  +
        &CREATEROUTETABLEOUTPUT_MEMBER_ROUTE_TABLE,
          61  +
        &CREATEROUTETABLEOUTPUT_MEMBER_CLIENT_TOKEN,
          62  +
        &CREATEROUTETABLEOUTPUT_MEMBER__REQUEST_ID,
          63  +
    ],
   53     64   
);
   54     65   
impl CreateRouteTableOutput {
   55     66   
    /// The schema for this shape.
   56     67   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATEROUTETABLEOUTPUT_SCHEMA;
   57     68   
}
   58     69   
impl ::aws_smithy_schema::serde::SerializableStruct for CreateRouteTableOutput {
   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.route_table {
   65     76   
            ser.write_struct(&CREATEROUTETABLEOUTPUT_MEMBER_ROUTE_TABLE, val)?;
   66     77   
        }
   67     78   
        if let Some(ref val) = self.client_token {
   68     79   
            ser.write_string(&CREATEROUTETABLEOUTPUT_MEMBER_CLIENT_TOKEN, val)?;
   69     80   
        }
   70     81   
        Ok(())
   71     82   
    }
   72     83   
}
   73     84   
impl CreateRouteTableOutput {
   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(&CREATEROUTETABLEOUTPUT_SCHEMA, (), |_, member, deser| {
          98  +
        deserializer.read_struct(&CREATEROUTETABLEOUTPUT_SCHEMA, &mut |member, deser| {
          99  +
            match member.member_index() {
         100  +
                Some(0) => {
         101  +
                    builder.route_table = Some(crate::types::RouteTable::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 CreateRouteTableOutput {
         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(&CREATEROUTETABLEOUTPUT_SCHEMA, &mut |member, deser| {
   88    139   
            match member.member_index() {
   89    140   
                Some(0) => {
   90    141   
                    builder.route_table = Some(crate::types::RouteTable::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_security_group.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 `CreateSecurityGroup`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct CreateSecurityGroup;
    6      6   
impl CreateSecurityGroup {
    7      7   
    /// Creates a new `CreateSecurityGroup`
    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_security_group::CreateSecurityGroupInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::create_security_group::CreateSecurityGroupOutput::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_security_group::CreateSecurityGroupInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::create_security_group::CreateSecurityGroupOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::create_security_group::CreateSecurityGroupError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -118,122 +180,185 @@
  138    142   
                crate::operation::create_security_group::CreateSecurityGroupError,
  139    143   
            >::new());
  140    144   
  141    145   
        ::std::borrow::Cow::Owned(rcb)
  142    146   
    }
  143    147   
}
  144    148   
  145    149   
#[derive(Debug)]
  146    150   
struct CreateSecurityGroupResponseDeserializer;
  147    151   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateSecurityGroupResponseDeserializer {
  148         -
    fn deserialize_nonstreaming(
         152  +
    fn deserialize_nonstreaming_with_config(
  149    153   
        &self,
  150    154   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         155  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  151    156   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  152    157   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  153    158   
        let headers = response.headers();
  154    159   
        let body = response.body().bytes().expect("body loaded");
  155    160   
        #[allow(unused_mut)]
  156    161   
        let mut force_error = false;
  157    162   
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  158    163   
        let parse_result = if !success && status != 200 || force_error {
  159    164   
            crate::protocol_serde::shape_create_security_group::de_create_security_group_http_error(status, headers, body)
  160    165   
        } else {

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

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