AWS SDK

AWS SDK

rev. 163d4d6410694aaf071424777ecbecd050925f36

Files changed:

tmp-codegen-diff/aws-sdk/sdk/ec2/src/types/_vpc_endpoint_association.rs

@@ -63,63 +244,244 @@
   83     83   
}
   84     84   
static VPCENDPOINTASSOCIATION_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   85     85   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpcEndpointAssociation", "com.amazonaws.ec2", "VpcEndpointAssociation");
   86     86   
static VPCENDPOINTASSOCIATION_MEMBER_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   87     87   
    ::aws_smithy_schema::ShapeId::from_static(
   88     88   
        "com.amazonaws.ec2#VpcEndpointAssociation$Id",
   89     89   
        "com.amazonaws.ec2",
   90     90   
        "VpcEndpointAssociation",
   91     91   
    ),
   92     92   
    ::aws_smithy_schema::ShapeType::String,
   93         -
    "id",
          93  +
    "Id",
   94     94   
    0,
   95     95   
)
   96     96   
.with_xml_name("id");
   97     97   
static VPCENDPOINTASSOCIATION_MEMBER_VPC_ENDPOINT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   98     98   
    ::aws_smithy_schema::ShapeId::from_static(
   99     99   
        "com.amazonaws.ec2#VpcEndpointAssociation$VpcEndpointId",
  100    100   
        "com.amazonaws.ec2",
  101    101   
        "VpcEndpointAssociation",
  102    102   
    ),
  103    103   
    ::aws_smithy_schema::ShapeType::String,
  104         -
    "vpc_endpoint_id",
         104  +
    "VpcEndpointId",
  105    105   
    1,
  106    106   
)
  107    107   
.with_xml_name("vpcEndpointId");
  108    108   
static VPCENDPOINTASSOCIATION_MEMBER_SERVICE_NETWORK_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  109    109   
    ::aws_smithy_schema::ShapeId::from_static(
  110    110   
        "com.amazonaws.ec2#VpcEndpointAssociation$ServiceNetworkArn",
  111    111   
        "com.amazonaws.ec2",
  112    112   
        "VpcEndpointAssociation",
  113    113   
    ),
  114    114   
    ::aws_smithy_schema::ShapeType::String,
  115         -
    "service_network_arn",
         115  +
    "ServiceNetworkArn",
  116    116   
    2,
  117    117   
)
  118    118   
.with_xml_name("serviceNetworkArn");
  119    119   
static VPCENDPOINTASSOCIATION_MEMBER_SERVICE_NETWORK_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  120    120   
    ::aws_smithy_schema::ShapeId::from_static(
  121    121   
        "com.amazonaws.ec2#VpcEndpointAssociation$ServiceNetworkName",
  122    122   
        "com.amazonaws.ec2",
  123    123   
        "VpcEndpointAssociation",
  124    124   
    ),
  125    125   
    ::aws_smithy_schema::ShapeType::String,
  126         -
    "service_network_name",
         126  +
    "ServiceNetworkName",
  127    127   
    3,
  128    128   
)
  129    129   
.with_xml_name("serviceNetworkName");
  130    130   
static VPCENDPOINTASSOCIATION_MEMBER_ASSOCIATED_RESOURCE_ACCESSIBILITY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  131    131   
    ::aws_smithy_schema::ShapeId::from_static(
  132    132   
        "com.amazonaws.ec2#VpcEndpointAssociation$AssociatedResourceAccessibility",
  133    133   
        "com.amazonaws.ec2",
  134    134   
        "VpcEndpointAssociation",
  135    135   
    ),
  136    136   
    ::aws_smithy_schema::ShapeType::String,
  137         -
    "associated_resource_accessibility",
         137  +
    "AssociatedResourceAccessibility",
  138    138   
    4,
  139    139   
)
  140    140   
.with_xml_name("associatedResourceAccessibility");
  141    141   
static VPCENDPOINTASSOCIATION_MEMBER_FAILURE_REASON: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  142    142   
    ::aws_smithy_schema::ShapeId::from_static(
  143    143   
        "com.amazonaws.ec2#VpcEndpointAssociation$FailureReason",
  144    144   
        "com.amazonaws.ec2",
  145    145   
        "VpcEndpointAssociation",
  146    146   
    ),
  147    147   
    ::aws_smithy_schema::ShapeType::String,
  148         -
    "failure_reason",
         148  +
    "FailureReason",
  149    149   
    5,
  150    150   
)
  151    151   
.with_xml_name("failureReason");
  152    152   
static VPCENDPOINTASSOCIATION_MEMBER_FAILURE_CODE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  153    153   
    ::aws_smithy_schema::ShapeId::from_static(
  154    154   
        "com.amazonaws.ec2#VpcEndpointAssociation$FailureCode",
  155    155   
        "com.amazonaws.ec2",
  156    156   
        "VpcEndpointAssociation",
  157    157   
    ),
  158    158   
    ::aws_smithy_schema::ShapeType::String,
  159         -
    "failure_code",
         159  +
    "FailureCode",
  160    160   
    6,
  161    161   
)
  162    162   
.with_xml_name("failureCode");
  163    163   
static VPCENDPOINTASSOCIATION_MEMBER_DNS_ENTRY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  164    164   
    ::aws_smithy_schema::ShapeId::from_static(
  165    165   
        "com.amazonaws.ec2#VpcEndpointAssociation$DnsEntry",
  166    166   
        "com.amazonaws.ec2",
  167    167   
        "VpcEndpointAssociation",
  168    168   
    ),
  169    169   
    ::aws_smithy_schema::ShapeType::Structure,
  170         -
    "dns_entry",
         170  +
    "DnsEntry",
  171    171   
    7,
  172    172   
)
  173    173   
.with_xml_name("dnsEntry");
  174    174   
static VPCENDPOINTASSOCIATION_MEMBER_PRIVATE_DNS_ENTRY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  175    175   
    ::aws_smithy_schema::ShapeId::from_static(
  176    176   
        "com.amazonaws.ec2#VpcEndpointAssociation$PrivateDnsEntry",
  177    177   
        "com.amazonaws.ec2",
  178    178   
        "VpcEndpointAssociation",
  179    179   
    ),
  180    180   
    ::aws_smithy_schema::ShapeType::Structure,
  181         -
    "private_dns_entry",
         181  +
    "PrivateDnsEntry",
  182    182   
    8,
  183    183   
)
  184    184   
.with_xml_name("privateDnsEntry");
  185    185   
static VPCENDPOINTASSOCIATION_MEMBER_ASSOCIATED_RESOURCE_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  186    186   
    ::aws_smithy_schema::ShapeId::from_static(
  187    187   
        "com.amazonaws.ec2#VpcEndpointAssociation$AssociatedResourceArn",
  188    188   
        "com.amazonaws.ec2",
  189    189   
        "VpcEndpointAssociation",
  190    190   
    ),
  191    191   
    ::aws_smithy_schema::ShapeType::String,
  192         -
    "associated_resource_arn",
         192  +
    "AssociatedResourceArn",
  193    193   
    9,
  194    194   
)
  195    195   
.with_xml_name("associatedResourceArn");
  196    196   
static VPCENDPOINTASSOCIATION_MEMBER_RESOURCE_CONFIGURATION_GROUP_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  197    197   
    ::aws_smithy_schema::ShapeId::from_static(
  198    198   
        "com.amazonaws.ec2#VpcEndpointAssociation$ResourceConfigurationGroupArn",
  199    199   
        "com.amazonaws.ec2",
  200    200   
        "VpcEndpointAssociation",
  201    201   
    ),
  202    202   
    ::aws_smithy_schema::ShapeType::String,
  203         -
    "resource_configuration_group_arn",
         203  +
    "ResourceConfigurationGroupArn",
  204    204   
    10,
  205    205   
)
  206    206   
.with_xml_name("resourceConfigurationGroupArn");
  207    207   
static VPCENDPOINTASSOCIATION_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  208    208   
    ::aws_smithy_schema::ShapeId::from_static(
  209    209   
        "com.amazonaws.ec2#VpcEndpointAssociation$Tags",
  210    210   
        "com.amazonaws.ec2",
  211    211   
        "VpcEndpointAssociation",
  212    212   
    ),
  213    213   
    ::aws_smithy_schema::ShapeType::List,
  214         -
    "tags",
         214  +
    "Tags",
  215    215   
    11,
  216    216   
)
  217    217   
.with_xml_name("tagSet");
  218    218   
static VPCENDPOINTASSOCIATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  219    219   
    VPCENDPOINTASSOCIATION_SCHEMA_ID,
  220    220   
    ::aws_smithy_schema::ShapeType::Structure,
  221    221   
    &[
  222    222   
        &VPCENDPOINTASSOCIATION_MEMBER_ID,
  223    223   
        &VPCENDPOINTASSOCIATION_MEMBER_VPC_ENDPOINT_ID,
  224    224   
        &VPCENDPOINTASSOCIATION_MEMBER_SERVICE_NETWORK_ARN,
@@ -265,265 +391,399 @@
  285    285   
                    }
  286    286   
                    Ok(())
  287    287   
                },
  288    288   
            )?;
  289    289   
        }
  290    290   
        Ok(())
  291    291   
    }
  292    292   
}
  293    293   
impl VpcEndpointAssociation {
  294    294   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  295         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  296         -
        deserializer: &mut D,
         295  +
    pub fn deserialize(
         296  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  297    297   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  298    298   
        #[allow(unused_variables, unused_mut)]
  299    299   
        let mut builder = Self::builder();
  300    300   
        #[allow(
  301    301   
            unused_variables,
  302    302   
            unreachable_code,
  303    303   
            clippy::single_match,
  304    304   
            clippy::match_single_binding,
  305    305   
            clippy::diverging_sub_expression
  306    306   
        )]
  307         -
        deserializer.read_struct(&VPCENDPOINTASSOCIATION_SCHEMA, (), |_, member, deser| {
         307  +
        deserializer.read_struct(&VPCENDPOINTASSOCIATION_SCHEMA, &mut |member, deser| {
  308    308   
            match member.member_index() {
  309    309   
                Some(0) => {
  310    310   
                    builder.id = Some(deser.read_string(member)?);
  311    311   
                }
  312    312   
                Some(1) => {
  313    313   
                    builder.vpc_endpoint_id = Some(deser.read_string(member)?);
  314    314   
                }
  315    315   
                Some(2) => {
  316    316   
                    builder.service_network_arn = Some(deser.read_string(member)?);
  317    317   
                }
  318    318   
                Some(3) => {
  319    319   
                    builder.service_network_name = Some(deser.read_string(member)?);
  320    320   
                }
  321    321   
                Some(4) => {
  322    322   
                    builder.associated_resource_accessibility = Some(deser.read_string(member)?);
  323    323   
                }
  324    324   
                Some(5) => {
  325    325   
                    builder.failure_reason = Some(deser.read_string(member)?);
  326    326   
                }
  327    327   
                Some(6) => {
  328    328   
                    builder.failure_code = Some(deser.read_string(member)?);
  329    329   
                }
  330    330   
                Some(7) => {
  331    331   
                    builder.dns_entry = Some(crate::types::DnsEntry::deserialize(deser)?);
  332    332   
                }
  333    333   
                Some(8) => {
  334    334   
                    builder.private_dns_entry = Some(crate::types::DnsEntry::deserialize(deser)?);
  335    335   
                }
  336    336   
                Some(9) => {
  337    337   
                    builder.associated_resource_arn = Some(deser.read_string(member)?);
  338    338   
                }
  339    339   
                Some(10) => {
  340    340   
                    builder.resource_configuration_group_arn = Some(deser.read_string(member)?);
  341    341   
                }
  342    342   
                Some(11) => {
  343    343   
                    builder.tags = Some({
  344         -
                        let container = if let Some(cap) = deser.container_size() {
  345         -
                            Vec::with_capacity(cap)
  346         -
                        } else {
  347         -
                            Vec::new()
  348         -
                        };
  349         -
                        deser.read_list(member, container, |mut list, deser| {
  350         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  351         -
                            Ok(list)
  352         -
                        })?
         344  +
                        let mut container = Vec::new();
         345  +
                        deser.read_list(member, &mut |deser| {
         346  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         347  +
                            Ok(())
         348  +
                        })?;
         349  +
                        container
  353    350   
                    });
  354    351   
                }
  355    352   
                _ => {}
  356    353   
            }
  357    354   
            Ok(())
  358    355   
        })?;
  359    356   
        Ok(builder.build())
  360    357   
    }
  361    358   
}
         359  +
impl VpcEndpointAssociation {
         360  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         361  +
    pub fn deserialize_with_response(
         362  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         363  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         364  +
        _status: u16,
         365  +
        _body: &[u8],
         366  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         367  +
        Self::deserialize(deserializer)
         368  +
    }
         369  +
}
  362    370   
impl VpcEndpointAssociation {
  363    371   
    /// Creates a new builder-style object to manufacture [`VpcEndpointAssociation`](crate::types::VpcEndpointAssociation).
  364    372   
    pub fn builder() -> crate::types::builders::VpcEndpointAssociationBuilder {
  365    373   
        crate::types::builders::VpcEndpointAssociationBuilder::default()
  366    374   
    }
  367    375   
}
  368    376   
  369    377   
/// A builder for [`VpcEndpointAssociation`](crate::types::VpcEndpointAssociation).
  370    378   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  371    379   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/types/_vpc_endpoint_connection.rs

@@ -69,69 +250,250 @@
   89     89   
}
   90     90   
static VPCENDPOINTCONNECTION_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   91     91   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpcEndpointConnection", "com.amazonaws.ec2", "VpcEndpointConnection");
   92     92   
static VPCENDPOINTCONNECTION_MEMBER_SERVICE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   93     93   
    ::aws_smithy_schema::ShapeId::from_static(
   94     94   
        "com.amazonaws.ec2#VpcEndpointConnection$ServiceId",
   95     95   
        "com.amazonaws.ec2",
   96     96   
        "VpcEndpointConnection",
   97     97   
    ),
   98     98   
    ::aws_smithy_schema::ShapeType::String,
   99         -
    "service_id",
          99  +
    "ServiceId",
  100    100   
    0,
  101    101   
)
  102    102   
.with_xml_name("serviceId");
  103    103   
static VPCENDPOINTCONNECTION_MEMBER_VPC_ENDPOINT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  104    104   
    ::aws_smithy_schema::ShapeId::from_static(
  105    105   
        "com.amazonaws.ec2#VpcEndpointConnection$VpcEndpointId",
  106    106   
        "com.amazonaws.ec2",
  107    107   
        "VpcEndpointConnection",
  108    108   
    ),
  109    109   
    ::aws_smithy_schema::ShapeType::String,
  110         -
    "vpc_endpoint_id",
         110  +
    "VpcEndpointId",
  111    111   
    1,
  112    112   
)
  113    113   
.with_xml_name("vpcEndpointId");
  114    114   
static VPCENDPOINTCONNECTION_MEMBER_VPC_ENDPOINT_OWNER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  115    115   
    ::aws_smithy_schema::ShapeId::from_static(
  116    116   
        "com.amazonaws.ec2#VpcEndpointConnection$VpcEndpointOwner",
  117    117   
        "com.amazonaws.ec2",
  118    118   
        "VpcEndpointConnection",
  119    119   
    ),
  120    120   
    ::aws_smithy_schema::ShapeType::String,
  121         -
    "vpc_endpoint_owner",
         121  +
    "VpcEndpointOwner",
  122    122   
    2,
  123    123   
)
  124    124   
.with_xml_name("vpcEndpointOwner");
  125    125   
static VPCENDPOINTCONNECTION_MEMBER_VPC_ENDPOINT_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  126    126   
    ::aws_smithy_schema::ShapeId::from_static(
  127    127   
        "com.amazonaws.ec2#VpcEndpointConnection$VpcEndpointState",
  128    128   
        "com.amazonaws.ec2",
  129    129   
        "VpcEndpointConnection",
  130    130   
    ),
  131    131   
    ::aws_smithy_schema::ShapeType::String,
  132         -
    "vpc_endpoint_state",
         132  +
    "VpcEndpointState",
  133    133   
    3,
  134    134   
)
  135    135   
.with_xml_name("vpcEndpointState");
  136    136   
static VPCENDPOINTCONNECTION_MEMBER_CREATION_TIMESTAMP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  137    137   
    ::aws_smithy_schema::ShapeId::from_static(
  138    138   
        "com.amazonaws.ec2#VpcEndpointConnection$CreationTimestamp",
  139    139   
        "com.amazonaws.ec2",
  140    140   
        "VpcEndpointConnection",
  141    141   
    ),
  142    142   
    ::aws_smithy_schema::ShapeType::Timestamp,
  143         -
    "creation_timestamp",
         143  +
    "CreationTimestamp",
  144    144   
    4,
  145    145   
)
  146    146   
.with_xml_name("creationTimestamp");
  147    147   
static VPCENDPOINTCONNECTION_MEMBER_DNS_ENTRIES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  148    148   
    ::aws_smithy_schema::ShapeId::from_static(
  149    149   
        "com.amazonaws.ec2#VpcEndpointConnection$DnsEntries",
  150    150   
        "com.amazonaws.ec2",
  151    151   
        "VpcEndpointConnection",
  152    152   
    ),
  153    153   
    ::aws_smithy_schema::ShapeType::List,
  154         -
    "dns_entries",
         154  +
    "DnsEntries",
  155    155   
    5,
  156    156   
)
  157    157   
.with_xml_name("dnsEntrySet");
  158    158   
static VPCENDPOINTCONNECTION_MEMBER_NETWORK_LOAD_BALANCER_ARNS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  159    159   
    ::aws_smithy_schema::ShapeId::from_static(
  160    160   
        "com.amazonaws.ec2#VpcEndpointConnection$NetworkLoadBalancerArns",
  161    161   
        "com.amazonaws.ec2",
  162    162   
        "VpcEndpointConnection",
  163    163   
    ),
  164    164   
    ::aws_smithy_schema::ShapeType::List,
  165         -
    "network_load_balancer_arns",
         165  +
    "NetworkLoadBalancerArns",
  166    166   
    6,
  167    167   
)
  168    168   
.with_xml_name("networkLoadBalancerArnSet");
  169    169   
static VPCENDPOINTCONNECTION_MEMBER_GATEWAY_LOAD_BALANCER_ARNS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  170    170   
    ::aws_smithy_schema::ShapeId::from_static(
  171    171   
        "com.amazonaws.ec2#VpcEndpointConnection$GatewayLoadBalancerArns",
  172    172   
        "com.amazonaws.ec2",
  173    173   
        "VpcEndpointConnection",
  174    174   
    ),
  175    175   
    ::aws_smithy_schema::ShapeType::List,
  176         -
    "gateway_load_balancer_arns",
         176  +
    "GatewayLoadBalancerArns",
  177    177   
    7,
  178    178   
)
  179    179   
.with_xml_name("gatewayLoadBalancerArnSet");
  180    180   
static VPCENDPOINTCONNECTION_MEMBER_IP_ADDRESS_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  181    181   
    ::aws_smithy_schema::ShapeId::from_static(
  182    182   
        "com.amazonaws.ec2#VpcEndpointConnection$IpAddressType",
  183    183   
        "com.amazonaws.ec2",
  184    184   
        "VpcEndpointConnection",
  185    185   
    ),
  186    186   
    ::aws_smithy_schema::ShapeType::String,
  187         -
    "ip_address_type",
         187  +
    "IpAddressType",
  188    188   
    8,
  189    189   
)
  190    190   
.with_xml_name("ipAddressType");
  191    191   
static VPCENDPOINTCONNECTION_MEMBER_VPC_ENDPOINT_CONNECTION_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  192    192   
    ::aws_smithy_schema::ShapeId::from_static(
  193    193   
        "com.amazonaws.ec2#VpcEndpointConnection$VpcEndpointConnectionId",
  194    194   
        "com.amazonaws.ec2",
  195    195   
        "VpcEndpointConnection",
  196    196   
    ),
  197    197   
    ::aws_smithy_schema::ShapeType::String,
  198         -
    "vpc_endpoint_connection_id",
         198  +
    "VpcEndpointConnectionId",
  199    199   
    9,
  200    200   
)
  201    201   
.with_xml_name("vpcEndpointConnectionId");
  202    202   
static VPCENDPOINTCONNECTION_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  203    203   
    ::aws_smithy_schema::ShapeId::from_static(
  204    204   
        "com.amazonaws.ec2#VpcEndpointConnection$Tags",
  205    205   
        "com.amazonaws.ec2",
  206    206   
        "VpcEndpointConnection",
  207    207   
    ),
  208    208   
    ::aws_smithy_schema::ShapeType::List,
  209         -
    "tags",
         209  +
    "Tags",
  210    210   
    10,
  211    211   
)
  212    212   
.with_xml_name("tagSet");
  213    213   
static VPCENDPOINTCONNECTION_MEMBER_VPC_ENDPOINT_REGION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  214    214   
    ::aws_smithy_schema::ShapeId::from_static(
  215    215   
        "com.amazonaws.ec2#VpcEndpointConnection$VpcEndpointRegion",
  216    216   
        "com.amazonaws.ec2",
  217    217   
        "VpcEndpointConnection",
  218    218   
    ),
  219    219   
    ::aws_smithy_schema::ShapeType::String,
  220         -
    "vpc_endpoint_region",
         220  +
    "VpcEndpointRegion",
  221    221   
    11,
  222    222   
)
  223    223   
.with_xml_name("vpcEndpointRegion");
  224    224   
static VPCENDPOINTCONNECTION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  225    225   
    VPCENDPOINTCONNECTION_SCHEMA_ID,
  226    226   
    ::aws_smithy_schema::ShapeType::Structure,
  227    227   
    &[
  228    228   
        &VPCENDPOINTCONNECTION_MEMBER_SERVICE_ID,
  229    229   
        &VPCENDPOINTCONNECTION_MEMBER_VPC_ENDPOINT_ID,
  230    230   
        &VPCENDPOINTCONNECTION_MEMBER_VPC_ENDPOINT_OWNER,
@@ -295,295 +451,436 @@
  315    315   
            )?;
  316    316   
        }
  317    317   
        if let Some(ref val) = self.vpc_endpoint_region {
  318    318   
            ser.write_string(&VPCENDPOINTCONNECTION_MEMBER_VPC_ENDPOINT_REGION, val)?;
  319    319   
        }
  320    320   
        Ok(())
  321    321   
    }
  322    322   
}
  323    323   
impl VpcEndpointConnection {
  324    324   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  325         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  326         -
        deserializer: &mut D,
         325  +
    pub fn deserialize(
         326  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  327    327   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  328    328   
        #[allow(unused_variables, unused_mut)]
  329    329   
        let mut builder = Self::builder();
  330    330   
        #[allow(
  331    331   
            unused_variables,
  332    332   
            unreachable_code,
  333    333   
            clippy::single_match,
  334    334   
            clippy::match_single_binding,
  335    335   
            clippy::diverging_sub_expression
  336    336   
        )]
  337         -
        deserializer.read_struct(&VPCENDPOINTCONNECTION_SCHEMA, (), |_, member, deser| {
         337  +
        deserializer.read_struct(&VPCENDPOINTCONNECTION_SCHEMA, &mut |member, deser| {
  338    338   
            match member.member_index() {
  339    339   
                Some(0) => {
  340    340   
                    builder.service_id = Some(deser.read_string(member)?);
  341    341   
                }
  342    342   
                Some(1) => {
  343    343   
                    builder.vpc_endpoint_id = Some(deser.read_string(member)?);
  344    344   
                }
  345    345   
                Some(2) => {
  346    346   
                    builder.vpc_endpoint_owner = Some(deser.read_string(member)?);
  347    347   
                }
  348    348   
                Some(3) => {
  349    349   
                    builder.vpc_endpoint_state = Some(crate::types::State::from(deser.read_string(member)?.as_str()));
  350    350   
                }
  351    351   
                Some(4) => {
  352    352   
                    builder.creation_timestamp = Some(deser.read_timestamp(member)?);
  353    353   
                }
  354    354   
                Some(5) => {
  355    355   
                    builder.dns_entries = Some({
  356         -
                        let container = if let Some(cap) = deser.container_size() {
  357         -
                            Vec::with_capacity(cap)
  358         -
                        } else {
  359         -
                            Vec::new()
  360         -
                        };
  361         -
                        deser.read_list(member, container, |mut list, deser| {
  362         -
                            list.push(crate::types::DnsEntry::deserialize(deser)?);
  363         -
                            Ok(list)
  364         -
                        })?
         356  +
                        let mut container = Vec::new();
         357  +
                        deser.read_list(member, &mut |deser| {
         358  +
                            container.push(crate::types::DnsEntry::deserialize(deser)?);
         359  +
                            Ok(())
         360  +
                        })?;
         361  +
                        container
  365    362   
                    });
  366    363   
                }
  367    364   
                Some(6) => {
  368         -
                    builder.network_load_balancer_arns = Some({
  369         -
                        let container = if let Some(cap) = deser.container_size() {
  370         -
                            Vec::with_capacity(cap)
  371         -
                        } else {
  372         -
                            Vec::new()
  373         -
                        };
  374         -
                        deser.read_list(member, container, |mut list, deser| {
  375         -
                            list.push(deser.read_string(member)?);
  376         -
                            Ok(list)
  377         -
                        })?
  378         -
                    });
         365  +
                    builder.network_load_balancer_arns = Some(deser.read_string_list(member)?);
  379    366   
                }
  380    367   
                Some(7) => {
  381         -
                    builder.gateway_load_balancer_arns = Some({
  382         -
                        let container = if let Some(cap) = deser.container_size() {
  383         -
                            Vec::with_capacity(cap)
  384         -
                        } else {
  385         -
                            Vec::new()
  386         -
                        };
  387         -
                        deser.read_list(member, container, |mut list, deser| {
  388         -
                            list.push(deser.read_string(member)?);
  389         -
                            Ok(list)
  390         -
                        })?
  391         -
                    });
         368  +
                    builder.gateway_load_balancer_arns = Some(deser.read_string_list(member)?);
  392    369   
                }
  393    370   
                Some(8) => {
  394    371   
                    builder.ip_address_type = Some(crate::types::IpAddressType::from(deser.read_string(member)?.as_str()));
  395    372   
                }
  396    373   
                Some(9) => {
  397    374   
                    builder.vpc_endpoint_connection_id = Some(deser.read_string(member)?);
  398    375   
                }
  399    376   
                Some(10) => {
  400    377   
                    builder.tags = Some({
  401         -
                        let container = if let Some(cap) = deser.container_size() {
  402         -
                            Vec::with_capacity(cap)
  403         -
                        } else {
  404         -
                            Vec::new()
  405         -
                        };
  406         -
                        deser.read_list(member, container, |mut list, deser| {
  407         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  408         -
                            Ok(list)
  409         -
                        })?
         378  +
                        let mut container = Vec::new();
         379  +
                        deser.read_list(member, &mut |deser| {
         380  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         381  +
                            Ok(())
         382  +
                        })?;
         383  +
                        container
  410    384   
                    });
  411    385   
                }
  412    386   
                Some(11) => {
  413    387   
                    builder.vpc_endpoint_region = Some(deser.read_string(member)?);
  414    388   
                }
  415    389   
                _ => {}
  416    390   
            }
  417    391   
            Ok(())
  418    392   
        })?;
  419    393   
        Ok(builder.build())
  420    394   
    }
  421    395   
}
         396  +
impl VpcEndpointConnection {
         397  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         398  +
    pub fn deserialize_with_response(
         399  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         400  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         401  +
        _status: u16,
         402  +
        _body: &[u8],
         403  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         404  +
        Self::deserialize(deserializer)
         405  +
    }
         406  +
}
  422    407   
impl VpcEndpointConnection {
  423    408   
    /// Creates a new builder-style object to manufacture [`VpcEndpointConnection`](crate::types::VpcEndpointConnection).
  424    409   
    pub fn builder() -> crate::types::builders::VpcEndpointConnectionBuilder {
  425    410   
        crate::types::builders::VpcEndpointConnectionBuilder::default()
  426    411   
    }
  427    412   
}
  428    413   
  429    414   
/// A builder for [`VpcEndpointConnection`](crate::types::VpcEndpointConnection).
  430    415   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  431    416   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/types/_vpc_ipv6_cidr_block_association.rs

@@ -34,34 +254,265 @@
   54     54   
    "com.amazonaws.ec2",
   55     55   
    "VpcIpv6CidrBlockAssociation",
   56     56   
);
   57     57   
static VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_ASSOCIATION_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   58     58   
    ::aws_smithy_schema::ShapeId::from_static(
   59     59   
        "com.amazonaws.ec2#VpcIpv6CidrBlockAssociation$AssociationId",
   60     60   
        "com.amazonaws.ec2",
   61     61   
        "VpcIpv6CidrBlockAssociation",
   62     62   
    ),
   63     63   
    ::aws_smithy_schema::ShapeType::String,
   64         -
    "association_id",
          64  +
    "AssociationId",
   65     65   
    0,
   66     66   
)
   67     67   
.with_xml_name("associationId");
   68     68   
static VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_IPV6_CIDR_BLOCK: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   69     69   
    ::aws_smithy_schema::ShapeId::from_static(
   70     70   
        "com.amazonaws.ec2#VpcIpv6CidrBlockAssociation$Ipv6CidrBlock",
   71     71   
        "com.amazonaws.ec2",
   72     72   
        "VpcIpv6CidrBlockAssociation",
   73     73   
    ),
   74     74   
    ::aws_smithy_schema::ShapeType::String,
   75         -
    "ipv6_cidr_block",
          75  +
    "Ipv6CidrBlock",
   76     76   
    1,
   77     77   
)
   78     78   
.with_xml_name("ipv6CidrBlock");
   79     79   
static VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_IPV6_CIDR_BLOCK_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   80     80   
    ::aws_smithy_schema::ShapeId::from_static(
   81     81   
        "com.amazonaws.ec2#VpcIpv6CidrBlockAssociation$Ipv6CidrBlockState",
   82     82   
        "com.amazonaws.ec2",
   83     83   
        "VpcIpv6CidrBlockAssociation",
   84     84   
    ),
   85     85   
    ::aws_smithy_schema::ShapeType::Structure,
   86         -
    "ipv6_cidr_block_state",
          86  +
    "Ipv6CidrBlockState",
   87     87   
    2,
   88     88   
)
   89     89   
.with_xml_name("ipv6CidrBlockState");
   90     90   
static VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_NETWORK_BORDER_GROUP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   91     91   
    ::aws_smithy_schema::ShapeId::from_static(
   92     92   
        "com.amazonaws.ec2#VpcIpv6CidrBlockAssociation$NetworkBorderGroup",
   93     93   
        "com.amazonaws.ec2",
   94     94   
        "VpcIpv6CidrBlockAssociation",
   95     95   
    ),
   96     96   
    ::aws_smithy_schema::ShapeType::String,
   97         -
    "network_border_group",
          97  +
    "NetworkBorderGroup",
   98     98   
    3,
   99     99   
)
  100    100   
.with_xml_name("networkBorderGroup");
  101    101   
static VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_IPV6_POOL: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  102    102   
    ::aws_smithy_schema::ShapeId::from_static(
  103    103   
        "com.amazonaws.ec2#VpcIpv6CidrBlockAssociation$Ipv6Pool",
  104    104   
        "com.amazonaws.ec2",
  105    105   
        "VpcIpv6CidrBlockAssociation",
  106    106   
    ),
  107    107   
    ::aws_smithy_schema::ShapeType::String,
  108         -
    "ipv6_pool",
         108  +
    "Ipv6Pool",
  109    109   
    4,
  110    110   
)
  111    111   
.with_xml_name("ipv6Pool");
  112    112   
static VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_IPV6_ADDRESS_ATTRIBUTE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  113    113   
    ::aws_smithy_schema::ShapeId::from_static(
  114    114   
        "com.amazonaws.ec2#VpcIpv6CidrBlockAssociation$Ipv6AddressAttribute",
  115    115   
        "com.amazonaws.ec2",
  116    116   
        "VpcIpv6CidrBlockAssociation",
  117    117   
    ),
  118    118   
    ::aws_smithy_schema::ShapeType::String,
  119         -
    "ipv6_address_attribute",
         119  +
    "Ipv6AddressAttribute",
  120    120   
    5,
  121    121   
)
  122    122   
.with_xml_name("ipv6AddressAttribute");
  123    123   
static VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_IP_SOURCE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  124    124   
    ::aws_smithy_schema::ShapeId::from_static(
  125    125   
        "com.amazonaws.ec2#VpcIpv6CidrBlockAssociation$IpSource",
  126    126   
        "com.amazonaws.ec2",
  127    127   
        "VpcIpv6CidrBlockAssociation",
  128    128   
    ),
  129    129   
    ::aws_smithy_schema::ShapeType::String,
  130         -
    "ip_source",
         130  +
    "IpSource",
  131    131   
    6,
  132    132   
)
  133    133   
.with_xml_name("ipSource");
  134    134   
static VPCIPV6CIDRBLOCKASSOCIATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  135    135   
    VPCIPV6CIDRBLOCKASSOCIATION_SCHEMA_ID,
  136    136   
    ::aws_smithy_schema::ShapeType::Structure,
  137    137   
    &[
  138    138   
        &VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_ASSOCIATION_ID,
  139    139   
        &VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_IPV6_CIDR_BLOCK,
  140    140   
        &VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_IPV6_CIDR_BLOCK_STATE,
  141    141   
        &VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_NETWORK_BORDER_GROUP,
  142    142   
        &VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_IPV6_POOL,
  143    143   
        &VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_IPV6_ADDRESS_ATTRIBUTE,
  144    144   
        &VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_IP_SOURCE,
  145    145   
    ],
  146    146   
);
  147    147   
impl VpcIpv6CidrBlockAssociation {
  148    148   
    /// The schema for this shape.
  149    149   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &VPCIPV6CIDRBLOCKASSOCIATION_SCHEMA;
  150    150   
}
  151    151   
impl ::aws_smithy_schema::serde::SerializableStruct for VpcIpv6CidrBlockAssociation {
  152    152   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  153    153   
    fn serialize_members(
  154    154   
        &self,
  155    155   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  156    156   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  157    157   
        if let Some(ref val) = self.association_id {
  158    158   
            ser.write_string(&VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_ASSOCIATION_ID, val)?;
  159    159   
        }
  160    160   
        if let Some(ref val) = self.ipv6_cidr_block {
  161    161   
            ser.write_string(&VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_IPV6_CIDR_BLOCK, val)?;
  162    162   
        }
  163    163   
        if let Some(ref val) = self.ipv6_cidr_block_state {
  164    164   
            ser.write_struct(&VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_IPV6_CIDR_BLOCK_STATE, val)?;
  165    165   
        }
  166    166   
        if let Some(ref val) = self.network_border_group {
  167    167   
            ser.write_string(&VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_NETWORK_BORDER_GROUP, val)?;
  168    168   
        }
  169    169   
        if let Some(ref val) = self.ipv6_pool {
  170    170   
            ser.write_string(&VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_IPV6_POOL, val)?;
  171    171   
        }
  172    172   
        if let Some(ref val) = self.ipv6_address_attribute {
  173    173   
            ser.write_string(&VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_IPV6_ADDRESS_ATTRIBUTE, val.as_str())?;
  174    174   
        }
  175    175   
        if let Some(ref val) = self.ip_source {
  176    176   
            ser.write_string(&VPCIPV6CIDRBLOCKASSOCIATION_MEMBER_IP_SOURCE, val.as_str())?;
  177    177   
        }
  178    178   
        Ok(())
  179    179   
    }
  180    180   
}
  181    181   
impl VpcIpv6CidrBlockAssociation {
  182    182   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  183         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  184         -
        deserializer: &mut D,
         183  +
    pub fn deserialize(
         184  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  185    185   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  186    186   
        #[allow(unused_variables, unused_mut)]
  187    187   
        let mut builder = Self::builder();
  188    188   
        #[allow(
  189    189   
            unused_variables,
  190    190   
            unreachable_code,
  191    191   
            clippy::single_match,
  192    192   
            clippy::match_single_binding,
  193    193   
            clippy::diverging_sub_expression
  194    194   
        )]
  195         -
        deserializer.read_struct(&VPCIPV6CIDRBLOCKASSOCIATION_SCHEMA, (), |_, member, deser| {
         195  +
        deserializer.read_struct(&VPCIPV6CIDRBLOCKASSOCIATION_SCHEMA, &mut |member, deser| {
  196    196   
            match member.member_index() {
  197    197   
                Some(0) => {
  198    198   
                    builder.association_id = Some(deser.read_string(member)?);
  199    199   
                }
  200    200   
                Some(1) => {
  201    201   
                    builder.ipv6_cidr_block = Some(deser.read_string(member)?);
  202    202   
                }
  203    203   
                Some(2) => {
  204    204   
                    builder.ipv6_cidr_block_state = Some(crate::types::VpcCidrBlockState::deserialize(deser)?);
  205    205   
                }
  206    206   
                Some(3) => {
  207    207   
                    builder.network_border_group = Some(deser.read_string(member)?);
  208    208   
                }
  209    209   
                Some(4) => {
  210    210   
                    builder.ipv6_pool = Some(deser.read_string(member)?);
  211    211   
                }
  212    212   
                Some(5) => {
  213    213   
                    builder.ipv6_address_attribute = Some(crate::types::Ipv6AddressAttribute::from(deser.read_string(member)?.as_str()));
  214    214   
                }
  215    215   
                Some(6) => {
  216    216   
                    builder.ip_source = Some(crate::types::IpSource::from(deser.read_string(member)?.as_str()));
  217    217   
                }
  218    218   
                _ => {}
  219    219   
            }
  220    220   
            Ok(())
  221    221   
        })?;
  222    222   
        Ok(builder.build())
  223    223   
    }
  224    224   
}
         225  +
impl VpcIpv6CidrBlockAssociation {
         226  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         227  +
    pub fn deserialize_with_response(
         228  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         229  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         230  +
        _status: u16,
         231  +
        _body: &[u8],
         232  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         233  +
        Self::deserialize(deserializer)
         234  +
    }
         235  +
}
  225    236   
impl VpcIpv6CidrBlockAssociation {
  226    237   
    /// Creates a new builder-style object to manufacture [`VpcIpv6CidrBlockAssociation`](crate::types::VpcIpv6CidrBlockAssociation).
  227    238   
    pub fn builder() -> crate::types::builders::VpcIpv6CidrBlockAssociationBuilder {
  228    239   
        crate::types::builders::VpcIpv6CidrBlockAssociationBuilder::default()
  229    240   
    }
  230    241   
}
  231    242   
  232    243   
/// A builder for [`VpcIpv6CidrBlockAssociation`](crate::types::VpcIpv6CidrBlockAssociation).
  233    244   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  234    245   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/types/_vpc_peering_connection.rs

@@ -27,27 +243,251 @@
   47     47   
}
   48     48   
static VPCPEERINGCONNECTION_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   49     49   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpcPeeringConnection", "com.amazonaws.ec2", "VpcPeeringConnection");
   50     50   
static VPCPEERINGCONNECTION_MEMBER_ACCEPTER_VPC_INFO: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   51     51   
    ::aws_smithy_schema::ShapeId::from_static(
   52     52   
        "com.amazonaws.ec2#VpcPeeringConnection$AccepterVpcInfo",
   53     53   
        "com.amazonaws.ec2",
   54     54   
        "VpcPeeringConnection",
   55     55   
    ),
   56     56   
    ::aws_smithy_schema::ShapeType::Structure,
   57         -
    "accepter_vpc_info",
          57  +
    "AccepterVpcInfo",
   58     58   
    0,
   59     59   
)
   60     60   
.with_xml_name("accepterVpcInfo");
   61     61   
static VPCPEERINGCONNECTION_MEMBER_EXPIRATION_TIME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   62     62   
    ::aws_smithy_schema::ShapeId::from_static(
   63     63   
        "com.amazonaws.ec2#VpcPeeringConnection$ExpirationTime",
   64     64   
        "com.amazonaws.ec2",
   65     65   
        "VpcPeeringConnection",
   66     66   
    ),
   67     67   
    ::aws_smithy_schema::ShapeType::Timestamp,
   68         -
    "expiration_time",
          68  +
    "ExpirationTime",
   69     69   
    1,
   70     70   
)
   71     71   
.with_xml_name("expirationTime");
   72     72   
static VPCPEERINGCONNECTION_MEMBER_REQUESTER_VPC_INFO: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   73     73   
    ::aws_smithy_schema::ShapeId::from_static(
   74     74   
        "com.amazonaws.ec2#VpcPeeringConnection$RequesterVpcInfo",
   75     75   
        "com.amazonaws.ec2",
   76     76   
        "VpcPeeringConnection",
   77     77   
    ),
   78     78   
    ::aws_smithy_schema::ShapeType::Structure,
   79         -
    "requester_vpc_info",
          79  +
    "RequesterVpcInfo",
   80     80   
    2,
   81     81   
)
   82     82   
.with_xml_name("requesterVpcInfo");
   83     83   
static VPCPEERINGCONNECTION_MEMBER_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   84     84   
    ::aws_smithy_schema::ShapeId::from_static(
   85     85   
        "com.amazonaws.ec2#VpcPeeringConnection$Status",
   86     86   
        "com.amazonaws.ec2",
   87     87   
        "VpcPeeringConnection",
   88     88   
    ),
   89     89   
    ::aws_smithy_schema::ShapeType::Structure,
   90         -
    "status",
          90  +
    "Status",
   91     91   
    3,
   92     92   
)
   93     93   
.with_xml_name("status");
   94     94   
static VPCPEERINGCONNECTION_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   95     95   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpcPeeringConnection$Tags", "com.amazonaws.ec2", "VpcPeeringConnection"),
   96     96   
    ::aws_smithy_schema::ShapeType::List,
   97         -
    "tags",
          97  +
    "Tags",
   98     98   
    4,
   99     99   
)
  100    100   
.with_xml_name("tagSet");
  101    101   
static VPCPEERINGCONNECTION_MEMBER_VPC_PEERING_CONNECTION_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  102    102   
    ::aws_smithy_schema::ShapeId::from_static(
  103    103   
        "com.amazonaws.ec2#VpcPeeringConnection$VpcPeeringConnectionId",
  104    104   
        "com.amazonaws.ec2",
  105    105   
        "VpcPeeringConnection",
  106    106   
    ),
  107    107   
    ::aws_smithy_schema::ShapeType::String,
  108         -
    "vpc_peering_connection_id",
         108  +
    "VpcPeeringConnectionId",
  109    109   
    5,
  110    110   
)
  111    111   
.with_xml_name("vpcPeeringConnectionId");
  112    112   
static VPCPEERINGCONNECTION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  113    113   
    VPCPEERINGCONNECTION_SCHEMA_ID,
  114    114   
    ::aws_smithy_schema::ShapeType::Structure,
  115    115   
    &[
  116    116   
        &VPCPEERINGCONNECTION_MEMBER_ACCEPTER_VPC_INFO,
  117    117   
        &VPCPEERINGCONNECTION_MEMBER_EXPIRATION_TIME,
  118    118   
        &VPCPEERINGCONNECTION_MEMBER_REQUESTER_VPC_INFO,
  119    119   
        &VPCPEERINGCONNECTION_MEMBER_STATUS,
  120    120   
        &VPCPEERINGCONNECTION_MEMBER_TAGS,
  121    121   
        &VPCPEERINGCONNECTION_MEMBER_VPC_PEERING_CONNECTION_ID,
  122    122   
    ],
  123    123   
);
  124    124   
impl VpcPeeringConnection {
  125    125   
    /// The schema for this shape.
  126    126   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &VPCPEERINGCONNECTION_SCHEMA;
  127    127   
}
  128    128   
impl ::aws_smithy_schema::serde::SerializableStruct for VpcPeeringConnection {
  129    129   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  130    130   
    fn serialize_members(
  131    131   
        &self,
  132    132   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  133    133   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  134    134   
        if let Some(ref val) = self.accepter_vpc_info {
  135    135   
            ser.write_struct(&VPCPEERINGCONNECTION_MEMBER_ACCEPTER_VPC_INFO, val)?;
  136    136   
        }
  137    137   
        if let Some(ref val) = self.expiration_time {
  138    138   
            ser.write_timestamp(&VPCPEERINGCONNECTION_MEMBER_EXPIRATION_TIME, val)?;
  139    139   
        }
  140    140   
        if let Some(ref val) = self.requester_vpc_info {
  141    141   
            ser.write_struct(&VPCPEERINGCONNECTION_MEMBER_REQUESTER_VPC_INFO, val)?;
  142    142   
        }
  143    143   
        if let Some(ref val) = self.status {
  144    144   
            ser.write_struct(&VPCPEERINGCONNECTION_MEMBER_STATUS, val)?;
  145    145   
        }
  146    146   
        if let Some(ref val) = self.tags {
  147    147   
            ser.write_list(
  148    148   
                &VPCPEERINGCONNECTION_MEMBER_TAGS,
  149    149   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  150    150   
                    for item in val {
  151    151   
                        ser.write_struct(crate::types::Tag::SCHEMA, item)?;
  152    152   
                    }
  153    153   
                    Ok(())
  154    154   
                },
  155    155   
            )?;
  156    156   
        }
  157    157   
        if let Some(ref val) = self.vpc_peering_connection_id {
  158    158   
            ser.write_string(&VPCPEERINGCONNECTION_MEMBER_VPC_PEERING_CONNECTION_ID, val)?;
  159    159   
        }
  160    160   
        Ok(())
  161    161   
    }
  162    162   
}
  163    163   
impl VpcPeeringConnection {
  164    164   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  165         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  166         -
        deserializer: &mut D,
         165  +
    pub fn deserialize(
         166  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  167    167   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  168    168   
        #[allow(unused_variables, unused_mut)]
  169    169   
        let mut builder = Self::builder();
  170    170   
        #[allow(
  171    171   
            unused_variables,
  172    172   
            unreachable_code,
  173    173   
            clippy::single_match,
  174    174   
            clippy::match_single_binding,
  175    175   
            clippy::diverging_sub_expression
  176    176   
        )]
  177         -
        deserializer.read_struct(&VPCPEERINGCONNECTION_SCHEMA, (), |_, member, deser| {
         177  +
        deserializer.read_struct(&VPCPEERINGCONNECTION_SCHEMA, &mut |member, deser| {
  178    178   
            match member.member_index() {
  179    179   
                Some(0) => {
  180    180   
                    builder.accepter_vpc_info = Some(crate::types::VpcPeeringConnectionVpcInfo::deserialize(deser)?);
  181    181   
                }
  182    182   
                Some(1) => {
  183    183   
                    builder.expiration_time = Some(deser.read_timestamp(member)?);
  184    184   
                }
  185    185   
                Some(2) => {
  186    186   
                    builder.requester_vpc_info = Some(crate::types::VpcPeeringConnectionVpcInfo::deserialize(deser)?);
  187    187   
                }
  188    188   
                Some(3) => {
  189    189   
                    builder.status = Some(crate::types::VpcPeeringConnectionStateReason::deserialize(deser)?);
  190    190   
                }
  191    191   
                Some(4) => {
  192    192   
                    builder.tags = Some({
  193         -
                        let container = if let Some(cap) = deser.container_size() {
  194         -
                            Vec::with_capacity(cap)
  195         -
                        } else {
  196         -
                            Vec::new()
  197         -
                        };
  198         -
                        deser.read_list(member, container, |mut list, deser| {
  199         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  200         -
                            Ok(list)
  201         -
                        })?
         193  +
                        let mut container = Vec::new();
         194  +
                        deser.read_list(member, &mut |deser| {
         195  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         196  +
                            Ok(())
         197  +
                        })?;
         198  +
                        container
  202    199   
                    });
  203    200   
                }
  204    201   
                Some(5) => {
  205    202   
                    builder.vpc_peering_connection_id = Some(deser.read_string(member)?);
  206    203   
                }
  207    204   
                _ => {}
  208    205   
            }
  209    206   
            Ok(())
  210    207   
        })?;
  211    208   
        Ok(builder.build())
  212    209   
    }
  213    210   
}
         211  +
impl VpcPeeringConnection {
         212  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         213  +
    pub fn deserialize_with_response(
         214  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         215  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         216  +
        _status: u16,
         217  +
        _body: &[u8],
         218  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         219  +
        Self::deserialize(deserializer)
         220  +
    }
         221  +
}
  214    222   
impl VpcPeeringConnection {
  215    223   
    /// Creates a new builder-style object to manufacture [`VpcPeeringConnection`](crate::types::VpcPeeringConnection).
  216    224   
    pub fn builder() -> crate::types::builders::VpcPeeringConnectionBuilder {
  217    225   
        crate::types::builders::VpcPeeringConnectionBuilder::default()
  218    226   
    }
  219    227   
}
  220    228   
  221    229   
/// A builder for [`VpcPeeringConnection`](crate::types::VpcPeeringConnection).
  222    230   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  223    231   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/types/_vpc_peering_connection_options_description.rs

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

tmp-codegen-diff/aws-sdk/sdk/ec2/src/types/_vpc_peering_connection_state_reason.rs

@@ -4,4 +136,147 @@
   24     24   
    "com.amazonaws.ec2",
   25     25   
    "VpcPeeringConnectionStateReason",
   26     26   
);
   27     27   
static VPCPEERINGCONNECTIONSTATEREASON_MEMBER_CODE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   28     28   
    ::aws_smithy_schema::ShapeId::from_static(
   29     29   
        "com.amazonaws.ec2#VpcPeeringConnectionStateReason$Code",
   30     30   
        "com.amazonaws.ec2",
   31     31   
        "VpcPeeringConnectionStateReason",
   32     32   
    ),
   33     33   
    ::aws_smithy_schema::ShapeType::String,
   34         -
    "code",
          34  +
    "Code",
   35     35   
    0,
   36     36   
)
   37     37   
.with_xml_name("code");
   38     38   
static VPCPEERINGCONNECTIONSTATEREASON_MEMBER_MESSAGE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   39     39   
    ::aws_smithy_schema::ShapeId::from_static(
   40     40   
        "com.amazonaws.ec2#VpcPeeringConnectionStateReason$Message",
   41     41   
        "com.amazonaws.ec2",
   42     42   
        "VpcPeeringConnectionStateReason",
   43     43   
    ),
   44     44   
    ::aws_smithy_schema::ShapeType::String,
   45         -
    "message",
          45  +
    "Message",
   46     46   
    1,
   47     47   
)
   48     48   
.with_xml_name("message");
   49     49   
static VPCPEERINGCONNECTIONSTATEREASON_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   50     50   
    VPCPEERINGCONNECTIONSTATEREASON_SCHEMA_ID,
   51     51   
    ::aws_smithy_schema::ShapeType::Structure,
   52     52   
    &[
   53     53   
        &VPCPEERINGCONNECTIONSTATEREASON_MEMBER_CODE,
   54     54   
        &VPCPEERINGCONNECTIONSTATEREASON_MEMBER_MESSAGE,
   55     55   
    ],
   56     56   
);
   57     57   
impl VpcPeeringConnectionStateReason {
   58     58   
    /// The schema for this shape.
   59     59   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &VPCPEERINGCONNECTIONSTATEREASON_SCHEMA;
   60     60   
}
   61     61   
impl ::aws_smithy_schema::serde::SerializableStruct for VpcPeeringConnectionStateReason {
   62     62   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   63     63   
    fn serialize_members(
   64     64   
        &self,
   65     65   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   66     66   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   67     67   
        if let Some(ref val) = self.code {
   68     68   
            ser.write_string(&VPCPEERINGCONNECTIONSTATEREASON_MEMBER_CODE, val.as_str())?;
   69     69   
        }
   70     70   
        if let Some(ref val) = self.message {
   71     71   
            ser.write_string(&VPCPEERINGCONNECTIONSTATEREASON_MEMBER_MESSAGE, val)?;
   72     72   
        }
   73     73   
        Ok(())
   74     74   
    }
   75     75   
}
   76     76   
impl VpcPeeringConnectionStateReason {
   77     77   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   78         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   79         -
        deserializer: &mut D,
          78  +
    pub fn deserialize(
          79  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   80     80   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   81     81   
        #[allow(unused_variables, unused_mut)]
   82     82   
        let mut builder = Self::builder();
   83     83   
        #[allow(
   84     84   
            unused_variables,
   85     85   
            unreachable_code,
   86     86   
            clippy::single_match,
   87     87   
            clippy::match_single_binding,
   88     88   
            clippy::diverging_sub_expression
   89     89   
        )]
   90         -
        deserializer.read_struct(&VPCPEERINGCONNECTIONSTATEREASON_SCHEMA, (), |_, member, deser| {
          90  +
        deserializer.read_struct(&VPCPEERINGCONNECTIONSTATEREASON_SCHEMA, &mut |member, deser| {
   91     91   
            match member.member_index() {
   92     92   
                Some(0) => {
   93     93   
                    builder.code = Some(crate::types::VpcPeeringConnectionStateReasonCode::from(
   94     94   
                        deser.read_string(member)?.as_str(),
   95     95   
                    ));
   96     96   
                }
   97     97   
                Some(1) => {
   98     98   
                    builder.message = Some(deser.read_string(member)?);
   99     99   
                }
  100    100   
                _ => {}
  101    101   
            }
  102    102   
            Ok(())
  103    103   
        })?;
  104    104   
        Ok(builder.build())
  105    105   
    }
  106    106   
}
         107  +
impl VpcPeeringConnectionStateReason {
         108  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         109  +
    pub fn deserialize_with_response(
         110  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         111  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         112  +
        _status: u16,
         113  +
        _body: &[u8],
         114  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         115  +
        Self::deserialize(deserializer)
         116  +
    }
         117  +
}
  107    118   
impl VpcPeeringConnectionStateReason {
  108    119   
    /// Creates a new builder-style object to manufacture [`VpcPeeringConnectionStateReason`](crate::types::VpcPeeringConnectionStateReason).
  109    120   
    pub fn builder() -> crate::types::builders::VpcPeeringConnectionStateReasonBuilder {
  110    121   
        crate::types::builders::VpcPeeringConnectionStateReasonBuilder::default()
  111    122   
    }
  112    123   
}
  113    124   
  114    125   
/// A builder for [`VpcPeeringConnectionStateReason`](crate::types::VpcPeeringConnectionStateReason).
  115    126   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  116    127   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/types/_vpc_peering_connection_vpc_info.rs

@@ -38,38 +164,164 @@
   58     58   
    "com.amazonaws.ec2",
   59     59   
    "VpcPeeringConnectionVpcInfo",
   60     60   
);
   61     61   
static VPCPEERINGCONNECTIONVPCINFO_MEMBER_CIDR_BLOCK: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   62     62   
    ::aws_smithy_schema::ShapeId::from_static(
   63     63   
        "com.amazonaws.ec2#VpcPeeringConnectionVpcInfo$CidrBlock",
   64     64   
        "com.amazonaws.ec2",
   65     65   
        "VpcPeeringConnectionVpcInfo",
   66     66   
    ),
   67     67   
    ::aws_smithy_schema::ShapeType::String,
   68         -
    "cidr_block",
          68  +
    "CidrBlock",
   69     69   
    0,
   70     70   
)
   71     71   
.with_xml_name("cidrBlock");
   72     72   
static VPCPEERINGCONNECTIONVPCINFO_MEMBER_IPV6_CIDR_BLOCK_SET: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   73     73   
    ::aws_smithy_schema::ShapeId::from_static(
   74     74   
        "com.amazonaws.ec2#VpcPeeringConnectionVpcInfo$Ipv6CidrBlockSet",
   75     75   
        "com.amazonaws.ec2",
   76     76   
        "VpcPeeringConnectionVpcInfo",
   77     77   
    ),
   78     78   
    ::aws_smithy_schema::ShapeType::List,
   79         -
    "ipv6_cidr_block_set",
          79  +
    "Ipv6CidrBlockSet",
   80     80   
    1,
   81     81   
)
   82     82   
.with_xml_name("ipv6CidrBlockSet");
   83     83   
static VPCPEERINGCONNECTIONVPCINFO_MEMBER_CIDR_BLOCK_SET: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   84     84   
    ::aws_smithy_schema::ShapeId::from_static(
   85     85   
        "com.amazonaws.ec2#VpcPeeringConnectionVpcInfo$CidrBlockSet",
   86     86   
        "com.amazonaws.ec2",
   87     87   
        "VpcPeeringConnectionVpcInfo",
   88     88   
    ),
   89     89   
    ::aws_smithy_schema::ShapeType::List,
   90         -
    "cidr_block_set",
          90  +
    "CidrBlockSet",
   91     91   
    2,
   92     92   
)
   93     93   
.with_xml_name("cidrBlockSet");
   94     94   
static VPCPEERINGCONNECTIONVPCINFO_MEMBER_OWNER_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   95     95   
    ::aws_smithy_schema::ShapeId::from_static(
   96     96   
        "com.amazonaws.ec2#VpcPeeringConnectionVpcInfo$OwnerId",
   97     97   
        "com.amazonaws.ec2",
   98     98   
        "VpcPeeringConnectionVpcInfo",
   99     99   
    ),
  100    100   
    ::aws_smithy_schema::ShapeType::String,
  101         -
    "owner_id",
         101  +
    "OwnerId",
  102    102   
    3,
  103    103   
)
  104    104   
.with_xml_name("ownerId");
  105    105   
static VPCPEERINGCONNECTIONVPCINFO_MEMBER_PEERING_OPTIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  106    106   
    ::aws_smithy_schema::ShapeId::from_static(
  107    107   
        "com.amazonaws.ec2#VpcPeeringConnectionVpcInfo$PeeringOptions",
  108    108   
        "com.amazonaws.ec2",
  109    109   
        "VpcPeeringConnectionVpcInfo",
  110    110   
    ),
  111    111   
    ::aws_smithy_schema::ShapeType::Structure,
  112         -
    "peering_options",
         112  +
    "PeeringOptions",
  113    113   
    4,
  114    114   
)
  115    115   
.with_xml_name("peeringOptions");
  116    116   
static VPCPEERINGCONNECTIONVPCINFO_MEMBER_VPC_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  117    117   
    ::aws_smithy_schema::ShapeId::from_static(
  118    118   
        "com.amazonaws.ec2#VpcPeeringConnectionVpcInfo$VpcId",
  119    119   
        "com.amazonaws.ec2",
  120    120   
        "VpcPeeringConnectionVpcInfo",
  121    121   
    ),
  122    122   
    ::aws_smithy_schema::ShapeType::String,
  123         -
    "vpc_id",
         123  +
    "VpcId",
  124    124   
    5,
  125    125   
)
  126    126   
.with_xml_name("vpcId");
  127    127   
static VPCPEERINGCONNECTIONVPCINFO_MEMBER_REGION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  128    128   
    ::aws_smithy_schema::ShapeId::from_static(
  129    129   
        "com.amazonaws.ec2#VpcPeeringConnectionVpcInfo$Region",
  130    130   
        "com.amazonaws.ec2",
  131    131   
        "VpcPeeringConnectionVpcInfo",
  132    132   
    ),
  133    133   
    ::aws_smithy_schema::ShapeType::String,
  134         -
    "region",
         134  +
    "Region",
  135    135   
    6,
  136    136   
)
  137    137   
.with_xml_name("region");
  138    138   
static VPCPEERINGCONNECTIONVPCINFO_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  139    139   
    VPCPEERINGCONNECTIONVPCINFO_SCHEMA_ID,
  140    140   
    ::aws_smithy_schema::ShapeType::Structure,
  141    141   
    &[
  142    142   
        &VPCPEERINGCONNECTIONVPCINFO_MEMBER_CIDR_BLOCK,
  143    143   
        &VPCPEERINGCONNECTIONVPCINFO_MEMBER_IPV6_CIDR_BLOCK_SET,
  144    144   
        &VPCPEERINGCONNECTIONVPCINFO_MEMBER_CIDR_BLOCK_SET,
@@ -173,173 +294,299 @@
  193    193   
            ser.write_string(&VPCPEERINGCONNECTIONVPCINFO_MEMBER_VPC_ID, val)?;
  194    194   
        }
  195    195   
        if let Some(ref val) = self.region {
  196    196   
            ser.write_string(&VPCPEERINGCONNECTIONVPCINFO_MEMBER_REGION, val)?;
  197    197   
        }
  198    198   
        Ok(())
  199    199   
    }
  200    200   
}
  201    201   
impl VpcPeeringConnectionVpcInfo {
  202    202   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  203         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  204         -
        deserializer: &mut D,
         203  +
    pub fn deserialize(
         204  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  205    205   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  206    206   
        #[allow(unused_variables, unused_mut)]
  207    207   
        let mut builder = Self::builder();
  208    208   
        #[allow(
  209    209   
            unused_variables,
  210    210   
            unreachable_code,
  211    211   
            clippy::single_match,
  212    212   
            clippy::match_single_binding,
  213    213   
            clippy::diverging_sub_expression
  214    214   
        )]
  215         -
        deserializer.read_struct(&VPCPEERINGCONNECTIONVPCINFO_SCHEMA, (), |_, member, deser| {
         215  +
        deserializer.read_struct(&VPCPEERINGCONNECTIONVPCINFO_SCHEMA, &mut |member, deser| {
  216    216   
            match member.member_index() {
  217    217   
                Some(0) => {
  218    218   
                    builder.cidr_block = Some(deser.read_string(member)?);
  219    219   
                }
  220    220   
                Some(1) => {
  221    221   
                    builder.ipv6_cidr_block_set = 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::Ipv6CidrBlock::deserialize(deser)?);
  229         -
                            Ok(list)
  230         -
                        })?
         222  +
                        let mut container = Vec::new();
         223  +
                        deser.read_list(member, &mut |deser| {
         224  +
                            container.push(crate::types::Ipv6CidrBlock::deserialize(deser)?);
         225  +
                            Ok(())
         226  +
                        })?;
         227  +
                        container
  231    228   
                    });
  232    229   
                }
  233    230   
                Some(2) => {
  234    231   
                    builder.cidr_block_set = Some({
  235         -
                        let container = if let Some(cap) = deser.container_size() {
  236         -
                            Vec::with_capacity(cap)
  237         -
                        } else {
  238         -
                            Vec::new()
  239         -
                        };
  240         -
                        deser.read_list(member, container, |mut list, deser| {
  241         -
                            list.push(crate::types::CidrBlock::deserialize(deser)?);
  242         -
                            Ok(list)
  243         -
                        })?
         232  +
                        let mut container = Vec::new();
         233  +
                        deser.read_list(member, &mut |deser| {
         234  +
                            container.push(crate::types::CidrBlock::deserialize(deser)?);
         235  +
                            Ok(())
         236  +
                        })?;
         237  +
                        container
  244    238   
                    });
  245    239   
                }
  246    240   
                Some(3) => {
  247    241   
                    builder.owner_id = Some(deser.read_string(member)?);
  248    242   
                }
  249    243   
                Some(4) => {
  250    244   
                    builder.peering_options = Some(crate::types::VpcPeeringConnectionOptionsDescription::deserialize(deser)?);
  251    245   
                }
  252    246   
                Some(5) => {
  253    247   
                    builder.vpc_id = Some(deser.read_string(member)?);
  254    248   
                }
  255    249   
                Some(6) => {
  256    250   
                    builder.region = Some(deser.read_string(member)?);
  257    251   
                }
  258    252   
                _ => {}
  259    253   
            }
  260    254   
            Ok(())
  261    255   
        })?;
  262    256   
        Ok(builder.build())
  263    257   
    }
  264    258   
}
         259  +
impl VpcPeeringConnectionVpcInfo {
         260  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         261  +
    pub fn deserialize_with_response(
         262  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         263  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         264  +
        _status: u16,
         265  +
        _body: &[u8],
         266  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         267  +
        Self::deserialize(deserializer)
         268  +
    }
         269  +
}
  265    270   
impl VpcPeeringConnectionVpcInfo {
  266    271   
    /// Creates a new builder-style object to manufacture [`VpcPeeringConnectionVpcInfo`](crate::types::VpcPeeringConnectionVpcInfo).
  267    272   
    pub fn builder() -> crate::types::builders::VpcPeeringConnectionVpcInfoBuilder {
  268    273   
        crate::types::builders::VpcPeeringConnectionVpcInfoBuilder::default()
  269    274   
    }
  270    275   
}
  271    276   
  272    277   
/// A builder for [`VpcPeeringConnectionVpcInfo`](crate::types::VpcPeeringConnectionVpcInfo).
  273    278   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  274    279   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/types/_vpn_connection.rs

@@ -109,109 +286,286 @@
  129    129   
        formatter.field("customer_gateway_id", &self.customer_gateway_id);
  130    130   
        formatter.field("vpn_gateway_id", &self.vpn_gateway_id);
  131    131   
        formatter.finish()
  132    132   
    }
  133    133   
}
  134    134   
static VPNCONNECTION_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
  135    135   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnConnection", "com.amazonaws.ec2", "VpnConnection");
  136    136   
static VPNCONNECTION_MEMBER_CATEGORY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  137    137   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnConnection$Category", "com.amazonaws.ec2", "VpnConnection"),
  138    138   
    ::aws_smithy_schema::ShapeType::String,
  139         -
    "category",
         139  +
    "Category",
  140    140   
    0,
  141    141   
)
  142    142   
.with_xml_name("category");
  143    143   
static VPNCONNECTION_MEMBER_TRANSIT_GATEWAY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  144    144   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnConnection$TransitGatewayId", "com.amazonaws.ec2", "VpnConnection"),
  145    145   
    ::aws_smithy_schema::ShapeType::String,
  146         -
    "transit_gateway_id",
         146  +
    "TransitGatewayId",
  147    147   
    1,
  148    148   
)
  149    149   
.with_xml_name("transitGatewayId");
  150    150   
static VPNCONNECTION_MEMBER_CORE_NETWORK_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  151    151   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnConnection$CoreNetworkArn", "com.amazonaws.ec2", "VpnConnection"),
  152    152   
    ::aws_smithy_schema::ShapeType::String,
  153         -
    "core_network_arn",
         153  +
    "CoreNetworkArn",
  154    154   
    2,
  155    155   
)
  156    156   
.with_xml_name("coreNetworkArn");
  157    157   
static VPNCONNECTION_MEMBER_CORE_NETWORK_ATTACHMENT_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  158    158   
    ::aws_smithy_schema::ShapeId::from_static(
  159    159   
        "com.amazonaws.ec2#VpnConnection$CoreNetworkAttachmentArn",
  160    160   
        "com.amazonaws.ec2",
  161    161   
        "VpnConnection",
  162    162   
    ),
  163    163   
    ::aws_smithy_schema::ShapeType::String,
  164         -
    "core_network_attachment_arn",
         164  +
    "CoreNetworkAttachmentArn",
  165    165   
    3,
  166    166   
)
  167    167   
.with_xml_name("coreNetworkAttachmentArn");
  168    168   
static VPNCONNECTION_MEMBER_GATEWAY_ASSOCIATION_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  169    169   
    ::aws_smithy_schema::ShapeId::from_static(
  170    170   
        "com.amazonaws.ec2#VpnConnection$GatewayAssociationState",
  171    171   
        "com.amazonaws.ec2",
  172    172   
        "VpnConnection",
  173    173   
    ),
  174    174   
    ::aws_smithy_schema::ShapeType::String,
  175         -
    "gateway_association_state",
         175  +
    "GatewayAssociationState",
  176    176   
    4,
  177    177   
)
  178    178   
.with_xml_name("gatewayAssociationState");
  179    179   
static VPNCONNECTION_MEMBER_OPTIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  180    180   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnConnection$Options", "com.amazonaws.ec2", "VpnConnection"),
  181    181   
    ::aws_smithy_schema::ShapeType::Structure,
  182         -
    "options",
         182  +
    "Options",
  183    183   
    5,
  184    184   
)
  185    185   
.with_xml_name("options");
  186    186   
static VPNCONNECTION_MEMBER_ROUTES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  187    187   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnConnection$Routes", "com.amazonaws.ec2", "VpnConnection"),
  188    188   
    ::aws_smithy_schema::ShapeType::List,
  189         -
    "routes",
         189  +
    "Routes",
  190    190   
    6,
  191    191   
)
  192    192   
.with_xml_name("routes");
  193    193   
static VPNCONNECTION_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  194    194   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnConnection$Tags", "com.amazonaws.ec2", "VpnConnection"),
  195    195   
    ::aws_smithy_schema::ShapeType::List,
  196         -
    "tags",
         196  +
    "Tags",
  197    197   
    7,
  198    198   
)
  199    199   
.with_xml_name("tagSet");
  200    200   
static VPNCONNECTION_MEMBER_VGW_TELEMETRY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  201    201   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnConnection$VgwTelemetry", "com.amazonaws.ec2", "VpnConnection"),
  202    202   
    ::aws_smithy_schema::ShapeType::List,
  203         -
    "vgw_telemetry",
         203  +
    "VgwTelemetry",
  204    204   
    8,
  205    205   
)
  206    206   
.with_xml_name("vgwTelemetry");
  207    207   
static VPNCONNECTION_MEMBER_PRE_SHARED_KEY_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  208    208   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnConnection$PreSharedKeyArn", "com.amazonaws.ec2", "VpnConnection"),
  209    209   
    ::aws_smithy_schema::ShapeType::String,
  210         -
    "pre_shared_key_arn",
         210  +
    "PreSharedKeyArn",
  211    211   
    9,
  212    212   
)
  213    213   
.with_xml_name("preSharedKeyArn");
  214    214   
static VPNCONNECTION_MEMBER_VPN_CONNECTION_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  215    215   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnConnection$VpnConnectionId", "com.amazonaws.ec2", "VpnConnection"),
  216    216   
    ::aws_smithy_schema::ShapeType::String,
  217         -
    "vpn_connection_id",
         217  +
    "VpnConnectionId",
  218    218   
    10,
  219    219   
)
  220    220   
.with_xml_name("vpnConnectionId");
  221    221   
static VPNCONNECTION_MEMBER_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  222    222   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnConnection$State", "com.amazonaws.ec2", "VpnConnection"),
  223    223   
    ::aws_smithy_schema::ShapeType::String,
  224         -
    "state",
         224  +
    "State",
  225    225   
    11,
  226    226   
)
  227    227   
.with_xml_name("state");
  228    228   
static VPNCONNECTION_MEMBER_CUSTOMER_GATEWAY_CONFIGURATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  229    229   
    ::aws_smithy_schema::ShapeId::from_static(
  230    230   
        "com.amazonaws.ec2#VpnConnection$CustomerGatewayConfiguration",
  231    231   
        "com.amazonaws.ec2",
  232    232   
        "VpnConnection",
  233    233   
    ),
  234    234   
    ::aws_smithy_schema::ShapeType::String,
  235         -
    "customer_gateway_configuration",
         235  +
    "CustomerGatewayConfiguration",
  236    236   
    12,
  237    237   
)
  238    238   
.with_xml_name("customerGatewayConfiguration");
  239    239   
static VPNCONNECTION_MEMBER_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  240    240   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnConnection$Type", "com.amazonaws.ec2", "VpnConnection"),
  241    241   
    ::aws_smithy_schema::ShapeType::String,
  242         -
    "r##type",
         242  +
    "Type",
  243    243   
    13,
  244    244   
)
  245    245   
.with_xml_name("type");
  246    246   
static VPNCONNECTION_MEMBER_CUSTOMER_GATEWAY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  247    247   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnConnection$CustomerGatewayId", "com.amazonaws.ec2", "VpnConnection"),
  248    248   
    ::aws_smithy_schema::ShapeType::String,
  249         -
    "customer_gateway_id",
         249  +
    "CustomerGatewayId",
  250    250   
    14,
  251    251   
)
  252    252   
.with_xml_name("customerGatewayId");
  253    253   
static VPNCONNECTION_MEMBER_VPN_GATEWAY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  254    254   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnConnection$VpnGatewayId", "com.amazonaws.ec2", "VpnConnection"),
  255    255   
    ::aws_smithy_schema::ShapeType::String,
  256         -
    "vpn_gateway_id",
         256  +
    "VpnGatewayId",
  257    257   
    15,
  258    258   
)
  259    259   
.with_xml_name("vpnGatewayId");
  260    260   
static VPNCONNECTION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  261    261   
    VPNCONNECTION_SCHEMA_ID,
  262    262   
    ::aws_smithy_schema::ShapeType::Structure,
  263    263   
    &[
  264    264   
        &VPNCONNECTION_MEMBER_CATEGORY,
  265    265   
        &VPNCONNECTION_MEMBER_TRANSIT_GATEWAY_ID,
  266    266   
        &VPNCONNECTION_MEMBER_CORE_NETWORK_ARN,
@@ -339,339 +497,499 @@
  359    359   
            ser.write_string(&VPNCONNECTION_MEMBER_CUSTOMER_GATEWAY_ID, val)?;
  360    360   
        }
  361    361   
        if let Some(ref val) = self.vpn_gateway_id {
  362    362   
            ser.write_string(&VPNCONNECTION_MEMBER_VPN_GATEWAY_ID, val)?;
  363    363   
        }
  364    364   
        Ok(())
  365    365   
    }
  366    366   
}
  367    367   
impl VpnConnection {
  368    368   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  369         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  370         -
        deserializer: &mut D,
         369  +
    pub fn deserialize(
         370  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  371    371   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  372    372   
        #[allow(unused_variables, unused_mut)]
  373    373   
        let mut builder = Self::builder();
  374    374   
        #[allow(
  375    375   
            unused_variables,
  376    376   
            unreachable_code,
  377    377   
            clippy::single_match,
  378    378   
            clippy::match_single_binding,
  379    379   
            clippy::diverging_sub_expression
  380    380   
        )]
  381         -
        deserializer.read_struct(&VPNCONNECTION_SCHEMA, (), |_, member, deser| {
         381  +
        deserializer.read_struct(&VPNCONNECTION_SCHEMA, &mut |member, deser| {
  382    382   
            match member.member_index() {
  383    383   
                Some(0) => {
  384    384   
                    builder.category = Some(deser.read_string(member)?);
  385    385   
                }
  386    386   
                Some(1) => {
  387    387   
                    builder.transit_gateway_id = Some(deser.read_string(member)?);
  388    388   
                }
  389    389   
                Some(2) => {
  390    390   
                    builder.core_network_arn = Some(deser.read_string(member)?);
  391    391   
                }
  392    392   
                Some(3) => {
  393    393   
                    builder.core_network_attachment_arn = Some(deser.read_string(member)?);
  394    394   
                }
  395    395   
                Some(4) => {
  396    396   
                    builder.gateway_association_state = Some(crate::types::GatewayAssociationState::from(deser.read_string(member)?.as_str()));
  397    397   
                }
  398    398   
                Some(5) => {
  399    399   
                    builder.options = Some(crate::types::VpnConnectionOptions::deserialize(deser)?);
  400    400   
                }
  401    401   
                Some(6) => {
  402    402   
                    builder.routes = Some({
  403         -
                        let container = if let Some(cap) = deser.container_size() {
  404         -
                            Vec::with_capacity(cap)
  405         -
                        } else {
  406         -
                            Vec::new()
  407         -
                        };
  408         -
                        deser.read_list(member, container, |mut list, deser| {
  409         -
                            list.push(crate::types::VpnStaticRoute::deserialize(deser)?);
  410         -
                            Ok(list)
  411         -
                        })?
         403  +
                        let mut container = Vec::new();
         404  +
                        deser.read_list(member, &mut |deser| {
         405  +
                            container.push(crate::types::VpnStaticRoute::deserialize(deser)?);
         406  +
                            Ok(())
         407  +
                        })?;
         408  +
                        container
  412    409   
                    });
  413    410   
                }
  414    411   
                Some(7) => {
  415    412   
                    builder.tags = Some({
  416         -
                        let container = if let Some(cap) = deser.container_size() {
  417         -
                            Vec::with_capacity(cap)
  418         -
                        } else {
  419         -
                            Vec::new()
  420         -
                        };
  421         -
                        deser.read_list(member, container, |mut list, deser| {
  422         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  423         -
                            Ok(list)
  424         -
                        })?
         413  +
                        let mut container = Vec::new();
         414  +
                        deser.read_list(member, &mut |deser| {
         415  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         416  +
                            Ok(())
         417  +
                        })?;
         418  +
                        container
  425    419   
                    });
  426    420   
                }
  427    421   
                Some(8) => {
  428    422   
                    builder.vgw_telemetry = Some({
  429         -
                        let container = if let Some(cap) = deser.container_size() {
  430         -
                            Vec::with_capacity(cap)
  431         -
                        } else {
  432         -
                            Vec::new()
  433         -
                        };
  434         -
                        deser.read_list(member, container, |mut list, deser| {
  435         -
                            list.push(crate::types::VgwTelemetry::deserialize(deser)?);
  436         -
                            Ok(list)
  437         -
                        })?
         423  +
                        let mut container = Vec::new();
         424  +
                        deser.read_list(member, &mut |deser| {
         425  +
                            container.push(crate::types::VgwTelemetry::deserialize(deser)?);
         426  +
                            Ok(())
         427  +
                        })?;
         428  +
                        container
  438    429   
                    });
  439    430   
                }
  440    431   
                Some(9) => {
  441    432   
                    builder.pre_shared_key_arn = Some(deser.read_string(member)?);
  442    433   
                }
  443    434   
                Some(10) => {
  444    435   
                    builder.vpn_connection_id = Some(deser.read_string(member)?);
  445    436   
                }
  446    437   
                Some(11) => {
  447    438   
                    builder.state = Some(crate::types::VpnState::from(deser.read_string(member)?.as_str()));
  448    439   
                }
  449    440   
                Some(12) => {
  450    441   
                    builder.customer_gateway_configuration = Some(deser.read_string(member)?);
  451    442   
                }
  452    443   
                Some(13) => {
  453    444   
                    builder.r#type = Some(crate::types::GatewayType::from(deser.read_string(member)?.as_str()));
  454    445   
                }
  455    446   
                Some(14) => {
  456    447   
                    builder.customer_gateway_id = Some(deser.read_string(member)?);
  457    448   
                }
  458    449   
                Some(15) => {
  459    450   
                    builder.vpn_gateway_id = Some(deser.read_string(member)?);
  460    451   
                }
  461    452   
                _ => {}
  462    453   
            }
  463    454   
            Ok(())
  464    455   
        })?;
  465    456   
        Ok(builder.build())
  466    457   
    }
  467    458   
}
         459  +
impl VpnConnection {
         460  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         461  +
    pub fn deserialize_with_response(
         462  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         463  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         464  +
        _status: u16,
         465  +
        _body: &[u8],
         466  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         467  +
        Self::deserialize(deserializer)
         468  +
    }
         469  +
}
  468    470   
impl VpnConnection {
  469    471   
    /// Creates a new builder-style object to manufacture [`VpnConnection`](crate::types::VpnConnection).
  470    472   
    pub fn builder() -> crate::types::builders::VpnConnectionBuilder {
  471    473   
        crate::types::builders::VpnConnectionBuilder::default()
  472    474   
    }
  473    475   
}
  474    476   
  475    477   
/// A builder for [`VpnConnection`](crate::types::VpnConnection).
  476    478   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
  477    479   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/types/_vpn_connection_device_type.rs

@@ -16,16 +182,193 @@
   36     36   
    "com.amazonaws.ec2",
   37     37   
    "VpnConnectionDeviceType",
   38     38   
);
   39     39   
static VPNCONNECTIONDEVICETYPE_MEMBER_VPN_CONNECTION_DEVICE_TYPE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   40     40   
    ::aws_smithy_schema::ShapeId::from_static(
   41     41   
        "com.amazonaws.ec2#VpnConnectionDeviceType$VpnConnectionDeviceTypeId",
   42     42   
        "com.amazonaws.ec2",
   43     43   
        "VpnConnectionDeviceType",
   44     44   
    ),
   45     45   
    ::aws_smithy_schema::ShapeType::String,
   46         -
    "vpn_connection_device_type_id",
          46  +
    "VpnConnectionDeviceTypeId",
   47     47   
    0,
   48     48   
)
   49     49   
.with_xml_name("vpnConnectionDeviceTypeId");
   50     50   
static VPNCONNECTIONDEVICETYPE_MEMBER_VENDOR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   51     51   
    ::aws_smithy_schema::ShapeId::from_static(
   52     52   
        "com.amazonaws.ec2#VpnConnectionDeviceType$Vendor",
   53     53   
        "com.amazonaws.ec2",
   54     54   
        "VpnConnectionDeviceType",
   55     55   
    ),
   56     56   
    ::aws_smithy_schema::ShapeType::String,
   57         -
    "vendor",
          57  +
    "Vendor",
   58     58   
    1,
   59     59   
)
   60     60   
.with_xml_name("vendor");
   61     61   
static VPNCONNECTIONDEVICETYPE_MEMBER_PLATFORM: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   62     62   
    ::aws_smithy_schema::ShapeId::from_static(
   63     63   
        "com.amazonaws.ec2#VpnConnectionDeviceType$Platform",
   64     64   
        "com.amazonaws.ec2",
   65     65   
        "VpnConnectionDeviceType",
   66     66   
    ),
   67     67   
    ::aws_smithy_schema::ShapeType::String,
   68         -
    "platform",
          68  +
    "Platform",
   69     69   
    2,
   70     70   
)
   71     71   
.with_xml_name("platform");
   72     72   
static VPNCONNECTIONDEVICETYPE_MEMBER_SOFTWARE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   73     73   
    ::aws_smithy_schema::ShapeId::from_static(
   74     74   
        "com.amazonaws.ec2#VpnConnectionDeviceType$Software",
   75     75   
        "com.amazonaws.ec2",
   76     76   
        "VpnConnectionDeviceType",
   77     77   
    ),
   78     78   
    ::aws_smithy_schema::ShapeType::String,
   79         -
    "software",
          79  +
    "Software",
   80     80   
    3,
   81     81   
)
   82     82   
.with_xml_name("software");
   83     83   
static VPNCONNECTIONDEVICETYPE_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   84     84   
    VPNCONNECTIONDEVICETYPE_SCHEMA_ID,
   85     85   
    ::aws_smithy_schema::ShapeType::Structure,
   86     86   
    &[
   87     87   
        &VPNCONNECTIONDEVICETYPE_MEMBER_VPN_CONNECTION_DEVICE_TYPE_ID,
   88     88   
        &VPNCONNECTIONDEVICETYPE_MEMBER_VENDOR,
   89     89   
        &VPNCONNECTIONDEVICETYPE_MEMBER_PLATFORM,
   90     90   
        &VPNCONNECTIONDEVICETYPE_MEMBER_SOFTWARE,
   91     91   
    ],
   92     92   
);
   93     93   
impl VpnConnectionDeviceType {
   94     94   
    /// The schema for this shape.
   95     95   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &VPNCONNECTIONDEVICETYPE_SCHEMA;
   96     96   
}
   97     97   
impl ::aws_smithy_schema::serde::SerializableStruct for VpnConnectionDeviceType {
   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.vpn_connection_device_type_id {
  104    104   
            ser.write_string(&VPNCONNECTIONDEVICETYPE_MEMBER_VPN_CONNECTION_DEVICE_TYPE_ID, val)?;
  105    105   
        }
  106    106   
        if let Some(ref val) = self.vendor {
  107    107   
            ser.write_string(&VPNCONNECTIONDEVICETYPE_MEMBER_VENDOR, val)?;
  108    108   
        }
  109    109   
        if let Some(ref val) = self.platform {
  110    110   
            ser.write_string(&VPNCONNECTIONDEVICETYPE_MEMBER_PLATFORM, val)?;
  111    111   
        }
  112    112   
        if let Some(ref val) = self.software {
  113    113   
            ser.write_string(&VPNCONNECTIONDEVICETYPE_MEMBER_SOFTWARE, val)?;
  114    114   
        }
  115    115   
        Ok(())
  116    116   
    }
  117    117   
}
  118    118   
impl VpnConnectionDeviceType {
  119    119   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  120         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  121         -
        deserializer: &mut D,
         120  +
    pub fn deserialize(
         121  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  122    122   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  123    123   
        #[allow(unused_variables, unused_mut)]
  124    124   
        let mut builder = Self::builder();
  125    125   
        #[allow(
  126    126   
            unused_variables,
  127    127   
            unreachable_code,
  128    128   
            clippy::single_match,
  129    129   
            clippy::match_single_binding,
  130    130   
            clippy::diverging_sub_expression
  131    131   
        )]
  132         -
        deserializer.read_struct(&VPNCONNECTIONDEVICETYPE_SCHEMA, (), |_, member, deser| {
         132  +
        deserializer.read_struct(&VPNCONNECTIONDEVICETYPE_SCHEMA, &mut |member, deser| {
  133    133   
            match member.member_index() {
  134    134   
                Some(0) => {
  135    135   
                    builder.vpn_connection_device_type_id = Some(deser.read_string(member)?);
  136    136   
                }
  137    137   
                Some(1) => {
  138    138   
                    builder.vendor = Some(deser.read_string(member)?);
  139    139   
                }
  140    140   
                Some(2) => {
  141    141   
                    builder.platform = Some(deser.read_string(member)?);
  142    142   
                }
  143    143   
                Some(3) => {
  144    144   
                    builder.software = Some(deser.read_string(member)?);
  145    145   
                }
  146    146   
                _ => {}
  147    147   
            }
  148    148   
            Ok(())
  149    149   
        })?;
  150    150   
        Ok(builder.build())
  151    151   
    }
  152    152   
}
         153  +
impl VpnConnectionDeviceType {
         154  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         155  +
    pub fn deserialize_with_response(
         156  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         157  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         158  +
        _status: u16,
         159  +
        _body: &[u8],
         160  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         161  +
        Self::deserialize(deserializer)
         162  +
    }
         163  +
}
  153    164   
impl VpnConnectionDeviceType {
  154    165   
    /// Creates a new builder-style object to manufacture [`VpnConnectionDeviceType`](crate::types::VpnConnectionDeviceType).
  155    166   
    pub fn builder() -> crate::types::builders::VpnConnectionDeviceTypeBuilder {
  156    167   
        crate::types::builders::VpnConnectionDeviceTypeBuilder::default()
  157    168   
    }
  158    169   
}
  159    170   
  160    171   
/// A builder for [`VpnConnectionDeviceType`](crate::types::VpnConnectionDeviceType).
  161    172   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  162    173   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/types/_vpn_connection_options.rs

@@ -55,55 +214,214 @@
   75     75   
}
   76     76   
static VPNCONNECTIONOPTIONS_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   77     77   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnConnectionOptions", "com.amazonaws.ec2", "VpnConnectionOptions");
   78     78   
static VPNCONNECTIONOPTIONS_MEMBER_ENABLE_ACCELERATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   79     79   
    ::aws_smithy_schema::ShapeId::from_static(
   80     80   
        "com.amazonaws.ec2#VpnConnectionOptions$EnableAcceleration",
   81     81   
        "com.amazonaws.ec2",
   82     82   
        "VpnConnectionOptions",
   83     83   
    ),
   84     84   
    ::aws_smithy_schema::ShapeType::Boolean,
   85         -
    "enable_acceleration",
          85  +
    "EnableAcceleration",
   86     86   
    0,
   87     87   
)
   88     88   
.with_xml_name("enableAcceleration");
   89     89   
static VPNCONNECTIONOPTIONS_MEMBER_STATIC_ROUTES_ONLY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   90     90   
    ::aws_smithy_schema::ShapeId::from_static(
   91     91   
        "com.amazonaws.ec2#VpnConnectionOptions$StaticRoutesOnly",
   92     92   
        "com.amazonaws.ec2",
   93     93   
        "VpnConnectionOptions",
   94     94   
    ),
   95     95   
    ::aws_smithy_schema::ShapeType::Boolean,
   96         -
    "static_routes_only",
          96  +
    "StaticRoutesOnly",
   97     97   
    1,
   98     98   
)
   99     99   
.with_xml_name("staticRoutesOnly");
  100    100   
static VPNCONNECTIONOPTIONS_MEMBER_LOCAL_IPV4_NETWORK_CIDR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  101    101   
    ::aws_smithy_schema::ShapeId::from_static(
  102    102   
        "com.amazonaws.ec2#VpnConnectionOptions$LocalIpv4NetworkCidr",
  103    103   
        "com.amazonaws.ec2",
  104    104   
        "VpnConnectionOptions",
  105    105   
    ),
  106    106   
    ::aws_smithy_schema::ShapeType::String,
  107         -
    "local_ipv4_network_cidr",
         107  +
    "LocalIpv4NetworkCidr",
  108    108   
    2,
  109    109   
)
  110    110   
.with_xml_name("localIpv4NetworkCidr");
  111    111   
static VPNCONNECTIONOPTIONS_MEMBER_REMOTE_IPV4_NETWORK_CIDR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  112    112   
    ::aws_smithy_schema::ShapeId::from_static(
  113    113   
        "com.amazonaws.ec2#VpnConnectionOptions$RemoteIpv4NetworkCidr",
  114    114   
        "com.amazonaws.ec2",
  115    115   
        "VpnConnectionOptions",
  116    116   
    ),
  117    117   
    ::aws_smithy_schema::ShapeType::String,
  118         -
    "remote_ipv4_network_cidr",
         118  +
    "RemoteIpv4NetworkCidr",
  119    119   
    3,
  120    120   
)
  121    121   
.with_xml_name("remoteIpv4NetworkCidr");
  122    122   
static VPNCONNECTIONOPTIONS_MEMBER_LOCAL_IPV6_NETWORK_CIDR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  123    123   
    ::aws_smithy_schema::ShapeId::from_static(
  124    124   
        "com.amazonaws.ec2#VpnConnectionOptions$LocalIpv6NetworkCidr",
  125    125   
        "com.amazonaws.ec2",
  126    126   
        "VpnConnectionOptions",
  127    127   
    ),
  128    128   
    ::aws_smithy_schema::ShapeType::String,
  129         -
    "local_ipv6_network_cidr",
         129  +
    "LocalIpv6NetworkCidr",
  130    130   
    4,
  131    131   
)
  132    132   
.with_xml_name("localIpv6NetworkCidr");
  133    133   
static VPNCONNECTIONOPTIONS_MEMBER_REMOTE_IPV6_NETWORK_CIDR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  134    134   
    ::aws_smithy_schema::ShapeId::from_static(
  135    135   
        "com.amazonaws.ec2#VpnConnectionOptions$RemoteIpv6NetworkCidr",
  136    136   
        "com.amazonaws.ec2",
  137    137   
        "VpnConnectionOptions",
  138    138   
    ),
  139    139   
    ::aws_smithy_schema::ShapeType::String,
  140         -
    "remote_ipv6_network_cidr",
         140  +
    "RemoteIpv6NetworkCidr",
  141    141   
    5,
  142    142   
)
  143    143   
.with_xml_name("remoteIpv6NetworkCidr");
  144    144   
static VPNCONNECTIONOPTIONS_MEMBER_OUTSIDE_IP_ADDRESS_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  145    145   
    ::aws_smithy_schema::ShapeId::from_static(
  146    146   
        "com.amazonaws.ec2#VpnConnectionOptions$OutsideIpAddressType",
  147    147   
        "com.amazonaws.ec2",
  148    148   
        "VpnConnectionOptions",
  149    149   
    ),
  150    150   
    ::aws_smithy_schema::ShapeType::String,
  151         -
    "outside_ip_address_type",
         151  +
    "OutsideIpAddressType",
  152    152   
    6,
  153    153   
)
  154    154   
.with_xml_name("outsideIpAddressType");
  155    155   
static VPNCONNECTIONOPTIONS_MEMBER_TRANSPORT_TRANSIT_GATEWAY_ATTACHMENT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  156    156   
    ::aws_smithy_schema::ShapeId::from_static(
  157    157   
        "com.amazonaws.ec2#VpnConnectionOptions$TransportTransitGatewayAttachmentId",
  158    158   
        "com.amazonaws.ec2",
  159    159   
        "VpnConnectionOptions",
  160    160   
    ),
  161    161   
    ::aws_smithy_schema::ShapeType::String,
  162         -
    "transport_transit_gateway_attachment_id",
         162  +
    "TransportTransitGatewayAttachmentId",
  163    163   
    7,
  164    164   
)
  165    165   
.with_xml_name("transportTransitGatewayAttachmentId");
  166    166   
static VPNCONNECTIONOPTIONS_MEMBER_TUNNEL_INSIDE_IP_VERSION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  167    167   
    ::aws_smithy_schema::ShapeId::from_static(
  168    168   
        "com.amazonaws.ec2#VpnConnectionOptions$TunnelInsideIpVersion",
  169    169   
        "com.amazonaws.ec2",
  170    170   
        "VpnConnectionOptions",
  171    171   
    ),
  172    172   
    ::aws_smithy_schema::ShapeType::String,
  173         -
    "tunnel_inside_ip_version",
         173  +
    "TunnelInsideIpVersion",
  174    174   
    8,
  175    175   
)
  176    176   
.with_xml_name("tunnelInsideIpVersion");
  177    177   
static VPNCONNECTIONOPTIONS_MEMBER_TUNNEL_OPTIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  178    178   
    ::aws_smithy_schema::ShapeId::from_static(
  179    179   
        "com.amazonaws.ec2#VpnConnectionOptions$TunnelOptions",
  180    180   
        "com.amazonaws.ec2",
  181    181   
        "VpnConnectionOptions",
  182    182   
    ),
  183    183   
    ::aws_smithy_schema::ShapeType::List,
  184         -
    "tunnel_options",
         184  +
    "TunnelOptions",
  185    185   
    9,
  186    186   
)
  187    187   
.with_xml_name("tunnelOptionSet");
  188    188   
static VPNCONNECTIONOPTIONS_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  189    189   
    VPNCONNECTIONOPTIONS_SCHEMA_ID,
  190    190   
    ::aws_smithy_schema::ShapeType::Structure,
  191    191   
    &[
  192    192   
        &VPNCONNECTIONOPTIONS_MEMBER_ENABLE_ACCELERATION,
  193    193   
        &VPNCONNECTIONOPTIONS_MEMBER_STATIC_ROUTES_ONLY,
  194    194   
        &VPNCONNECTIONOPTIONS_MEMBER_LOCAL_IPV4_NETWORK_CIDR,
@@ -227,227 +347,355 @@
  247    247   
                    }
  248    248   
                    Ok(())
  249    249   
                },
  250    250   
            )?;
  251    251   
        }
  252    252   
        Ok(())
  253    253   
    }
  254    254   
}
  255    255   
impl VpnConnectionOptions {
  256    256   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  257         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  258         -
        deserializer: &mut D,
         257  +
    pub fn deserialize(
         258  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  259    259   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  260    260   
        #[allow(unused_variables, unused_mut)]
  261    261   
        let mut builder = Self::builder();
  262    262   
        #[allow(
  263    263   
            unused_variables,
  264    264   
            unreachable_code,
  265    265   
            clippy::single_match,
  266    266   
            clippy::match_single_binding,
  267    267   
            clippy::diverging_sub_expression
  268    268   
        )]
  269         -
        deserializer.read_struct(&VPNCONNECTIONOPTIONS_SCHEMA, (), |_, member, deser| {
         269  +
        deserializer.read_struct(&VPNCONNECTIONOPTIONS_SCHEMA, &mut |member, deser| {
  270    270   
            match member.member_index() {
  271    271   
                Some(0) => {
  272    272   
                    builder.enable_acceleration = Some(deser.read_boolean(member)?);
  273    273   
                }
  274    274   
                Some(1) => {
  275    275   
                    builder.static_routes_only = Some(deser.read_boolean(member)?);
  276    276   
                }
  277    277   
                Some(2) => {
  278    278   
                    builder.local_ipv4_network_cidr = Some(deser.read_string(member)?);
  279    279   
                }
  280    280   
                Some(3) => {
  281    281   
                    builder.remote_ipv4_network_cidr = Some(deser.read_string(member)?);
  282    282   
                }
  283    283   
                Some(4) => {
  284    284   
                    builder.local_ipv6_network_cidr = Some(deser.read_string(member)?);
  285    285   
                }
  286    286   
                Some(5) => {
  287    287   
                    builder.remote_ipv6_network_cidr = Some(deser.read_string(member)?);
  288    288   
                }
  289    289   
                Some(6) => {
  290    290   
                    builder.outside_ip_address_type = Some(deser.read_string(member)?);
  291    291   
                }
  292    292   
                Some(7) => {
  293    293   
                    builder.transport_transit_gateway_attachment_id = Some(deser.read_string(member)?);
  294    294   
                }
  295    295   
                Some(8) => {
  296    296   
                    builder.tunnel_inside_ip_version = Some(crate::types::TunnelInsideIpVersion::from(deser.read_string(member)?.as_str()));
  297    297   
                }
  298    298   
                Some(9) => {
  299    299   
                    builder.tunnel_options = Some({
  300         -
                        let container = if let Some(cap) = deser.container_size() {
  301         -
                            Vec::with_capacity(cap)
  302         -
                        } else {
  303         -
                            Vec::new()
  304         -
                        };
  305         -
                        deser.read_list(member, container, |mut list, deser| {
  306         -
                            list.push(crate::types::TunnelOption::deserialize(deser)?);
  307         -
                            Ok(list)
  308         -
                        })?
         300  +
                        let mut container = Vec::new();
         301  +
                        deser.read_list(member, &mut |deser| {
         302  +
                            container.push(crate::types::TunnelOption::deserialize(deser)?);
         303  +
                            Ok(())
         304  +
                        })?;
         305  +
                        container
  309    306   
                    });
  310    307   
                }
  311    308   
                _ => {}
  312    309   
            }
  313    310   
            Ok(())
  314    311   
        })?;
  315    312   
        Ok(builder.build())
  316    313   
    }
  317    314   
}
         315  +
impl VpnConnectionOptions {
         316  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         317  +
    pub fn deserialize_with_response(
         318  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         319  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         320  +
        _status: u16,
         321  +
        _body: &[u8],
         322  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         323  +
        Self::deserialize(deserializer)
         324  +
    }
         325  +
}
  318    326   
impl VpnConnectionOptions {
  319    327   
    /// Creates a new builder-style object to manufacture [`VpnConnectionOptions`](crate::types::VpnConnectionOptions).
  320    328   
    pub fn builder() -> crate::types::builders::VpnConnectionOptionsBuilder {
  321    329   
        crate::types::builders::VpnConnectionOptionsBuilder::default()
  322    330   
    }
  323    331   
}
  324    332   
  325    333   
/// A builder for [`VpnConnectionOptions`](crate::types::VpnConnectionOptions).
  326    334   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  327    335   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/types/_vpn_connection_options_specification.rs

@@ -74,74 +225,225 @@
   94     94   
    "com.amazonaws.ec2",
   95     95   
    "VpnConnectionOptionsSpecification",
   96     96   
);
   97     97   
static VPNCONNECTIONOPTIONSSPECIFICATION_MEMBER_ENABLE_ACCELERATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   98     98   
    ::aws_smithy_schema::ShapeId::from_static(
   99     99   
        "com.amazonaws.ec2#VpnConnectionOptionsSpecification$EnableAcceleration",
  100    100   
        "com.amazonaws.ec2",
  101    101   
        "VpnConnectionOptionsSpecification",
  102    102   
    ),
  103    103   
    ::aws_smithy_schema::ShapeType::Boolean,
  104         -
    "enable_acceleration",
         104  +
    "EnableAcceleration",
  105    105   
    0,
  106    106   
);
  107    107   
static VPNCONNECTIONOPTIONSSPECIFICATION_MEMBER_TUNNEL_INSIDE_IP_VERSION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  108    108   
    ::aws_smithy_schema::ShapeId::from_static(
  109    109   
        "com.amazonaws.ec2#VpnConnectionOptionsSpecification$TunnelInsideIpVersion",
  110    110   
        "com.amazonaws.ec2",
  111    111   
        "VpnConnectionOptionsSpecification",
  112    112   
    ),
  113    113   
    ::aws_smithy_schema::ShapeType::String,
  114         -
    "tunnel_inside_ip_version",
         114  +
    "TunnelInsideIpVersion",
  115    115   
    1,
  116    116   
);
  117    117   
static VPNCONNECTIONOPTIONSSPECIFICATION_MEMBER_TUNNEL_OPTIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  118    118   
    ::aws_smithy_schema::ShapeId::from_static(
  119    119   
        "com.amazonaws.ec2#VpnConnectionOptionsSpecification$TunnelOptions",
  120    120   
        "com.amazonaws.ec2",
  121    121   
        "VpnConnectionOptionsSpecification",
  122    122   
    ),
  123    123   
    ::aws_smithy_schema::ShapeType::List,
  124         -
    "tunnel_options",
         124  +
    "TunnelOptions",
  125    125   
    2,
  126    126   
);
  127    127   
static VPNCONNECTIONOPTIONSSPECIFICATION_MEMBER_LOCAL_IPV4_NETWORK_CIDR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  128    128   
    ::aws_smithy_schema::ShapeId::from_static(
  129    129   
        "com.amazonaws.ec2#VpnConnectionOptionsSpecification$LocalIpv4NetworkCidr",
  130    130   
        "com.amazonaws.ec2",
  131    131   
        "VpnConnectionOptionsSpecification",
  132    132   
    ),
  133    133   
    ::aws_smithy_schema::ShapeType::String,
  134         -
    "local_ipv4_network_cidr",
         134  +
    "LocalIpv4NetworkCidr",
  135    135   
    3,
  136    136   
);
  137    137   
static VPNCONNECTIONOPTIONSSPECIFICATION_MEMBER_REMOTE_IPV4_NETWORK_CIDR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  138    138   
    ::aws_smithy_schema::ShapeId::from_static(
  139    139   
        "com.amazonaws.ec2#VpnConnectionOptionsSpecification$RemoteIpv4NetworkCidr",
  140    140   
        "com.amazonaws.ec2",
  141    141   
        "VpnConnectionOptionsSpecification",
  142    142   
    ),
  143    143   
    ::aws_smithy_schema::ShapeType::String,
  144         -
    "remote_ipv4_network_cidr",
         144  +
    "RemoteIpv4NetworkCidr",
  145    145   
    4,
  146    146   
);
  147    147   
static VPNCONNECTIONOPTIONSSPECIFICATION_MEMBER_LOCAL_IPV6_NETWORK_CIDR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  148    148   
    ::aws_smithy_schema::ShapeId::from_static(
  149    149   
        "com.amazonaws.ec2#VpnConnectionOptionsSpecification$LocalIpv6NetworkCidr",
  150    150   
        "com.amazonaws.ec2",
  151    151   
        "VpnConnectionOptionsSpecification",
  152    152   
    ),
  153    153   
    ::aws_smithy_schema::ShapeType::String,
  154         -
    "local_ipv6_network_cidr",
         154  +
    "LocalIpv6NetworkCidr",
  155    155   
    5,
  156    156   
);
  157    157   
static VPNCONNECTIONOPTIONSSPECIFICATION_MEMBER_REMOTE_IPV6_NETWORK_CIDR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  158    158   
    ::aws_smithy_schema::ShapeId::from_static(
  159    159   
        "com.amazonaws.ec2#VpnConnectionOptionsSpecification$RemoteIpv6NetworkCidr",
  160    160   
        "com.amazonaws.ec2",
  161    161   
        "VpnConnectionOptionsSpecification",
  162    162   
    ),
  163    163   
    ::aws_smithy_schema::ShapeType::String,
  164         -
    "remote_ipv6_network_cidr",
         164  +
    "RemoteIpv6NetworkCidr",
  165    165   
    6,
  166    166   
);
  167    167   
static VPNCONNECTIONOPTIONSSPECIFICATION_MEMBER_OUTSIDE_IP_ADDRESS_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  168    168   
    ::aws_smithy_schema::ShapeId::from_static(
  169    169   
        "com.amazonaws.ec2#VpnConnectionOptionsSpecification$OutsideIpAddressType",
  170    170   
        "com.amazonaws.ec2",
  171    171   
        "VpnConnectionOptionsSpecification",
  172    172   
    ),
  173    173   
    ::aws_smithy_schema::ShapeType::String,
  174         -
    "outside_ip_address_type",
         174  +
    "OutsideIpAddressType",
  175    175   
    7,
  176    176   
);
  177    177   
static VPNCONNECTIONOPTIONSSPECIFICATION_MEMBER_TRANSPORT_TRANSIT_GATEWAY_ATTACHMENT_ID: ::aws_smithy_schema::Schema =
  178    178   
    ::aws_smithy_schema::Schema::new_member(
  179    179   
        ::aws_smithy_schema::ShapeId::from_static(
  180    180   
            "com.amazonaws.ec2#VpnConnectionOptionsSpecification$TransportTransitGatewayAttachmentId",
  181    181   
            "com.amazonaws.ec2",
  182    182   
            "VpnConnectionOptionsSpecification",
  183    183   
        ),
  184    184   
        ::aws_smithy_schema::ShapeType::String,
  185         -
        "transport_transit_gateway_attachment_id",
         185  +
        "TransportTransitGatewayAttachmentId",
  186    186   
        8,
  187    187   
    );
  188    188   
static VPNCONNECTIONOPTIONSSPECIFICATION_MEMBER_STATIC_ROUTES_ONLY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  189    189   
    ::aws_smithy_schema::ShapeId::from_static(
  190    190   
        "com.amazonaws.ec2#VpnConnectionOptionsSpecification$StaticRoutesOnly",
  191    191   
        "com.amazonaws.ec2",
  192    192   
        "VpnConnectionOptionsSpecification",
  193    193   
    ),
  194    194   
    ::aws_smithy_schema::ShapeType::Boolean,
  195         -
    "static_routes_only",
         195  +
    "StaticRoutesOnly",
  196    196   
    9,
  197    197   
)
  198    198   
.with_xml_name("staticRoutesOnly");
  199    199   
static VPNCONNECTIONOPTIONSSPECIFICATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  200    200   
    VPNCONNECTIONOPTIONSSPECIFICATION_SCHEMA_ID,
  201    201   
    ::aws_smithy_schema::ShapeType::Structure,
  202    202   
    &[
  203    203   
        &VPNCONNECTIONOPTIONSSPECIFICATION_MEMBER_ENABLE_ACCELERATION,
  204    204   
        &VPNCONNECTIONOPTIONSSPECIFICATION_MEMBER_TUNNEL_INSIDE_IP_VERSION,
  205    205   
        &VPNCONNECTIONOPTIONSSPECIFICATION_MEMBER_TUNNEL_OPTIONS,
@@ -238,238 +358,366 @@
  258    258   
            ser.write_string(&VPNCONNECTIONOPTIONSSPECIFICATION_MEMBER_TRANSPORT_TRANSIT_GATEWAY_ATTACHMENT_ID, val)?;
  259    259   
        }
  260    260   
        if let Some(ref val) = self.static_routes_only {
  261    261   
            ser.write_boolean(&VPNCONNECTIONOPTIONSSPECIFICATION_MEMBER_STATIC_ROUTES_ONLY, *val)?;
  262    262   
        }
  263    263   
        Ok(())
  264    264   
    }
  265    265   
}
  266    266   
impl VpnConnectionOptionsSpecification {
  267    267   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  268         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  269         -
        deserializer: &mut D,
         268  +
    pub fn deserialize(
         269  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  270    270   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  271    271   
        #[allow(unused_variables, unused_mut)]
  272    272   
        let mut builder = Self::builder();
  273    273   
        #[allow(
  274    274   
            unused_variables,
  275    275   
            unreachable_code,
  276    276   
            clippy::single_match,
  277    277   
            clippy::match_single_binding,
  278    278   
            clippy::diverging_sub_expression
  279    279   
        )]
  280         -
        deserializer.read_struct(&VPNCONNECTIONOPTIONSSPECIFICATION_SCHEMA, (), |_, member, deser| {
         280  +
        deserializer.read_struct(&VPNCONNECTIONOPTIONSSPECIFICATION_SCHEMA, &mut |member, deser| {
  281    281   
            match member.member_index() {
  282    282   
                Some(0) => {
  283    283   
                    builder.enable_acceleration = Some(deser.read_boolean(member)?);
  284    284   
                }
  285    285   
                Some(1) => {
  286    286   
                    builder.tunnel_inside_ip_version = Some(crate::types::TunnelInsideIpVersion::from(deser.read_string(member)?.as_str()));
  287    287   
                }
  288    288   
                Some(2) => {
  289    289   
                    builder.tunnel_options = Some({
  290         -
                        let container = if let Some(cap) = deser.container_size() {
  291         -
                            Vec::with_capacity(cap)
  292         -
                        } else {
  293         -
                            Vec::new()
  294         -
                        };
  295         -
                        deser.read_list(member, container, |mut list, deser| {
  296         -
                            list.push(crate::types::VpnTunnelOptionsSpecification::deserialize(deser)?);
  297         -
                            Ok(list)
  298         -
                        })?
         290  +
                        let mut container = Vec::new();
         291  +
                        deser.read_list(member, &mut |deser| {
         292  +
                            container.push(crate::types::VpnTunnelOptionsSpecification::deserialize(deser)?);
         293  +
                            Ok(())
         294  +
                        })?;
         295  +
                        container
  299    296   
                    });
  300    297   
                }
  301    298   
                Some(3) => {
  302    299   
                    builder.local_ipv4_network_cidr = Some(deser.read_string(member)?);
  303    300   
                }
  304    301   
                Some(4) => {
  305    302   
                    builder.remote_ipv4_network_cidr = Some(deser.read_string(member)?);
  306    303   
                }
  307    304   
                Some(5) => {
  308    305   
                    builder.local_ipv6_network_cidr = Some(deser.read_string(member)?);
  309    306   
                }
  310    307   
                Some(6) => {
  311    308   
                    builder.remote_ipv6_network_cidr = Some(deser.read_string(member)?);
  312    309   
                }
  313    310   
                Some(7) => {
  314    311   
                    builder.outside_ip_address_type = Some(deser.read_string(member)?);
  315    312   
                }
  316    313   
                Some(8) => {
  317    314   
                    builder.transport_transit_gateway_attachment_id = Some(deser.read_string(member)?);
  318    315   
                }
  319    316   
                Some(9) => {
  320    317   
                    builder.static_routes_only = Some(deser.read_boolean(member)?);
  321    318   
                }
  322    319   
                _ => {}
  323    320   
            }
  324    321   
            Ok(())
  325    322   
        })?;
  326    323   
        Ok(builder.build())
  327    324   
    }
  328    325   
}
         326  +
impl VpnConnectionOptionsSpecification {
         327  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         328  +
    pub fn deserialize_with_response(
         329  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         330  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         331  +
        _status: u16,
         332  +
        _body: &[u8],
         333  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         334  +
        Self::deserialize(deserializer)
         335  +
    }
         336  +
}
  329    337   
impl VpnConnectionOptionsSpecification {
  330    338   
    /// Creates a new builder-style object to manufacture [`VpnConnectionOptionsSpecification`](crate::types::VpnConnectionOptionsSpecification).
  331    339   
    pub fn builder() -> crate::types::builders::VpnConnectionOptionsSpecificationBuilder {
  332    340   
        crate::types::builders::VpnConnectionOptionsSpecificationBuilder::default()
  333    341   
    }
  334    342   
}
  335    343   
  336    344   
/// A builder for [`VpnConnectionOptionsSpecification`](crate::types::VpnConnectionOptionsSpecification).
  337    345   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  338    346   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/types/_vpn_gateway.rs

@@ -31,31 +133,133 @@
   51     51   
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.vpc_attachments.is_none()`.
   52     52   
    pub fn vpc_attachments(&self) -> &[crate::types::VpcAttachment] {
   53     53   
        self.vpc_attachments.as_deref().unwrap_or_default()
   54     54   
    }
   55     55   
}
   56     56   
static VPNGATEWAY_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   57     57   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnGateway", "com.amazonaws.ec2", "VpnGateway");
   58     58   
static VPNGATEWAY_MEMBER_AMAZON_SIDE_ASN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   59     59   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnGateway$AmazonSideAsn", "com.amazonaws.ec2", "VpnGateway"),
   60     60   
    ::aws_smithy_schema::ShapeType::Long,
   61         -
    "amazon_side_asn",
          61  +
    "AmazonSideAsn",
   62     62   
    0,
   63     63   
)
   64     64   
.with_xml_name("amazonSideAsn");
   65     65   
static VPNGATEWAY_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   66     66   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnGateway$Tags", "com.amazonaws.ec2", "VpnGateway"),
   67     67   
    ::aws_smithy_schema::ShapeType::List,
   68         -
    "tags",
          68  +
    "Tags",
   69     69   
    1,
   70     70   
)
   71     71   
.with_xml_name("tagSet");
   72     72   
static VPNGATEWAY_MEMBER_VPN_GATEWAY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   73     73   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnGateway$VpnGatewayId", "com.amazonaws.ec2", "VpnGateway"),
   74     74   
    ::aws_smithy_schema::ShapeType::String,
   75         -
    "vpn_gateway_id",
          75  +
    "VpnGatewayId",
   76     76   
    2,
   77     77   
)
   78     78   
.with_xml_name("vpnGatewayId");
   79     79   
static VPNGATEWAY_MEMBER_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   80     80   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnGateway$State", "com.amazonaws.ec2", "VpnGateway"),
   81     81   
    ::aws_smithy_schema::ShapeType::String,
   82         -
    "state",
          82  +
    "State",
   83     83   
    3,
   84     84   
)
   85     85   
.with_xml_name("state");
   86     86   
static VPNGATEWAY_MEMBER_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   87     87   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnGateway$Type", "com.amazonaws.ec2", "VpnGateway"),
   88     88   
    ::aws_smithy_schema::ShapeType::String,
   89         -
    "r##type",
          89  +
    "Type",
   90     90   
    4,
   91     91   
)
   92     92   
.with_xml_name("type");
   93     93   
static VPNGATEWAY_MEMBER_AVAILABILITY_ZONE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   94     94   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnGateway$AvailabilityZone", "com.amazonaws.ec2", "VpnGateway"),
   95     95   
    ::aws_smithy_schema::ShapeType::String,
   96         -
    "availability_zone",
          96  +
    "AvailabilityZone",
   97     97   
    5,
   98     98   
)
   99     99   
.with_xml_name("availabilityZone");
  100    100   
static VPNGATEWAY_MEMBER_VPC_ATTACHMENTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  101    101   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnGateway$VpcAttachments", "com.amazonaws.ec2", "VpnGateway"),
  102    102   
    ::aws_smithy_schema::ShapeType::List,
  103         -
    "vpc_attachments",
         103  +
    "VpcAttachments",
  104    104   
    6,
  105    105   
)
  106    106   
.with_xml_name("attachments");
  107    107   
static VPNGATEWAY_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  108    108   
    VPNGATEWAY_SCHEMA_ID,
  109    109   
    ::aws_smithy_schema::ShapeType::Structure,
  110    110   
    &[
  111    111   
        &VPNGATEWAY_MEMBER_AMAZON_SIDE_ASN,
  112    112   
        &VPNGATEWAY_MEMBER_TAGS,
  113    113   
        &VPNGATEWAY_MEMBER_VPN_GATEWAY_ID,
@@ -139,139 +260,265 @@
  159    159   
                    }
  160    160   
                    Ok(())
  161    161   
                },
  162    162   
            )?;
  163    163   
        }
  164    164   
        Ok(())
  165    165   
    }
  166    166   
}
  167    167   
impl VpnGateway {
  168    168   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  169         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  170         -
        deserializer: &mut D,
         169  +
    pub fn deserialize(
         170  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  171    171   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  172    172   
        #[allow(unused_variables, unused_mut)]
  173    173   
        let mut builder = Self::builder();
  174    174   
        #[allow(
  175    175   
            unused_variables,
  176    176   
            unreachable_code,
  177    177   
            clippy::single_match,
  178    178   
            clippy::match_single_binding,
  179    179   
            clippy::diverging_sub_expression
  180    180   
        )]
  181         -
        deserializer.read_struct(&VPNGATEWAY_SCHEMA, (), |_, member, deser| {
         181  +
        deserializer.read_struct(&VPNGATEWAY_SCHEMA, &mut |member, deser| {
  182    182   
            match member.member_index() {
  183    183   
                Some(0) => {
  184    184   
                    builder.amazon_side_asn = Some(deser.read_long(member)?);
  185    185   
                }
  186    186   
                Some(1) => {
  187    187   
                    builder.tags = Some({
  188         -
                        let container = if let Some(cap) = deser.container_size() {
  189         -
                            Vec::with_capacity(cap)
  190         -
                        } else {
  191         -
                            Vec::new()
  192         -
                        };
  193         -
                        deser.read_list(member, container, |mut list, deser| {
  194         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  195         -
                            Ok(list)
  196         -
                        })?
         188  +
                        let mut container = Vec::new();
         189  +
                        deser.read_list(member, &mut |deser| {
         190  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         191  +
                            Ok(())
         192  +
                        })?;
         193  +
                        container
  197    194   
                    });
  198    195   
                }
  199    196   
                Some(2) => {
  200    197   
                    builder.vpn_gateway_id = Some(deser.read_string(member)?);
  201    198   
                }
  202    199   
                Some(3) => {
  203    200   
                    builder.state = Some(crate::types::VpnState::from(deser.read_string(member)?.as_str()));
  204    201   
                }
  205    202   
                Some(4) => {
  206    203   
                    builder.r#type = Some(crate::types::GatewayType::from(deser.read_string(member)?.as_str()));
  207    204   
                }
  208    205   
                Some(5) => {
  209    206   
                    builder.availability_zone = Some(deser.read_string(member)?);
  210    207   
                }
  211    208   
                Some(6) => {
  212    209   
                    builder.vpc_attachments = Some({
  213         -
                        let container = if let Some(cap) = deser.container_size() {
  214         -
                            Vec::with_capacity(cap)
  215         -
                        } else {
  216         -
                            Vec::new()
  217         -
                        };
  218         -
                        deser.read_list(member, container, |mut list, deser| {
  219         -
                            list.push(crate::types::VpcAttachment::deserialize(deser)?);
  220         -
                            Ok(list)
  221         -
                        })?
         210  +
                        let mut container = Vec::new();
         211  +
                        deser.read_list(member, &mut |deser| {
         212  +
                            container.push(crate::types::VpcAttachment::deserialize(deser)?);
         213  +
                            Ok(())
         214  +
                        })?;
         215  +
                        container
  222    216   
                    });
  223    217   
                }
  224    218   
                _ => {}
  225    219   
            }
  226    220   
            Ok(())
  227    221   
        })?;
  228    222   
        Ok(builder.build())
  229    223   
    }
  230    224   
}
         225  +
impl VpnGateway {
         226  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         227  +
    pub fn deserialize_with_response(
         228  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         229  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         230  +
        _status: u16,
         231  +
        _body: &[u8],
         232  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         233  +
        Self::deserialize(deserializer)
         234  +
    }
         235  +
}
  231    236   
impl VpnGateway {
  232    237   
    /// Creates a new builder-style object to manufacture [`VpnGateway`](crate::types::VpnGateway).
  233    238   
    pub fn builder() -> crate::types::builders::VpnGatewayBuilder {
  234    239   
        crate::types::builders::VpnGatewayBuilder::default()
  235    240   
    }
  236    241   
}
  237    242   
  238    243   
/// A builder for [`VpnGateway`](crate::types::VpnGateway).
  239    244   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  240    245   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/types/_vpn_static_route.rs

@@ -7,7 +147,158 @@
   27     27   
}
   28     28   
static VPNSTATICROUTE_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   29     29   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnStaticRoute", "com.amazonaws.ec2", "VpnStaticRoute");
   30     30   
static VPNSTATICROUTE_MEMBER_DESTINATION_CIDR_BLOCK: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   31     31   
    ::aws_smithy_schema::ShapeId::from_static(
   32     32   
        "com.amazonaws.ec2#VpnStaticRoute$DestinationCidrBlock",
   33     33   
        "com.amazonaws.ec2",
   34     34   
        "VpnStaticRoute",
   35     35   
    ),
   36     36   
    ::aws_smithy_schema::ShapeType::String,
   37         -
    "destination_cidr_block",
          37  +
    "DestinationCidrBlock",
   38     38   
    0,
   39     39   
)
   40     40   
.with_xml_name("destinationCidrBlock");
   41     41   
static VPNSTATICROUTE_MEMBER_SOURCE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   42     42   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnStaticRoute$Source", "com.amazonaws.ec2", "VpnStaticRoute"),
   43     43   
    ::aws_smithy_schema::ShapeType::String,
   44         -
    "source",
          44  +
    "Source",
   45     45   
    1,
   46     46   
)
   47     47   
.with_xml_name("source");
   48     48   
static VPNSTATICROUTE_MEMBER_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   49     49   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnStaticRoute$State", "com.amazonaws.ec2", "VpnStaticRoute"),
   50     50   
    ::aws_smithy_schema::ShapeType::String,
   51         -
    "state",
          51  +
    "State",
   52     52   
    2,
   53     53   
)
   54     54   
.with_xml_name("state");
   55     55   
static VPNSTATICROUTE_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   56     56   
    VPNSTATICROUTE_SCHEMA_ID,
   57     57   
    ::aws_smithy_schema::ShapeType::Structure,
   58     58   
    &[
   59     59   
        &VPNSTATICROUTE_MEMBER_DESTINATION_CIDR_BLOCK,
   60     60   
        &VPNSTATICROUTE_MEMBER_SOURCE,
   61     61   
        &VPNSTATICROUTE_MEMBER_STATE,
   62     62   
    ],
   63     63   
);
   64     64   
impl VpnStaticRoute {
   65     65   
    /// The schema for this shape.
   66     66   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &VPNSTATICROUTE_SCHEMA;
   67     67   
}
   68     68   
impl ::aws_smithy_schema::serde::SerializableStruct for VpnStaticRoute {
   69     69   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   70     70   
    fn serialize_members(
   71     71   
        &self,
   72     72   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   73     73   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   74     74   
        if let Some(ref val) = self.destination_cidr_block {
   75     75   
            ser.write_string(&VPNSTATICROUTE_MEMBER_DESTINATION_CIDR_BLOCK, val)?;
   76     76   
        }
   77     77   
        if let Some(ref val) = self.source {
   78     78   
            ser.write_string(&VPNSTATICROUTE_MEMBER_SOURCE, val.as_str())?;
   79     79   
        }
   80     80   
        if let Some(ref val) = self.state {
   81     81   
            ser.write_string(&VPNSTATICROUTE_MEMBER_STATE, val.as_str())?;
   82     82   
        }
   83     83   
        Ok(())
   84     84   
    }
   85     85   
}
   86     86   
impl VpnStaticRoute {
   87     87   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   88         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   89         -
        deserializer: &mut D,
          88  +
    pub fn deserialize(
          89  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   90     90   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   91     91   
        #[allow(unused_variables, unused_mut)]
   92     92   
        let mut builder = Self::builder();
   93     93   
        #[allow(
   94     94   
            unused_variables,
   95     95   
            unreachable_code,
   96     96   
            clippy::single_match,
   97     97   
            clippy::match_single_binding,
   98     98   
            clippy::diverging_sub_expression
   99     99   
        )]
  100         -
        deserializer.read_struct(&VPNSTATICROUTE_SCHEMA, (), |_, member, deser| {
         100  +
        deserializer.read_struct(&VPNSTATICROUTE_SCHEMA, &mut |member, deser| {
  101    101   
            match member.member_index() {
  102    102   
                Some(0) => {
  103    103   
                    builder.destination_cidr_block = Some(deser.read_string(member)?);
  104    104   
                }
  105    105   
                Some(1) => {
  106    106   
                    builder.source = Some(crate::types::VpnStaticRouteSource::from(deser.read_string(member)?.as_str()));
  107    107   
                }
  108    108   
                Some(2) => {
  109    109   
                    builder.state = Some(crate::types::VpnState::from(deser.read_string(member)?.as_str()));
  110    110   
                }
  111    111   
                _ => {}
  112    112   
            }
  113    113   
            Ok(())
  114    114   
        })?;
  115    115   
        Ok(builder.build())
  116    116   
    }
  117    117   
}
         118  +
impl VpnStaticRoute {
         119  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         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  +
        Self::deserialize(deserializer)
         127  +
    }
         128  +
}
  118    129   
impl VpnStaticRoute {
  119    130   
    /// Creates a new builder-style object to manufacture [`VpnStaticRoute`](crate::types::VpnStaticRoute).
  120    131   
    pub fn builder() -> crate::types::builders::VpnStaticRouteBuilder {
  121    132   
        crate::types::builders::VpnStaticRouteBuilder::default()
  122    133   
    }
  123    134   
}
  124    135   
  125    136   
/// A builder for [`VpnStaticRoute`](crate::types::VpnStaticRoute).
  126    137   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  127    138   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/types/_vpn_tunnel_log_options.rs

@@ -1,1 +105,116 @@
   15     15   
}
   16     16   
static VPNTUNNELLOGOPTIONS_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   17     17   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#VpnTunnelLogOptions", "com.amazonaws.ec2", "VpnTunnelLogOptions");
   18     18   
static VPNTUNNELLOGOPTIONS_MEMBER_CLOUD_WATCH_LOG_OPTIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   19     19   
    ::aws_smithy_schema::ShapeId::from_static(
   20     20   
        "com.amazonaws.ec2#VpnTunnelLogOptions$CloudWatchLogOptions",
   21     21   
        "com.amazonaws.ec2",
   22     22   
        "VpnTunnelLogOptions",
   23     23   
    ),
   24     24   
    ::aws_smithy_schema::ShapeType::Structure,
   25         -
    "cloud_watch_log_options",
          25  +
    "CloudWatchLogOptions",
   26     26   
    0,
   27     27   
)
   28     28   
.with_xml_name("cloudWatchLogOptions");
   29     29   
static VPNTUNNELLOGOPTIONS_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   30     30   
    VPNTUNNELLOGOPTIONS_SCHEMA_ID,
   31     31   
    ::aws_smithy_schema::ShapeType::Structure,
   32     32   
    &[&VPNTUNNELLOGOPTIONS_MEMBER_CLOUD_WATCH_LOG_OPTIONS],
   33     33   
);
   34     34   
impl VpnTunnelLogOptions {
   35     35   
    /// The schema for this shape.
   36     36   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &VPNTUNNELLOGOPTIONS_SCHEMA;
   37     37   
}
   38     38   
impl ::aws_smithy_schema::serde::SerializableStruct for VpnTunnelLogOptions {
   39     39   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   40     40   
    fn serialize_members(
   41     41   
        &self,
   42     42   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   43     43   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   44     44   
        if let Some(ref val) = self.cloud_watch_log_options {
   45     45   
            ser.write_struct(&VPNTUNNELLOGOPTIONS_MEMBER_CLOUD_WATCH_LOG_OPTIONS, val)?;
   46     46   
        }
   47     47   
        Ok(())
   48     48   
    }
   49     49   
}
   50     50   
impl VpnTunnelLogOptions {
   51     51   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   52         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   53         -
        deserializer: &mut D,
          52  +
    pub fn deserialize(
          53  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   54     54   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   55     55   
        #[allow(unused_variables, unused_mut)]
   56     56   
        let mut builder = Self::builder();
   57     57   
        #[allow(
   58     58   
            unused_variables,
   59     59   
            unreachable_code,
   60     60   
            clippy::single_match,
   61     61   
            clippy::match_single_binding,
   62     62   
            clippy::diverging_sub_expression
   63     63   
        )]
   64         -
        deserializer.read_struct(&VPNTUNNELLOGOPTIONS_SCHEMA, (), |_, member, deser| {
          64  +
        deserializer.read_struct(&VPNTUNNELLOGOPTIONS_SCHEMA, &mut |member, deser| {
   65     65   
            match member.member_index() {
   66     66   
                Some(0) => {
   67     67   
                    builder.cloud_watch_log_options = Some(crate::types::CloudWatchLogOptions::deserialize(deser)?);
   68     68   
                }
   69     69   
                _ => {}
   70     70   
            }
   71     71   
            Ok(())
   72     72   
        })?;
   73     73   
        Ok(builder.build())
   74     74   
    }
   75     75   
}
          76  +
impl VpnTunnelLogOptions {
          77  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          78  +
    pub fn deserialize_with_response(
          79  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          80  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          81  +
        _status: u16,
          82  +
        _body: &[u8],
          83  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          84  +
        Self::deserialize(deserializer)
          85  +
    }
          86  +
}
   76     87   
impl VpnTunnelLogOptions {
   77     88   
    /// Creates a new builder-style object to manufacture [`VpnTunnelLogOptions`](crate::types::VpnTunnelLogOptions).
   78     89   
    pub fn builder() -> crate::types::builders::VpnTunnelLogOptionsBuilder {
   79     90   
        crate::types::builders::VpnTunnelLogOptionsBuilder::default()
   80     91   
    }
   81     92   
}
   82     93   
   83     94   
/// A builder for [`VpnTunnelLogOptions`](crate::types::VpnTunnelLogOptions).
   84     95   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   85     96   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/types/_vpn_tunnel_log_options_specification.rs

@@ -1,1 +107,118 @@
   18     18   
    "com.amazonaws.ec2",
   19     19   
    "VpnTunnelLogOptionsSpecification",
   20     20   
);
   21     21   
static VPNTUNNELLOGOPTIONSSPECIFICATION_MEMBER_CLOUD_WATCH_LOG_OPTIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   22     22   
    ::aws_smithy_schema::ShapeId::from_static(
   23     23   
        "com.amazonaws.ec2#VpnTunnelLogOptionsSpecification$CloudWatchLogOptions",
   24     24   
        "com.amazonaws.ec2",
   25     25   
        "VpnTunnelLogOptionsSpecification",
   26     26   
    ),
   27     27   
    ::aws_smithy_schema::ShapeType::Structure,
   28         -
    "cloud_watch_log_options",
          28  +
    "CloudWatchLogOptions",
   29     29   
    0,
   30     30   
);
   31     31   
static VPNTUNNELLOGOPTIONSSPECIFICATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   32     32   
    VPNTUNNELLOGOPTIONSSPECIFICATION_SCHEMA_ID,
   33     33   
    ::aws_smithy_schema::ShapeType::Structure,
   34     34   
    &[&VPNTUNNELLOGOPTIONSSPECIFICATION_MEMBER_CLOUD_WATCH_LOG_OPTIONS],
   35     35   
);
   36     36   
impl VpnTunnelLogOptionsSpecification {
   37     37   
    /// The schema for this shape.
   38     38   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &VPNTUNNELLOGOPTIONSSPECIFICATION_SCHEMA;
   39     39   
}
   40     40   
impl ::aws_smithy_schema::serde::SerializableStruct for VpnTunnelLogOptionsSpecification {
   41     41   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   42     42   
    fn serialize_members(
   43     43   
        &self,
   44     44   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   45     45   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   46     46   
        if let Some(ref val) = self.cloud_watch_log_options {
   47     47   
            ser.write_struct(&VPNTUNNELLOGOPTIONSSPECIFICATION_MEMBER_CLOUD_WATCH_LOG_OPTIONS, val)?;
   48     48   
        }
   49     49   
        Ok(())
   50     50   
    }
   51     51   
}
   52     52   
impl VpnTunnelLogOptionsSpecification {
   53     53   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   54         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   55         -
        deserializer: &mut D,
          54  +
    pub fn deserialize(
          55  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   56     56   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   57     57   
        #[allow(unused_variables, unused_mut)]
   58     58   
        let mut builder = Self::builder();
   59     59   
        #[allow(
   60     60   
            unused_variables,
   61     61   
            unreachable_code,
   62     62   
            clippy::single_match,
   63     63   
            clippy::match_single_binding,
   64     64   
            clippy::diverging_sub_expression
   65     65   
        )]
   66         -
        deserializer.read_struct(&VPNTUNNELLOGOPTIONSSPECIFICATION_SCHEMA, (), |_, member, deser| {
          66  +
        deserializer.read_struct(&VPNTUNNELLOGOPTIONSSPECIFICATION_SCHEMA, &mut |member, deser| {
   67     67   
            match member.member_index() {
   68     68   
                Some(0) => {
   69     69   
                    builder.cloud_watch_log_options = Some(crate::types::CloudWatchLogOptionsSpecification::deserialize(deser)?);
   70     70   
                }
   71     71   
                _ => {}
   72     72   
            }
   73     73   
            Ok(())
   74     74   
        })?;
   75     75   
        Ok(builder.build())
   76     76   
    }
   77     77   
}
          78  +
impl VpnTunnelLogOptionsSpecification {
          79  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          80  +
    pub fn deserialize_with_response(
          81  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          82  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          83  +
        _status: u16,
          84  +
        _body: &[u8],
          85  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          86  +
        Self::deserialize(deserializer)
          87  +
    }
          88  +
}
   78     89   
impl VpnTunnelLogOptionsSpecification {
   79     90   
    /// Creates a new builder-style object to manufacture [`VpnTunnelLogOptionsSpecification`](crate::types::VpnTunnelLogOptionsSpecification).
   80     91   
    pub fn builder() -> crate::types::builders::VpnTunnelLogOptionsSpecificationBuilder {
   81     92   
        crate::types::builders::VpnTunnelLogOptionsSpecificationBuilder::default()
   82     93   
    }
   83     94   
}
   84     95   
   85     96   
/// A builder for [`VpnTunnelLogOptionsSpecification`](crate::types::VpnTunnelLogOptionsSpecification).
   86     97   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   87     98   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/ec2/src/types/_vpn_tunnel_options_specification.rs

@@ -236,236 +493,493 @@
  256    256   
    "com.amazonaws.ec2",
  257    257   
    "VpnTunnelOptionsSpecification",
  258    258   
);
  259    259   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_TUNNEL_INSIDE_CIDR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  260    260   
    ::aws_smithy_schema::ShapeId::from_static(
  261    261   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$TunnelInsideCidr",
  262    262   
        "com.amazonaws.ec2",
  263    263   
        "VpnTunnelOptionsSpecification",
  264    264   
    ),
  265    265   
    ::aws_smithy_schema::ShapeType::String,
  266         -
    "tunnel_inside_cidr",
         266  +
    "TunnelInsideCidr",
  267    267   
    0,
  268    268   
);
  269    269   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_TUNNEL_INSIDE_IPV6_CIDR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  270    270   
    ::aws_smithy_schema::ShapeId::from_static(
  271    271   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$TunnelInsideIpv6Cidr",
  272    272   
        "com.amazonaws.ec2",
  273    273   
        "VpnTunnelOptionsSpecification",
  274    274   
    ),
  275    275   
    ::aws_smithy_schema::ShapeType::String,
  276         -
    "tunnel_inside_ipv6_cidr",
         276  +
    "TunnelInsideIpv6Cidr",
  277    277   
    1,
  278    278   
);
  279    279   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_PRE_SHARED_KEY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  280    280   
    ::aws_smithy_schema::ShapeId::from_static(
  281    281   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$PreSharedKey",
  282    282   
        "com.amazonaws.ec2",
  283    283   
        "VpnTunnelOptionsSpecification",
  284    284   
    ),
  285    285   
    ::aws_smithy_schema::ShapeType::String,
  286         -
    "pre_shared_key",
         286  +
    "PreSharedKey",
  287    287   
    2,
  288    288   
);
  289    289   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_PHASE1_LIFETIME_SECONDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  290    290   
    ::aws_smithy_schema::ShapeId::from_static(
  291    291   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$Phase1LifetimeSeconds",
  292    292   
        "com.amazonaws.ec2",
  293    293   
        "VpnTunnelOptionsSpecification",
  294    294   
    ),
  295    295   
    ::aws_smithy_schema::ShapeType::Integer,
  296         -
    "phase1_lifetime_seconds",
         296  +
    "Phase1LifetimeSeconds",
  297    297   
    3,
  298    298   
);
  299    299   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_PHASE2_LIFETIME_SECONDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  300    300   
    ::aws_smithy_schema::ShapeId::from_static(
  301    301   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$Phase2LifetimeSeconds",
  302    302   
        "com.amazonaws.ec2",
  303    303   
        "VpnTunnelOptionsSpecification",
  304    304   
    ),
  305    305   
    ::aws_smithy_schema::ShapeType::Integer,
  306         -
    "phase2_lifetime_seconds",
         306  +
    "Phase2LifetimeSeconds",
  307    307   
    4,
  308    308   
);
  309    309   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_REKEY_MARGIN_TIME_SECONDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  310    310   
    ::aws_smithy_schema::ShapeId::from_static(
  311    311   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$RekeyMarginTimeSeconds",
  312    312   
        "com.amazonaws.ec2",
  313    313   
        "VpnTunnelOptionsSpecification",
  314    314   
    ),
  315    315   
    ::aws_smithy_schema::ShapeType::Integer,
  316         -
    "rekey_margin_time_seconds",
         316  +
    "RekeyMarginTimeSeconds",
  317    317   
    5,
  318    318   
);
  319    319   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_REKEY_FUZZ_PERCENTAGE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  320    320   
    ::aws_smithy_schema::ShapeId::from_static(
  321    321   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$RekeyFuzzPercentage",
  322    322   
        "com.amazonaws.ec2",
  323    323   
        "VpnTunnelOptionsSpecification",
  324    324   
    ),
  325    325   
    ::aws_smithy_schema::ShapeType::Integer,
  326         -
    "rekey_fuzz_percentage",
         326  +
    "RekeyFuzzPercentage",
  327    327   
    6,
  328    328   
);
  329    329   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_REPLAY_WINDOW_SIZE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  330    330   
    ::aws_smithy_schema::ShapeId::from_static(
  331    331   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$ReplayWindowSize",
  332    332   
        "com.amazonaws.ec2",
  333    333   
        "VpnTunnelOptionsSpecification",
  334    334   
    ),
  335    335   
    ::aws_smithy_schema::ShapeType::Integer,
  336         -
    "replay_window_size",
         336  +
    "ReplayWindowSize",
  337    337   
    7,
  338    338   
);
  339    339   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_DPD_TIMEOUT_SECONDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  340    340   
    ::aws_smithy_schema::ShapeId::from_static(
  341    341   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$DPDTimeoutSeconds",
  342    342   
        "com.amazonaws.ec2",
  343    343   
        "VpnTunnelOptionsSpecification",
  344    344   
    ),
  345    345   
    ::aws_smithy_schema::ShapeType::Integer,
  346         -
    "dpd_timeout_seconds",
         346  +
    "DPDTimeoutSeconds",
  347    347   
    8,
  348    348   
);
  349    349   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_DPD_TIMEOUT_ACTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  350    350   
    ::aws_smithy_schema::ShapeId::from_static(
  351    351   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$DPDTimeoutAction",
  352    352   
        "com.amazonaws.ec2",
  353    353   
        "VpnTunnelOptionsSpecification",
  354    354   
    ),
  355    355   
    ::aws_smithy_schema::ShapeType::String,
  356         -
    "dpd_timeout_action",
         356  +
    "DPDTimeoutAction",
  357    357   
    9,
  358    358   
);
  359    359   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_PHASE1_ENCRYPTION_ALGORITHMS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  360    360   
    ::aws_smithy_schema::ShapeId::from_static(
  361    361   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$Phase1EncryptionAlgorithms",
  362    362   
        "com.amazonaws.ec2",
  363    363   
        "VpnTunnelOptionsSpecification",
  364    364   
    ),
  365    365   
    ::aws_smithy_schema::ShapeType::List,
  366         -
    "phase1_encryption_algorithms",
         366  +
    "Phase1EncryptionAlgorithms",
  367    367   
    10,
  368    368   
)
  369    369   
.with_xml_name("Phase1EncryptionAlgorithm");
  370    370   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_PHASE2_ENCRYPTION_ALGORITHMS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  371    371   
    ::aws_smithy_schema::ShapeId::from_static(
  372    372   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$Phase2EncryptionAlgorithms",
  373    373   
        "com.amazonaws.ec2",
  374    374   
        "VpnTunnelOptionsSpecification",
  375    375   
    ),
  376    376   
    ::aws_smithy_schema::ShapeType::List,
  377         -
    "phase2_encryption_algorithms",
         377  +
    "Phase2EncryptionAlgorithms",
  378    378   
    11,
  379    379   
)
  380    380   
.with_xml_name("Phase2EncryptionAlgorithm");
  381    381   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_PHASE1_INTEGRITY_ALGORITHMS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  382    382   
    ::aws_smithy_schema::ShapeId::from_static(
  383    383   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$Phase1IntegrityAlgorithms",
  384    384   
        "com.amazonaws.ec2",
  385    385   
        "VpnTunnelOptionsSpecification",
  386    386   
    ),
  387    387   
    ::aws_smithy_schema::ShapeType::List,
  388         -
    "phase1_integrity_algorithms",
         388  +
    "Phase1IntegrityAlgorithms",
  389    389   
    12,
  390    390   
)
  391    391   
.with_xml_name("Phase1IntegrityAlgorithm");
  392    392   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_PHASE2_INTEGRITY_ALGORITHMS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  393    393   
    ::aws_smithy_schema::ShapeId::from_static(
  394    394   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$Phase2IntegrityAlgorithms",
  395    395   
        "com.amazonaws.ec2",
  396    396   
        "VpnTunnelOptionsSpecification",
  397    397   
    ),
  398    398   
    ::aws_smithy_schema::ShapeType::List,
  399         -
    "phase2_integrity_algorithms",
         399  +
    "Phase2IntegrityAlgorithms",
  400    400   
    13,
  401    401   
)
  402    402   
.with_xml_name("Phase2IntegrityAlgorithm");
  403    403   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_PHASE1_DH_GROUP_NUMBERS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  404    404   
    ::aws_smithy_schema::ShapeId::from_static(
  405    405   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$Phase1DHGroupNumbers",
  406    406   
        "com.amazonaws.ec2",
  407    407   
        "VpnTunnelOptionsSpecification",
  408    408   
    ),
  409    409   
    ::aws_smithy_schema::ShapeType::List,
  410         -
    "phase1_dh_group_numbers",
         410  +
    "Phase1DHGroupNumbers",
  411    411   
    14,
  412    412   
)
  413    413   
.with_xml_name("Phase1DHGroupNumber");
  414    414   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_PHASE2_DH_GROUP_NUMBERS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  415    415   
    ::aws_smithy_schema::ShapeId::from_static(
  416    416   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$Phase2DHGroupNumbers",
  417    417   
        "com.amazonaws.ec2",
  418    418   
        "VpnTunnelOptionsSpecification",
  419    419   
    ),
  420    420   
    ::aws_smithy_schema::ShapeType::List,
  421         -
    "phase2_dh_group_numbers",
         421  +
    "Phase2DHGroupNumbers",
  422    422   
    15,
  423    423   
)
  424    424   
.with_xml_name("Phase2DHGroupNumber");
  425    425   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_IKE_VERSIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  426    426   
    ::aws_smithy_schema::ShapeId::from_static(
  427    427   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$IKEVersions",
  428    428   
        "com.amazonaws.ec2",
  429    429   
        "VpnTunnelOptionsSpecification",
  430    430   
    ),
  431    431   
    ::aws_smithy_schema::ShapeType::List,
  432         -
    "ike_versions",
         432  +
    "IKEVersions",
  433    433   
    16,
  434    434   
)
  435    435   
.with_xml_name("IKEVersion");
  436    436   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_STARTUP_ACTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  437    437   
    ::aws_smithy_schema::ShapeId::from_static(
  438    438   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$StartupAction",
  439    439   
        "com.amazonaws.ec2",
  440    440   
        "VpnTunnelOptionsSpecification",
  441    441   
    ),
  442    442   
    ::aws_smithy_schema::ShapeType::String,
  443         -
    "startup_action",
         443  +
    "StartupAction",
  444    444   
    17,
  445    445   
);
  446    446   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_LOG_OPTIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  447    447   
    ::aws_smithy_schema::ShapeId::from_static(
  448    448   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$LogOptions",
  449    449   
        "com.amazonaws.ec2",
  450    450   
        "VpnTunnelOptionsSpecification",
  451    451   
    ),
  452    452   
    ::aws_smithy_schema::ShapeType::Structure,
  453         -
    "log_options",
         453  +
    "LogOptions",
  454    454   
    18,
  455    455   
);
  456    456   
static VPNTUNNELOPTIONSSPECIFICATION_MEMBER_ENABLE_TUNNEL_LIFECYCLE_CONTROL: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  457    457   
    ::aws_smithy_schema::ShapeId::from_static(
  458    458   
        "com.amazonaws.ec2#VpnTunnelOptionsSpecification$EnableTunnelLifecycleControl",
  459    459   
        "com.amazonaws.ec2",
  460    460   
        "VpnTunnelOptionsSpecification",
  461    461   
    ),
  462    462   
    ::aws_smithy_schema::ShapeType::Boolean,
  463         -
    "enable_tunnel_lifecycle_control",
         463  +
    "EnableTunnelLifecycleControl",
  464    464   
    19,
  465    465   
);
  466    466   
static VPNTUNNELOPTIONSSPECIFICATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  467    467   
    VPNTUNNELOPTIONSSPECIFICATION_SCHEMA_ID,
  468    468   
    ::aws_smithy_schema::ShapeType::Structure,
  469    469   
    &[
  470    470   
        &VPNTUNNELOPTIONSSPECIFICATION_MEMBER_TUNNEL_INSIDE_CIDR,
  471    471   
        &VPNTUNNELOPTIONSSPECIFICATION_MEMBER_TUNNEL_INSIDE_IPV6_CIDR,
  472    472   
        &VPNTUNNELOPTIONSSPECIFICATION_MEMBER_PRE_SHARED_KEY,
  473    473   
        &VPNTUNNELOPTIONSSPECIFICATION_MEMBER_PHASE1_LIFETIME_SECONDS,
@@ -593,593 +803,793 @@
  613    613   
            ser.write_struct(&VPNTUNNELOPTIONSSPECIFICATION_MEMBER_LOG_OPTIONS, val)?;
  614    614   
        }
  615    615   
        if let Some(ref val) = self.enable_tunnel_lifecycle_control {
  616    616   
            ser.write_boolean(&VPNTUNNELOPTIONSSPECIFICATION_MEMBER_ENABLE_TUNNEL_LIFECYCLE_CONTROL, *val)?;
  617    617   
        }
  618    618   
        Ok(())
  619    619   
    }
  620    620   
}
  621    621   
impl VpnTunnelOptionsSpecification {
  622    622   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  623         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  624         -
        deserializer: &mut D,
         623  +
    pub fn deserialize(
         624  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  625    625   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  626    626   
        #[allow(unused_variables, unused_mut)]
  627    627   
        let mut builder = Self::builder();
  628    628   
        #[allow(
  629    629   
            unused_variables,
  630    630   
            unreachable_code,
  631    631   
            clippy::single_match,
  632    632   
            clippy::match_single_binding,
  633    633   
            clippy::diverging_sub_expression
  634    634   
        )]
  635         -
        deserializer.read_struct(&VPNTUNNELOPTIONSSPECIFICATION_SCHEMA, (), |_, member, deser| {
         635  +
        deserializer.read_struct(&VPNTUNNELOPTIONSSPECIFICATION_SCHEMA, &mut |member, deser| {
  636    636   
            match member.member_index() {
  637    637   
                Some(0) => {
  638    638   
                    builder.tunnel_inside_cidr = Some(deser.read_string(member)?);
  639    639   
                }
  640    640   
                Some(1) => {
  641    641   
                    builder.tunnel_inside_ipv6_cidr = Some(deser.read_string(member)?);
  642    642   
                }
  643    643   
                Some(2) => {
  644    644   
                    builder.pre_shared_key = Some(deser.read_string(member)?);
  645    645   
                }
  646    646   
                Some(3) => {
  647    647   
                    builder.phase1_lifetime_seconds = Some(deser.read_integer(member)?);
  648    648   
                }
  649    649   
                Some(4) => {
  650    650   
                    builder.phase2_lifetime_seconds = Some(deser.read_integer(member)?);
  651    651   
                }
  652    652   
                Some(5) => {
  653    653   
                    builder.rekey_margin_time_seconds = Some(deser.read_integer(member)?);
  654    654   
                }
  655    655   
                Some(6) => {
  656    656   
                    builder.rekey_fuzz_percentage = Some(deser.read_integer(member)?);
  657    657   
                }
  658    658   
                Some(7) => {
  659    659   
                    builder.replay_window_size = Some(deser.read_integer(member)?);
  660    660   
                }
  661    661   
                Some(8) => {
  662    662   
                    builder.dpd_timeout_seconds = Some(deser.read_integer(member)?);
  663    663   
                }
  664    664   
                Some(9) => {
  665    665   
                    builder.dpd_timeout_action = Some(deser.read_string(member)?);
  666    666   
                }
  667    667   
                Some(10) => {
  668    668   
                    builder.phase1_encryption_algorithms = Some({
  669         -
                        let container = if let Some(cap) = deser.container_size() {
  670         -
                            Vec::with_capacity(cap)
  671         -
                        } else {
  672         -
                            Vec::new()
  673         -
                        };
  674         -
                        deser.read_list(member, container, |mut list, deser| {
  675         -
                            list.push(crate::types::Phase1EncryptionAlgorithmsRequestListValue::deserialize(deser)?);
  676         -
                            Ok(list)
  677         -
                        })?
         669  +
                        let mut container = Vec::new();
         670  +
                        deser.read_list(member, &mut |deser| {
         671  +
                            container.push(crate::types::Phase1EncryptionAlgorithmsRequestListValue::deserialize(deser)?);
         672  +
                            Ok(())
         673  +
                        })?;
         674  +
                        container
  678    675   
                    });
  679    676   
                }
  680    677   
                Some(11) => {
  681    678   
                    builder.phase2_encryption_algorithms = Some({
  682         -
                        let container = if let Some(cap) = deser.container_size() {
  683         -
                            Vec::with_capacity(cap)
  684         -
                        } else {
  685         -
                            Vec::new()
  686         -
                        };
  687         -
                        deser.read_list(member, container, |mut list, deser| {
  688         -
                            list.push(crate::types::Phase2EncryptionAlgorithmsRequestListValue::deserialize(deser)?);
  689         -
                            Ok(list)
  690         -
                        })?
         679  +
                        let mut container = Vec::new();
         680  +
                        deser.read_list(member, &mut |deser| {
         681  +
                            container.push(crate::types::Phase2EncryptionAlgorithmsRequestListValue::deserialize(deser)?);
         682  +
                            Ok(())
         683  +
                        })?;
         684  +
                        container
  691    685   
                    });
  692    686   
                }
  693    687   
                Some(12) => {
  694    688   
                    builder.phase1_integrity_algorithms = Some({
  695         -
                        let container = if let Some(cap) = deser.container_size() {
  696         -
                            Vec::with_capacity(cap)
  697         -
                        } else {
  698         -
                            Vec::new()
  699         -
                        };
  700         -
                        deser.read_list(member, container, |mut list, deser| {
  701         -
                            list.push(crate::types::Phase1IntegrityAlgorithmsRequestListValue::deserialize(deser)?);
  702         -
                            Ok(list)
  703         -
                        })?
         689  +
                        let mut container = Vec::new();
         690  +
                        deser.read_list(member, &mut |deser| {
         691  +
                            container.push(crate::types::Phase1IntegrityAlgorithmsRequestListValue::deserialize(deser)?);
         692  +
                            Ok(())
         693  +
                        })?;
         694  +
                        container
  704    695   
                    });
  705    696   
                }
  706    697   
                Some(13) => {
  707    698   
                    builder.phase2_integrity_algorithms = Some({
  708         -
                        let container = if let Some(cap) = deser.container_size() {
  709         -
                            Vec::with_capacity(cap)
  710         -
                        } else {
  711         -
                            Vec::new()
  712         -
                        };
  713         -
                        deser.read_list(member, container, |mut list, deser| {
  714         -
                            list.push(crate::types::Phase2IntegrityAlgorithmsRequestListValue::deserialize(deser)?);
  715         -
                            Ok(list)
  716         -
                        })?
         699  +
                        let mut container = Vec::new();
         700  +
                        deser.read_list(member, &mut |deser| {
         701  +
                            container.push(crate::types::Phase2IntegrityAlgorithmsRequestListValue::deserialize(deser)?);
         702  +
                            Ok(())
         703  +
                        })?;
         704  +
                        container
  717    705   
                    });
  718    706   
                }
  719    707   
                Some(14) => {
  720    708   
                    builder.phase1_dh_group_numbers = Some({
  721         -
                        let container = if let Some(cap) = deser.container_size() {
  722         -
                            Vec::with_capacity(cap)
  723         -
                        } else {
  724         -
                            Vec::new()
  725         -
                        };
  726         -
                        deser.read_list(member, container, |mut list, deser| {
  727         -
                            list.push(crate::types::Phase1DhGroupNumbersRequestListValue::deserialize(deser)?);
  728         -
                            Ok(list)
  729         -
                        })?
         709  +
                        let mut container = Vec::new();
         710  +
                        deser.read_list(member, &mut |deser| {
         711  +
                            container.push(crate::types::Phase1DhGroupNumbersRequestListValue::deserialize(deser)?);
         712  +
                            Ok(())
         713  +
                        })?;
         714  +
                        container
  730    715   
                    });
  731    716   
                }
  732    717   
                Some(15) => {
  733    718   
                    builder.phase2_dh_group_numbers = Some({
  734         -
                        let container = if let Some(cap) = deser.container_size() {
  735         -
                            Vec::with_capacity(cap)
  736         -
                        } else {
  737         -
                            Vec::new()
  738         -
                        };
  739         -
                        deser.read_list(member, container, |mut list, deser| {
  740         -
                            list.push(crate::types::Phase2DhGroupNumbersRequestListValue::deserialize(deser)?);
  741         -
                            Ok(list)
  742         -
                        })?
         719  +
                        let mut container = Vec::new();
         720  +
                        deser.read_list(member, &mut |deser| {
         721  +
                            container.push(crate::types::Phase2DhGroupNumbersRequestListValue::deserialize(deser)?);
         722  +
                            Ok(())
         723  +
                        })?;
         724  +
                        container
  743    725   
                    });
  744    726   
                }
  745    727   
                Some(16) => {
  746    728   
                    builder.ike_versions = Some({
  747         -
                        let container = if let Some(cap) = deser.container_size() {
  748         -
                            Vec::with_capacity(cap)
  749         -
                        } else {
  750         -
                            Vec::new()
  751         -
                        };
  752         -
                        deser.read_list(member, container, |mut list, deser| {
  753         -
                            list.push(crate::types::IkeVersionsRequestListValue::deserialize(deser)?);
  754         -
                            Ok(list)
  755         -
                        })?
         729  +
                        let mut container = Vec::new();
         730  +
                        deser.read_list(member, &mut |deser| {
         731  +
                            container.push(crate::types::IkeVersionsRequestListValue::deserialize(deser)?);
         732  +
                            Ok(())
         733  +
                        })?;
         734  +
                        container
  756    735   
                    });
  757    736   
                }
  758    737   
                Some(17) => {
  759    738   
                    builder.startup_action = Some(deser.read_string(member)?);
  760    739   
                }
  761    740   
                Some(18) => {
  762    741   
                    builder.log_options = Some(crate::types::VpnTunnelLogOptionsSpecification::deserialize(deser)?);
  763    742   
                }
  764    743   
                Some(19) => {
  765    744   
                    builder.enable_tunnel_lifecycle_control = Some(deser.read_boolean(member)?);
  766    745   
                }
  767    746   
                _ => {}
  768    747   
            }
  769    748   
            Ok(())
  770    749   
        })?;
  771    750   
        Ok(builder.build())
  772    751   
    }
  773    752   
}
         753  +
impl VpnTunnelOptionsSpecification {
         754  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         755  +
    pub fn deserialize_with_response(
         756  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         757  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         758  +
        _status: u16,
         759  +
        _body: &[u8],
         760  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         761  +
        Self::deserialize(deserializer)
         762  +
    }
         763  +
}
  774    764   
impl VpnTunnelOptionsSpecification {
  775    765   
    /// Creates a new builder-style object to manufacture [`VpnTunnelOptionsSpecification`](crate::types::VpnTunnelOptionsSpecification).
  776    766   
    pub fn builder() -> crate::types::builders::VpnTunnelOptionsSpecificationBuilder {
  777    767   
        crate::types::builders::VpnTunnelOptionsSpecificationBuilder::default()
  778    768   
    }
  779    769   
}
  780    770   
  781    771   
/// A builder for [`VpnTunnelOptionsSpecification`](crate::types::VpnTunnelOptionsSpecification).
  782    772   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
  783    773   
#[non_exhaustive]