AWS SDK

AWS SDK

rev. 163d4d6410694aaf071424777ecbecd050925f36

Files changed:

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

@@ -1,1 +107,118 @@
   18     18   
    "com.amazonaws.ec2",
   19     19   
    "TransitGatewayConnectRequestBgpOptions",
   20     20   
);
   21     21   
static TRANSITGATEWAYCONNECTREQUESTBGPOPTIONS_MEMBER_PEER_ASN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   22     22   
    ::aws_smithy_schema::ShapeId::from_static(
   23     23   
        "com.amazonaws.ec2#TransitGatewayConnectRequestBgpOptions$PeerAsn",
   24     24   
        "com.amazonaws.ec2",
   25     25   
        "TransitGatewayConnectRequestBgpOptions",
   26     26   
    ),
   27     27   
    ::aws_smithy_schema::ShapeType::Long,
   28         -
    "peer_asn",
          28  +
    "PeerAsn",
   29     29   
    0,
   30     30   
);
   31     31   
static TRANSITGATEWAYCONNECTREQUESTBGPOPTIONS_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   32     32   
    TRANSITGATEWAYCONNECTREQUESTBGPOPTIONS_SCHEMA_ID,
   33     33   
    ::aws_smithy_schema::ShapeType::Structure,
   34     34   
    &[&TRANSITGATEWAYCONNECTREQUESTBGPOPTIONS_MEMBER_PEER_ASN],
   35     35   
);
   36     36   
impl TransitGatewayConnectRequestBgpOptions {
   37     37   
    /// The schema for this shape.
   38     38   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &TRANSITGATEWAYCONNECTREQUESTBGPOPTIONS_SCHEMA;
   39     39   
}
   40     40   
impl ::aws_smithy_schema::serde::SerializableStruct for TransitGatewayConnectRequestBgpOptions {
   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.peer_asn {
   47     47   
            ser.write_long(&TRANSITGATEWAYCONNECTREQUESTBGPOPTIONS_MEMBER_PEER_ASN, *val)?;
   48     48   
        }
   49     49   
        Ok(())
   50     50   
    }
   51     51   
}
   52     52   
impl TransitGatewayConnectRequestBgpOptions {
   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(&TRANSITGATEWAYCONNECTREQUESTBGPOPTIONS_SCHEMA, (), |_, member, deser| {
          66  +
        deserializer.read_struct(&TRANSITGATEWAYCONNECTREQUESTBGPOPTIONS_SCHEMA, &mut |member, deser| {
   67     67   
            match member.member_index() {
   68     68   
                Some(0) => {
   69     69   
                    builder.peer_asn = Some(deser.read_long(member)?);
   70     70   
                }
   71     71   
                _ => {}
   72     72   
            }
   73     73   
            Ok(())
   74     74   
        })?;
   75     75   
        Ok(builder.build())
   76     76   
    }
   77     77   
}
          78  +
impl TransitGatewayConnectRequestBgpOptions {
          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 TransitGatewayConnectRequestBgpOptions {
   79     90   
    /// Creates a new builder-style object to manufacture [`TransitGatewayConnectRequestBgpOptions`](crate::types::TransitGatewayConnectRequestBgpOptions).
   80     91   
    pub fn builder() -> crate::types::builders::TransitGatewayConnectRequestBgpOptionsBuilder {
   81     92   
        crate::types::builders::TransitGatewayConnectRequestBgpOptionsBuilder::default()
   82     93   
    }
   83     94   
}
   84     95   
   85     96   
/// A builder for [`TransitGatewayConnectRequestBgpOptions`](crate::types::TransitGatewayConnectRequestBgpOptions).
   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/_transit_gateway_multicast_deregistered_group_members.rs

@@ -13,13 +184,185 @@
   33     33   
    "TransitGatewayMulticastDeregisteredGroupMembers",
   34     34   
);
   35     35   
static TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPMEMBERS_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID: ::aws_smithy_schema::Schema =
   36     36   
    ::aws_smithy_schema::Schema::new_member(
   37     37   
        ::aws_smithy_schema::ShapeId::from_static(
   38     38   
            "com.amazonaws.ec2#TransitGatewayMulticastDeregisteredGroupMembers$TransitGatewayMulticastDomainId",
   39     39   
            "com.amazonaws.ec2",
   40     40   
            "TransitGatewayMulticastDeregisteredGroupMembers",
   41     41   
        ),
   42     42   
        ::aws_smithy_schema::ShapeType::String,
   43         -
        "transit_gateway_multicast_domain_id",
          43  +
        "TransitGatewayMulticastDomainId",
   44     44   
        0,
   45     45   
    )
   46     46   
    .with_xml_name("transitGatewayMulticastDomainId");
   47     47   
static TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPMEMBERS_MEMBER_DEREGISTERED_NETWORK_INTERFACE_IDS: ::aws_smithy_schema::Schema =
   48     48   
    ::aws_smithy_schema::Schema::new_member(
   49     49   
        ::aws_smithy_schema::ShapeId::from_static(
   50     50   
            "com.amazonaws.ec2#TransitGatewayMulticastDeregisteredGroupMembers$DeregisteredNetworkInterfaceIds",
   51     51   
            "com.amazonaws.ec2",
   52     52   
            "TransitGatewayMulticastDeregisteredGroupMembers",
   53     53   
        ),
   54     54   
        ::aws_smithy_schema::ShapeType::List,
   55         -
        "deregistered_network_interface_ids",
          55  +
        "DeregisteredNetworkInterfaceIds",
   56     56   
        1,
   57     57   
    )
   58     58   
    .with_xml_name("deregisteredNetworkInterfaceIds");
   59     59   
static TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPMEMBERS_MEMBER_GROUP_IP_ADDRESS: ::aws_smithy_schema::Schema =
   60     60   
    ::aws_smithy_schema::Schema::new_member(
   61     61   
        ::aws_smithy_schema::ShapeId::from_static(
   62     62   
            "com.amazonaws.ec2#TransitGatewayMulticastDeregisteredGroupMembers$GroupIpAddress",
   63     63   
            "com.amazonaws.ec2",
   64     64   
            "TransitGatewayMulticastDeregisteredGroupMembers",
   65     65   
        ),
   66     66   
        ::aws_smithy_schema::ShapeType::String,
   67         -
        "group_ip_address",
          67  +
        "GroupIpAddress",
   68     68   
        2,
   69     69   
    )
   70     70   
    .with_xml_name("groupIpAddress");
   71     71   
static TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPMEMBERS_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   72     72   
    TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPMEMBERS_SCHEMA_ID,
   73     73   
    ::aws_smithy_schema::ShapeType::Structure,
   74     74   
    &[
   75     75   
        &TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPMEMBERS_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID,
   76     76   
        &TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPMEMBERS_MEMBER_DEREGISTERED_NETWORK_INTERFACE_IDS,
   77     77   
        &TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPMEMBERS_MEMBER_GROUP_IP_ADDRESS,
   78     78   
    ],
   79     79   
);
   80     80   
impl TransitGatewayMulticastDeregisteredGroupMembers {
   81     81   
    /// The schema for this shape.
   82     82   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPMEMBERS_SCHEMA;
   83     83   
}
   84     84   
impl ::aws_smithy_schema::serde::SerializableStruct for TransitGatewayMulticastDeregisteredGroupMembers {
   85     85   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   86     86   
    fn serialize_members(
   87     87   
        &self,
   88     88   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   89     89   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   90     90   
        if let Some(ref val) = self.transit_gateway_multicast_domain_id {
   91     91   
            ser.write_string(
   92     92   
                &TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPMEMBERS_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID,
   93     93   
                val,
   94     94   
            )?;
   95     95   
        }
   96     96   
        if let Some(ref val) = self.deregistered_network_interface_ids {
   97     97   
            ser.write_list(
   98     98   
                &TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPMEMBERS_MEMBER_DEREGISTERED_NETWORK_INTERFACE_IDS,
   99     99   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  100    100   
                    for item in val {
  101    101   
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
  102    102   
                    }
  103    103   
                    Ok(())
  104    104   
                },
  105    105   
            )?;
  106    106   
        }
  107    107   
        if let Some(ref val) = self.group_ip_address {
  108    108   
            ser.write_string(&TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPMEMBERS_MEMBER_GROUP_IP_ADDRESS, val)?;
  109    109   
        }
  110    110   
        Ok(())
  111    111   
    }
  112    112   
}
  113    113   
impl TransitGatewayMulticastDeregisteredGroupMembers {
  114    114   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  115         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  116         -
        deserializer: &mut D,
         115  +
    pub fn deserialize(
         116  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  117    117   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  118    118   
        #[allow(unused_variables, unused_mut)]
  119    119   
        let mut builder = Self::builder();
  120    120   
        #[allow(
  121    121   
            unused_variables,
  122    122   
            unreachable_code,
  123    123   
            clippy::single_match,
  124    124   
            clippy::match_single_binding,
  125    125   
            clippy::diverging_sub_expression
  126    126   
        )]
  127         -
        deserializer.read_struct(&TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPMEMBERS_SCHEMA, (), |_, member, deser| {
         127  +
        deserializer.read_struct(&TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPMEMBERS_SCHEMA, &mut |member, deser| {
  128    128   
            match member.member_index() {
  129    129   
                Some(0) => {
  130    130   
                    builder.transit_gateway_multicast_domain_id = Some(deser.read_string(member)?);
  131    131   
                }
  132    132   
                Some(1) => {
  133         -
                    builder.deregistered_network_interface_ids = Some({
  134         -
                        let container = if let Some(cap) = deser.container_size() {
  135         -
                            Vec::with_capacity(cap)
  136         -
                        } else {
  137         -
                            Vec::new()
  138         -
                        };
  139         -
                        deser.read_list(member, container, |mut list, deser| {
  140         -
                            list.push(deser.read_string(member)?);
  141         -
                            Ok(list)
  142         -
                        })?
  143         -
                    });
         133  +
                    builder.deregistered_network_interface_ids = Some(deser.read_string_list(member)?);
  144    134   
                }
  145    135   
                Some(2) => {
  146    136   
                    builder.group_ip_address = Some(deser.read_string(member)?);
  147    137   
                }
  148    138   
                _ => {}
  149    139   
            }
  150    140   
            Ok(())
  151    141   
        })?;
  152    142   
        Ok(builder.build())
  153    143   
    }
  154    144   
}
         145  +
impl TransitGatewayMulticastDeregisteredGroupMembers {
         146  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         147  +
    pub fn deserialize_with_response(
         148  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         149  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         150  +
        _status: u16,
         151  +
        _body: &[u8],
         152  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         153  +
        Self::deserialize(deserializer)
         154  +
    }
         155  +
}
  155    156   
impl TransitGatewayMulticastDeregisteredGroupMembers {
  156    157   
    /// Creates a new builder-style object to manufacture [`TransitGatewayMulticastDeregisteredGroupMembers`](crate::types::TransitGatewayMulticastDeregisteredGroupMembers).
  157    158   
    pub fn builder() -> crate::types::builders::TransitGatewayMulticastDeregisteredGroupMembersBuilder {
  158    159   
        crate::types::builders::TransitGatewayMulticastDeregisteredGroupMembersBuilder::default()
  159    160   
    }
  160    161   
}
  161    162   
  162    163   
/// A builder for [`TransitGatewayMulticastDeregisteredGroupMembers`](crate::types::TransitGatewayMulticastDeregisteredGroupMembers).
  163    164   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  164    165   
#[non_exhaustive]

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

@@ -13,13 +184,185 @@
   33     33   
    "TransitGatewayMulticastDeregisteredGroupSources",
   34     34   
);
   35     35   
static TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPSOURCES_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID: ::aws_smithy_schema::Schema =
   36     36   
    ::aws_smithy_schema::Schema::new_member(
   37     37   
        ::aws_smithy_schema::ShapeId::from_static(
   38     38   
            "com.amazonaws.ec2#TransitGatewayMulticastDeregisteredGroupSources$TransitGatewayMulticastDomainId",
   39     39   
            "com.amazonaws.ec2",
   40     40   
            "TransitGatewayMulticastDeregisteredGroupSources",
   41     41   
        ),
   42     42   
        ::aws_smithy_schema::ShapeType::String,
   43         -
        "transit_gateway_multicast_domain_id",
          43  +
        "TransitGatewayMulticastDomainId",
   44     44   
        0,
   45     45   
    )
   46     46   
    .with_xml_name("transitGatewayMulticastDomainId");
   47     47   
static TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPSOURCES_MEMBER_DEREGISTERED_NETWORK_INTERFACE_IDS: ::aws_smithy_schema::Schema =
   48     48   
    ::aws_smithy_schema::Schema::new_member(
   49     49   
        ::aws_smithy_schema::ShapeId::from_static(
   50     50   
            "com.amazonaws.ec2#TransitGatewayMulticastDeregisteredGroupSources$DeregisteredNetworkInterfaceIds",
   51     51   
            "com.amazonaws.ec2",
   52     52   
            "TransitGatewayMulticastDeregisteredGroupSources",
   53     53   
        ),
   54     54   
        ::aws_smithy_schema::ShapeType::List,
   55         -
        "deregistered_network_interface_ids",
          55  +
        "DeregisteredNetworkInterfaceIds",
   56     56   
        1,
   57     57   
    )
   58     58   
    .with_xml_name("deregisteredNetworkInterfaceIds");
   59     59   
static TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPSOURCES_MEMBER_GROUP_IP_ADDRESS: ::aws_smithy_schema::Schema =
   60     60   
    ::aws_smithy_schema::Schema::new_member(
   61     61   
        ::aws_smithy_schema::ShapeId::from_static(
   62     62   
            "com.amazonaws.ec2#TransitGatewayMulticastDeregisteredGroupSources$GroupIpAddress",
   63     63   
            "com.amazonaws.ec2",
   64     64   
            "TransitGatewayMulticastDeregisteredGroupSources",
   65     65   
        ),
   66     66   
        ::aws_smithy_schema::ShapeType::String,
   67         -
        "group_ip_address",
          67  +
        "GroupIpAddress",
   68     68   
        2,
   69     69   
    )
   70     70   
    .with_xml_name("groupIpAddress");
   71     71   
static TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPSOURCES_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   72     72   
    TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPSOURCES_SCHEMA_ID,
   73     73   
    ::aws_smithy_schema::ShapeType::Structure,
   74     74   
    &[
   75     75   
        &TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPSOURCES_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID,
   76     76   
        &TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPSOURCES_MEMBER_DEREGISTERED_NETWORK_INTERFACE_IDS,
   77     77   
        &TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPSOURCES_MEMBER_GROUP_IP_ADDRESS,
   78     78   
    ],
   79     79   
);
   80     80   
impl TransitGatewayMulticastDeregisteredGroupSources {
   81     81   
    /// The schema for this shape.
   82     82   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPSOURCES_SCHEMA;
   83     83   
}
   84     84   
impl ::aws_smithy_schema::serde::SerializableStruct for TransitGatewayMulticastDeregisteredGroupSources {
   85     85   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   86     86   
    fn serialize_members(
   87     87   
        &self,
   88     88   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   89     89   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   90     90   
        if let Some(ref val) = self.transit_gateway_multicast_domain_id {
   91     91   
            ser.write_string(
   92     92   
                &TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPSOURCES_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID,
   93     93   
                val,
   94     94   
            )?;
   95     95   
        }
   96     96   
        if let Some(ref val) = self.deregistered_network_interface_ids {
   97     97   
            ser.write_list(
   98     98   
                &TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPSOURCES_MEMBER_DEREGISTERED_NETWORK_INTERFACE_IDS,
   99     99   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  100    100   
                    for item in val {
  101    101   
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
  102    102   
                    }
  103    103   
                    Ok(())
  104    104   
                },
  105    105   
            )?;
  106    106   
        }
  107    107   
        if let Some(ref val) = self.group_ip_address {
  108    108   
            ser.write_string(&TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPSOURCES_MEMBER_GROUP_IP_ADDRESS, val)?;
  109    109   
        }
  110    110   
        Ok(())
  111    111   
    }
  112    112   
}
  113    113   
impl TransitGatewayMulticastDeregisteredGroupSources {
  114    114   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  115         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  116         -
        deserializer: &mut D,
         115  +
    pub fn deserialize(
         116  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  117    117   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  118    118   
        #[allow(unused_variables, unused_mut)]
  119    119   
        let mut builder = Self::builder();
  120    120   
        #[allow(
  121    121   
            unused_variables,
  122    122   
            unreachable_code,
  123    123   
            clippy::single_match,
  124    124   
            clippy::match_single_binding,
  125    125   
            clippy::diverging_sub_expression
  126    126   
        )]
  127         -
        deserializer.read_struct(&TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPSOURCES_SCHEMA, (), |_, member, deser| {
         127  +
        deserializer.read_struct(&TRANSITGATEWAYMULTICASTDEREGISTEREDGROUPSOURCES_SCHEMA, &mut |member, deser| {
  128    128   
            match member.member_index() {
  129    129   
                Some(0) => {
  130    130   
                    builder.transit_gateway_multicast_domain_id = Some(deser.read_string(member)?);
  131    131   
                }
  132    132   
                Some(1) => {
  133         -
                    builder.deregistered_network_interface_ids = Some({
  134         -
                        let container = if let Some(cap) = deser.container_size() {
  135         -
                            Vec::with_capacity(cap)
  136         -
                        } else {
  137         -
                            Vec::new()
  138         -
                        };
  139         -
                        deser.read_list(member, container, |mut list, deser| {
  140         -
                            list.push(deser.read_string(member)?);
  141         -
                            Ok(list)
  142         -
                        })?
  143         -
                    });
         133  +
                    builder.deregistered_network_interface_ids = Some(deser.read_string_list(member)?);
  144    134   
                }
  145    135   
                Some(2) => {
  146    136   
                    builder.group_ip_address = Some(deser.read_string(member)?);
  147    137   
                }
  148    138   
                _ => {}
  149    139   
            }
  150    140   
            Ok(())
  151    141   
        })?;
  152    142   
        Ok(builder.build())
  153    143   
    }
  154    144   
}
         145  +
impl TransitGatewayMulticastDeregisteredGroupSources {
         146  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         147  +
    pub fn deserialize_with_response(
         148  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         149  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         150  +
        _status: u16,
         151  +
        _body: &[u8],
         152  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         153  +
        Self::deserialize(deserializer)
         154  +
    }
         155  +
}
  155    156   
impl TransitGatewayMulticastDeregisteredGroupSources {
  156    157   
    /// Creates a new builder-style object to manufacture [`TransitGatewayMulticastDeregisteredGroupSources`](crate::types::TransitGatewayMulticastDeregisteredGroupSources).
  157    158   
    pub fn builder() -> crate::types::builders::TransitGatewayMulticastDeregisteredGroupSourcesBuilder {
  158    159   
        crate::types::builders::TransitGatewayMulticastDeregisteredGroupSourcesBuilder::default()
  159    160   
    }
  160    161   
}
  161    162   
  162    163   
/// A builder for [`TransitGatewayMulticastDeregisteredGroupSources`](crate::types::TransitGatewayMulticastDeregisteredGroupSources).
  163    164   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  164    165   
#[non_exhaustive]

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

@@ -43,43 +181,181 @@
   63     63   
    "TransitGatewayMulticastDomain",
   64     64   
);
   65     65   
static TRANSITGATEWAYMULTICASTDOMAIN_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID: ::aws_smithy_schema::Schema =
   66     66   
    ::aws_smithy_schema::Schema::new_member(
   67     67   
        ::aws_smithy_schema::ShapeId::from_static(
   68     68   
            "com.amazonaws.ec2#TransitGatewayMulticastDomain$TransitGatewayMulticastDomainId",
   69     69   
            "com.amazonaws.ec2",
   70     70   
            "TransitGatewayMulticastDomain",
   71     71   
        ),
   72     72   
        ::aws_smithy_schema::ShapeType::String,
   73         -
        "transit_gateway_multicast_domain_id",
          73  +
        "TransitGatewayMulticastDomainId",
   74     74   
        0,
   75     75   
    )
   76     76   
    .with_xml_name("transitGatewayMulticastDomainId");
   77     77   
static TRANSITGATEWAYMULTICASTDOMAIN_MEMBER_TRANSIT_GATEWAY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   78     78   
    ::aws_smithy_schema::ShapeId::from_static(
   79     79   
        "com.amazonaws.ec2#TransitGatewayMulticastDomain$TransitGatewayId",
   80     80   
        "com.amazonaws.ec2",
   81     81   
        "TransitGatewayMulticastDomain",
   82     82   
    ),
   83     83   
    ::aws_smithy_schema::ShapeType::String,
   84         -
    "transit_gateway_id",
          84  +
    "TransitGatewayId",
   85     85   
    1,
   86     86   
)
   87     87   
.with_xml_name("transitGatewayId");
   88     88   
static TRANSITGATEWAYMULTICASTDOMAIN_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ARN: ::aws_smithy_schema::Schema =
   89     89   
    ::aws_smithy_schema::Schema::new_member(
   90     90   
        ::aws_smithy_schema::ShapeId::from_static(
   91     91   
            "com.amazonaws.ec2#TransitGatewayMulticastDomain$TransitGatewayMulticastDomainArn",
   92     92   
            "com.amazonaws.ec2",
   93     93   
            "TransitGatewayMulticastDomain",
   94     94   
        ),
   95     95   
        ::aws_smithy_schema::ShapeType::String,
   96         -
        "transit_gateway_multicast_domain_arn",
          96  +
        "TransitGatewayMulticastDomainArn",
   97     97   
        2,
   98     98   
    )
   99     99   
    .with_xml_name("transitGatewayMulticastDomainArn");
  100    100   
static TRANSITGATEWAYMULTICASTDOMAIN_MEMBER_OWNER_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  101    101   
    ::aws_smithy_schema::ShapeId::from_static(
  102    102   
        "com.amazonaws.ec2#TransitGatewayMulticastDomain$OwnerId",
  103    103   
        "com.amazonaws.ec2",
  104    104   
        "TransitGatewayMulticastDomain",
  105    105   
    ),
  106    106   
    ::aws_smithy_schema::ShapeType::String,
  107         -
    "owner_id",
         107  +
    "OwnerId",
  108    108   
    3,
  109    109   
)
  110    110   
.with_xml_name("ownerId");
  111    111   
static TRANSITGATEWAYMULTICASTDOMAIN_MEMBER_OPTIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  112    112   
    ::aws_smithy_schema::ShapeId::from_static(
  113    113   
        "com.amazonaws.ec2#TransitGatewayMulticastDomain$Options",
  114    114   
        "com.amazonaws.ec2",
  115    115   
        "TransitGatewayMulticastDomain",
  116    116   
    ),
  117    117   
    ::aws_smithy_schema::ShapeType::Structure,
  118         -
    "options",
         118  +
    "Options",
  119    119   
    4,
  120    120   
)
  121    121   
.with_xml_name("options");
  122    122   
static TRANSITGATEWAYMULTICASTDOMAIN_MEMBER_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  123    123   
    ::aws_smithy_schema::ShapeId::from_static(
  124    124   
        "com.amazonaws.ec2#TransitGatewayMulticastDomain$State",
  125    125   
        "com.amazonaws.ec2",
  126    126   
        "TransitGatewayMulticastDomain",
  127    127   
    ),
  128    128   
    ::aws_smithy_schema::ShapeType::String,
  129         -
    "state",
         129  +
    "State",
  130    130   
    5,
  131    131   
)
  132    132   
.with_xml_name("state");
  133    133   
static TRANSITGATEWAYMULTICASTDOMAIN_MEMBER_CREATION_TIME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  134    134   
    ::aws_smithy_schema::ShapeId::from_static(
  135    135   
        "com.amazonaws.ec2#TransitGatewayMulticastDomain$CreationTime",
  136    136   
        "com.amazonaws.ec2",
  137    137   
        "TransitGatewayMulticastDomain",
  138    138   
    ),
  139    139   
    ::aws_smithy_schema::ShapeType::Timestamp,
  140         -
    "creation_time",
         140  +
    "CreationTime",
  141    141   
    6,
  142    142   
)
  143    143   
.with_xml_name("creationTime");
  144    144   
static TRANSITGATEWAYMULTICASTDOMAIN_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  145    145   
    ::aws_smithy_schema::ShapeId::from_static(
  146    146   
        "com.amazonaws.ec2#TransitGatewayMulticastDomain$Tags",
  147    147   
        "com.amazonaws.ec2",
  148    148   
        "TransitGatewayMulticastDomain",
  149    149   
    ),
  150    150   
    ::aws_smithy_schema::ShapeType::List,
  151         -
    "tags",
         151  +
    "Tags",
  152    152   
    7,
  153    153   
)
  154    154   
.with_xml_name("tagSet");
  155    155   
static TRANSITGATEWAYMULTICASTDOMAIN_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  156    156   
    TRANSITGATEWAYMULTICASTDOMAIN_SCHEMA_ID,
  157    157   
    ::aws_smithy_schema::ShapeType::Structure,
  158    158   
    &[
  159    159   
        &TRANSITGATEWAYMULTICASTDOMAIN_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID,
  160    160   
        &TRANSITGATEWAYMULTICASTDOMAIN_MEMBER_TRANSIT_GATEWAY_ID,
  161    161   
        &TRANSITGATEWAYMULTICASTDOMAIN_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ARN,
@@ -186,186 +302,310 @@
  206    206   
                    }
  207    207   
                    Ok(())
  208    208   
                },
  209    209   
            )?;
  210    210   
        }
  211    211   
        Ok(())
  212    212   
    }
  213    213   
}
  214    214   
impl TransitGatewayMulticastDomain {
  215    215   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  216         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  217         -
        deserializer: &mut D,
         216  +
    pub fn deserialize(
         217  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  218    218   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  219    219   
        #[allow(unused_variables, unused_mut)]
  220    220   
        let mut builder = Self::builder();
  221    221   
        #[allow(
  222    222   
            unused_variables,
  223    223   
            unreachable_code,
  224    224   
            clippy::single_match,
  225    225   
            clippy::match_single_binding,
  226    226   
            clippy::diverging_sub_expression
  227    227   
        )]
  228         -
        deserializer.read_struct(&TRANSITGATEWAYMULTICASTDOMAIN_SCHEMA, (), |_, member, deser| {
         228  +
        deserializer.read_struct(&TRANSITGATEWAYMULTICASTDOMAIN_SCHEMA, &mut |member, deser| {
  229    229   
            match member.member_index() {
  230    230   
                Some(0) => {
  231    231   
                    builder.transit_gateway_multicast_domain_id = Some(deser.read_string(member)?);
  232    232   
                }
  233    233   
                Some(1) => {
  234    234   
                    builder.transit_gateway_id = Some(deser.read_string(member)?);
  235    235   
                }
  236    236   
                Some(2) => {
  237    237   
                    builder.transit_gateway_multicast_domain_arn = Some(deser.read_string(member)?);
  238    238   
                }
  239    239   
                Some(3) => {
  240    240   
                    builder.owner_id = Some(deser.read_string(member)?);
  241    241   
                }
  242    242   
                Some(4) => {
  243    243   
                    builder.options = Some(crate::types::TransitGatewayMulticastDomainOptions::deserialize(deser)?);
  244    244   
                }
  245    245   
                Some(5) => {
  246    246   
                    builder.state = Some(crate::types::TransitGatewayMulticastDomainState::from(
  247    247   
                        deser.read_string(member)?.as_str(),
  248    248   
                    ));
  249    249   
                }
  250    250   
                Some(6) => {
  251    251   
                    builder.creation_time = Some(deser.read_timestamp(member)?);
  252    252   
                }
  253    253   
                Some(7) => {
  254    254   
                    builder.tags = Some({
  255         -
                        let container = if let Some(cap) = deser.container_size() {
  256         -
                            Vec::with_capacity(cap)
  257         -
                        } else {
  258         -
                            Vec::new()
  259         -
                        };
  260         -
                        deser.read_list(member, container, |mut list, deser| {
  261         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  262         -
                            Ok(list)
  263         -
                        })?
         255  +
                        let mut container = Vec::new();
         256  +
                        deser.read_list(member, &mut |deser| {
         257  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         258  +
                            Ok(())
         259  +
                        })?;
         260  +
                        container
  264    261   
                    });
  265    262   
                }
  266    263   
                _ => {}
  267    264   
            }
  268    265   
            Ok(())
  269    266   
        })?;
  270    267   
        Ok(builder.build())
  271    268   
    }
  272    269   
}
         270  +
impl TransitGatewayMulticastDomain {
         271  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         272  +
    pub fn deserialize_with_response(
         273  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         274  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         275  +
        _status: u16,
         276  +
        _body: &[u8],
         277  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         278  +
        Self::deserialize(deserializer)
         279  +
    }
         280  +
}
  273    281   
impl TransitGatewayMulticastDomain {
  274    282   
    /// Creates a new builder-style object to manufacture [`TransitGatewayMulticastDomain`](crate::types::TransitGatewayMulticastDomain).
  275    283   
    pub fn builder() -> crate::types::builders::TransitGatewayMulticastDomainBuilder {
  276    284   
        crate::types::builders::TransitGatewayMulticastDomainBuilder::default()
  277    285   
    }
  278    286   
}
  279    287   
  280    288   
/// A builder for [`TransitGatewayMulticastDomain`](crate::types::TransitGatewayMulticastDomain).
  281    289   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  282    290   
#[non_exhaustive]

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

@@ -23,23 +209,220 @@
   43     43   
    "TransitGatewayMulticastDomainAssociation",
   44     44   
);
   45     45   
static TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_MEMBER_TRANSIT_GATEWAY_ATTACHMENT_ID: ::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#TransitGatewayMulticastDomainAssociation$TransitGatewayAttachmentId",
   49     49   
            "com.amazonaws.ec2",
   50     50   
            "TransitGatewayMulticastDomainAssociation",
   51     51   
        ),
   52     52   
        ::aws_smithy_schema::ShapeType::String,
   53         -
        "transit_gateway_attachment_id",
          53  +
        "TransitGatewayAttachmentId",
   54     54   
        0,
   55     55   
    )
   56     56   
    .with_xml_name("transitGatewayAttachmentId");
   57     57   
static TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_MEMBER_RESOURCE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   58     58   
    ::aws_smithy_schema::ShapeId::from_static(
   59     59   
        "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociation$ResourceId",
   60     60   
        "com.amazonaws.ec2",
   61     61   
        "TransitGatewayMulticastDomainAssociation",
   62     62   
    ),
   63     63   
    ::aws_smithy_schema::ShapeType::String,
   64         -
    "resource_id",
          64  +
    "ResourceId",
   65     65   
    1,
   66     66   
)
   67     67   
.with_xml_name("resourceId");
   68     68   
static TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_MEMBER_RESOURCE_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   69     69   
    ::aws_smithy_schema::ShapeId::from_static(
   70     70   
        "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociation$ResourceType",
   71     71   
        "com.amazonaws.ec2",
   72     72   
        "TransitGatewayMulticastDomainAssociation",
   73     73   
    ),
   74     74   
    ::aws_smithy_schema::ShapeType::String,
   75         -
    "resource_type",
          75  +
    "ResourceType",
   76     76   
    2,
   77     77   
)
   78     78   
.with_xml_name("resourceType");
   79     79   
static TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_MEMBER_RESOURCE_OWNER_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   80     80   
    ::aws_smithy_schema::ShapeId::from_static(
   81     81   
        "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociation$ResourceOwnerId",
   82     82   
        "com.amazonaws.ec2",
   83     83   
        "TransitGatewayMulticastDomainAssociation",
   84     84   
    ),
   85     85   
    ::aws_smithy_schema::ShapeType::String,
   86         -
    "resource_owner_id",
          86  +
    "ResourceOwnerId",
   87     87   
    3,
   88     88   
)
   89     89   
.with_xml_name("resourceOwnerId");
   90     90   
static TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_MEMBER_SUBNET: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   91     91   
    ::aws_smithy_schema::ShapeId::from_static(
   92     92   
        "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociation$Subnet",
   93     93   
        "com.amazonaws.ec2",
   94     94   
        "TransitGatewayMulticastDomainAssociation",
   95     95   
    ),
   96     96   
    ::aws_smithy_schema::ShapeType::Structure,
   97         -
    "subnet",
          97  +
    "Subnet",
   98     98   
    4,
   99     99   
)
  100    100   
.with_xml_name("subnet");
  101    101   
static TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  102    102   
    TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_SCHEMA_ID,
  103    103   
    ::aws_smithy_schema::ShapeType::Structure,
  104    104   
    &[
  105    105   
        &TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_MEMBER_TRANSIT_GATEWAY_ATTACHMENT_ID,
  106    106   
        &TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_MEMBER_RESOURCE_ID,
  107    107   
        &TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_MEMBER_RESOURCE_TYPE,
  108    108   
        &TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_MEMBER_RESOURCE_OWNER_ID,
  109    109   
        &TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_MEMBER_SUBNET,
  110    110   
    ],
  111    111   
);
  112    112   
impl TransitGatewayMulticastDomainAssociation {
  113    113   
    /// The schema for this shape.
  114    114   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_SCHEMA;
  115    115   
}
  116    116   
impl ::aws_smithy_schema::serde::SerializableStruct for TransitGatewayMulticastDomainAssociation {
  117    117   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  118    118   
    fn serialize_members(
  119    119   
        &self,
  120    120   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  121    121   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  122    122   
        if let Some(ref val) = self.transit_gateway_attachment_id {
  123    123   
            ser.write_string(&TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_MEMBER_TRANSIT_GATEWAY_ATTACHMENT_ID, val)?;
  124    124   
        }
  125    125   
        if let Some(ref val) = self.resource_id {
  126    126   
            ser.write_string(&TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_MEMBER_RESOURCE_ID, val)?;
  127    127   
        }
  128    128   
        if let Some(ref val) = self.resource_type {
  129    129   
            ser.write_string(&TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_MEMBER_RESOURCE_TYPE, val.as_str())?;
  130    130   
        }
  131    131   
        if let Some(ref val) = self.resource_owner_id {
  132    132   
            ser.write_string(&TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_MEMBER_RESOURCE_OWNER_ID, val)?;
  133    133   
        }
  134    134   
        if let Some(ref val) = self.subnet {
  135    135   
            ser.write_struct(&TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_MEMBER_SUBNET, val)?;
  136    136   
        }
  137    137   
        Ok(())
  138    138   
    }
  139    139   
}
  140    140   
impl TransitGatewayMulticastDomainAssociation {
  141    141   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  142         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  143         -
        deserializer: &mut D,
         142  +
    pub fn deserialize(
         143  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  144    144   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  145    145   
        #[allow(unused_variables, unused_mut)]
  146    146   
        let mut builder = Self::builder();
  147    147   
        #[allow(
  148    148   
            unused_variables,
  149    149   
            unreachable_code,
  150    150   
            clippy::single_match,
  151    151   
            clippy::match_single_binding,
  152    152   
            clippy::diverging_sub_expression
  153    153   
        )]
  154         -
        deserializer.read_struct(&TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_SCHEMA, (), |_, member, deser| {
         154  +
        deserializer.read_struct(&TRANSITGATEWAYMULTICASTDOMAINASSOCIATION_SCHEMA, &mut |member, deser| {
  155    155   
            match member.member_index() {
  156    156   
                Some(0) => {
  157    157   
                    builder.transit_gateway_attachment_id = Some(deser.read_string(member)?);
  158    158   
                }
  159    159   
                Some(1) => {
  160    160   
                    builder.resource_id = Some(deser.read_string(member)?);
  161    161   
                }
  162    162   
                Some(2) => {
  163    163   
                    builder.resource_type = Some(crate::types::TransitGatewayAttachmentResourceType::from(
  164    164   
                        deser.read_string(member)?.as_str(),
  165    165   
                    ));
  166    166   
                }
  167    167   
                Some(3) => {
  168    168   
                    builder.resource_owner_id = Some(deser.read_string(member)?);
  169    169   
                }
  170    170   
                Some(4) => {
  171    171   
                    builder.subnet = Some(crate::types::SubnetAssociation::deserialize(deser)?);
  172    172   
                }
  173    173   
                _ => {}
  174    174   
            }
  175    175   
            Ok(())
  176    176   
        })?;
  177    177   
        Ok(builder.build())
  178    178   
    }
  179    179   
}
         180  +
impl TransitGatewayMulticastDomainAssociation {
         181  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         182  +
    pub fn deserialize_with_response(
         183  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         184  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         185  +
        _status: u16,
         186  +
        _body: &[u8],
         187  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         188  +
        Self::deserialize(deserializer)
         189  +
    }
         190  +
}
  180    191   
impl TransitGatewayMulticastDomainAssociation {
  181    192   
    /// Creates a new builder-style object to manufacture [`TransitGatewayMulticastDomainAssociation`](crate::types::TransitGatewayMulticastDomainAssociation).
  182    193   
    pub fn builder() -> crate::types::builders::TransitGatewayMulticastDomainAssociationBuilder {
  183    194   
        crate::types::builders::TransitGatewayMulticastDomainAssociationBuilder::default()
  184    195   
    }
  185    196   
}
  186    197   
  187    198   
/// A builder for [`TransitGatewayMulticastDomainAssociation`](crate::types::TransitGatewayMulticastDomainAssociation).
  188    199   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  189    200   
#[non_exhaustive]

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

@@ -31,31 +254,262 @@
   51     51   
    "TransitGatewayMulticastDomainAssociations",
   52     52   
);
   53     53   
static TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID: ::aws_smithy_schema::Schema =
   54     54   
    ::aws_smithy_schema::Schema::new_member(
   55     55   
        ::aws_smithy_schema::ShapeId::from_static(
   56     56   
            "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociations$TransitGatewayMulticastDomainId",
   57     57   
            "com.amazonaws.ec2",
   58     58   
            "TransitGatewayMulticastDomainAssociations",
   59     59   
        ),
   60     60   
        ::aws_smithy_schema::ShapeType::String,
   61         -
        "transit_gateway_multicast_domain_id",
          61  +
        "TransitGatewayMulticastDomainId",
   62     62   
        0,
   63     63   
    )
   64     64   
    .with_xml_name("transitGatewayMulticastDomainId");
   65     65   
static TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_TRANSIT_GATEWAY_ATTACHMENT_ID: ::aws_smithy_schema::Schema =
   66     66   
    ::aws_smithy_schema::Schema::new_member(
   67     67   
        ::aws_smithy_schema::ShapeId::from_static(
   68     68   
            "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociations$TransitGatewayAttachmentId",
   69     69   
            "com.amazonaws.ec2",
   70     70   
            "TransitGatewayMulticastDomainAssociations",
   71     71   
        ),
   72     72   
        ::aws_smithy_schema::ShapeType::String,
   73         -
        "transit_gateway_attachment_id",
          73  +
        "TransitGatewayAttachmentId",
   74     74   
        1,
   75     75   
    )
   76     76   
    .with_xml_name("transitGatewayAttachmentId");
   77     77   
static TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_RESOURCE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   78     78   
    ::aws_smithy_schema::ShapeId::from_static(
   79     79   
        "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociations$ResourceId",
   80     80   
        "com.amazonaws.ec2",
   81     81   
        "TransitGatewayMulticastDomainAssociations",
   82     82   
    ),
   83     83   
    ::aws_smithy_schema::ShapeType::String,
   84         -
    "resource_id",
          84  +
    "ResourceId",
   85     85   
    2,
   86     86   
)
   87     87   
.with_xml_name("resourceId");
   88     88   
static TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_RESOURCE_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   89     89   
    ::aws_smithy_schema::ShapeId::from_static(
   90     90   
        "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociations$ResourceType",
   91     91   
        "com.amazonaws.ec2",
   92     92   
        "TransitGatewayMulticastDomainAssociations",
   93     93   
    ),
   94     94   
    ::aws_smithy_schema::ShapeType::String,
   95         -
    "resource_type",
          95  +
    "ResourceType",
   96     96   
    3,
   97     97   
)
   98     98   
.with_xml_name("resourceType");
   99     99   
static TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_RESOURCE_OWNER_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  100    100   
    ::aws_smithy_schema::ShapeId::from_static(
  101    101   
        "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociations$ResourceOwnerId",
  102    102   
        "com.amazonaws.ec2",
  103    103   
        "TransitGatewayMulticastDomainAssociations",
  104    104   
    ),
  105    105   
    ::aws_smithy_schema::ShapeType::String,
  106         -
    "resource_owner_id",
         106  +
    "ResourceOwnerId",
  107    107   
    4,
  108    108   
)
  109    109   
.with_xml_name("resourceOwnerId");
  110    110   
static TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_SUBNETS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  111    111   
    ::aws_smithy_schema::ShapeId::from_static(
  112    112   
        "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociations$Subnets",
  113    113   
        "com.amazonaws.ec2",
  114    114   
        "TransitGatewayMulticastDomainAssociations",
  115    115   
    ),
  116    116   
    ::aws_smithy_schema::ShapeType::List,
  117         -
    "subnets",
         117  +
    "Subnets",
  118    118   
    5,
  119    119   
)
  120    120   
.with_xml_name("subnets");
  121    121   
static TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  122    122   
    TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_SCHEMA_ID,
  123    123   
    ::aws_smithy_schema::ShapeType::Structure,
  124    124   
    &[
  125    125   
        &TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID,
  126    126   
        &TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_TRANSIT_GATEWAY_ATTACHMENT_ID,
  127    127   
        &TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_RESOURCE_ID,
  128    128   
        &TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_RESOURCE_TYPE,
  129    129   
        &TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_RESOURCE_OWNER_ID,
  130    130   
        &TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_SUBNETS,
  131    131   
    ],
  132    132   
);
  133    133   
impl TransitGatewayMulticastDomainAssociations {
  134    134   
    /// The schema for this shape.
  135    135   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_SCHEMA;
  136    136   
}
  137    137   
impl ::aws_smithy_schema::serde::SerializableStruct for TransitGatewayMulticastDomainAssociations {
  138    138   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  139    139   
    fn serialize_members(
  140    140   
        &self,
  141    141   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  142    142   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  143    143   
        if let Some(ref val) = self.transit_gateway_multicast_domain_id {
  144    144   
            ser.write_string(&TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID, val)?;
  145    145   
        }
  146    146   
        if let Some(ref val) = self.transit_gateway_attachment_id {
  147    147   
            ser.write_string(&TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_TRANSIT_GATEWAY_ATTACHMENT_ID, val)?;
  148    148   
        }
  149    149   
        if let Some(ref val) = self.resource_id {
  150    150   
            ser.write_string(&TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_RESOURCE_ID, val)?;
  151    151   
        }
  152    152   
        if let Some(ref val) = self.resource_type {
  153    153   
            ser.write_string(&TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_RESOURCE_TYPE, val.as_str())?;
  154    154   
        }
  155    155   
        if let Some(ref val) = self.resource_owner_id {
  156    156   
            ser.write_string(&TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_RESOURCE_OWNER_ID, val)?;
  157    157   
        }
  158    158   
        if let Some(ref val) = self.subnets {
  159    159   
            ser.write_list(
  160    160   
                &TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_MEMBER_SUBNETS,
  161    161   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
  162    162   
                    for item in val {
  163    163   
                        ser.write_struct(crate::types::SubnetAssociation::SCHEMA, item)?;
  164    164   
                    }
  165    165   
                    Ok(())
  166    166   
                },
  167    167   
            )?;
  168    168   
        }
  169    169   
        Ok(())
  170    170   
    }
  171    171   
}
  172    172   
impl TransitGatewayMulticastDomainAssociations {
  173    173   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  174         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  175         -
        deserializer: &mut D,
         174  +
    pub fn deserialize(
         175  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  176    176   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  177    177   
        #[allow(unused_variables, unused_mut)]
  178    178   
        let mut builder = Self::builder();
  179    179   
        #[allow(
  180    180   
            unused_variables,
  181    181   
            unreachable_code,
  182    182   
            clippy::single_match,
  183    183   
            clippy::match_single_binding,
  184    184   
            clippy::diverging_sub_expression
  185    185   
        )]
  186         -
        deserializer.read_struct(&TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_SCHEMA, (), |_, member, deser| {
         186  +
        deserializer.read_struct(&TRANSITGATEWAYMULTICASTDOMAINASSOCIATIONS_SCHEMA, &mut |member, deser| {
  187    187   
            match member.member_index() {
  188    188   
                Some(0) => {
  189    189   
                    builder.transit_gateway_multicast_domain_id = Some(deser.read_string(member)?);
  190    190   
                }
  191    191   
                Some(1) => {
  192    192   
                    builder.transit_gateway_attachment_id = Some(deser.read_string(member)?);
  193    193   
                }
  194    194   
                Some(2) => {
  195    195   
                    builder.resource_id = Some(deser.read_string(member)?);
  196    196   
                }
  197    197   
                Some(3) => {
  198    198   
                    builder.resource_type = Some(crate::types::TransitGatewayAttachmentResourceType::from(
  199    199   
                        deser.read_string(member)?.as_str(),
  200    200   
                    ));
  201    201   
                }
  202    202   
                Some(4) => {
  203    203   
                    builder.resource_owner_id = Some(deser.read_string(member)?);
  204    204   
                }
  205    205   
                Some(5) => {
  206    206   
                    builder.subnets = Some({
  207         -
                        let container = if let Some(cap) = deser.container_size() {
  208         -
                            Vec::with_capacity(cap)
  209         -
                        } else {
  210         -
                            Vec::new()
  211         -
                        };
  212         -
                        deser.read_list(member, container, |mut list, deser| {
  213         -
                            list.push(crate::types::SubnetAssociation::deserialize(deser)?);
  214         -
                            Ok(list)
  215         -
                        })?
         207  +
                        let mut container = Vec::new();
         208  +
                        deser.read_list(member, &mut |deser| {
         209  +
                            container.push(crate::types::SubnetAssociation::deserialize(deser)?);
         210  +
                            Ok(())
         211  +
                        })?;
         212  +
                        container
  216    213   
                    });
  217    214   
                }
  218    215   
                _ => {}
  219    216   
            }
  220    217   
            Ok(())
  221    218   
        })?;
  222    219   
        Ok(builder.build())
  223    220   
    }
  224    221   
}
         222  +
impl TransitGatewayMulticastDomainAssociations {
         223  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         224  +
    pub fn deserialize_with_response(
         225  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         226  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         227  +
        _status: u16,
         228  +
        _body: &[u8],
         229  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         230  +
        Self::deserialize(deserializer)
         231  +
    }
         232  +
}
  225    233   
impl TransitGatewayMulticastDomainAssociations {
  226    234   
    /// Creates a new builder-style object to manufacture [`TransitGatewayMulticastDomainAssociations`](crate::types::TransitGatewayMulticastDomainAssociations).
  227    235   
    pub fn builder() -> crate::types::builders::TransitGatewayMulticastDomainAssociationsBuilder {
  228    236   
        crate::types::builders::TransitGatewayMulticastDomainAssociationsBuilder::default()
  229    237   
    }
  230    238   
}
  231    239   
  232    240   
/// A builder for [`TransitGatewayMulticastDomainAssociations`](crate::types::TransitGatewayMulticastDomainAssociations).
  233    241   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  234    242   
#[non_exhaustive]

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

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

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

@@ -58,58 +228,228 @@
   78     78   
    "com.amazonaws.ec2",
   79     79   
    "TransitGatewayMulticastGroup",
   80     80   
);
   81     81   
static TRANSITGATEWAYMULTICASTGROUP_MEMBER_GROUP_IP_ADDRESS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   82     82   
    ::aws_smithy_schema::ShapeId::from_static(
   83     83   
        "com.amazonaws.ec2#TransitGatewayMulticastGroup$GroupIpAddress",
   84     84   
        "com.amazonaws.ec2",
   85     85   
        "TransitGatewayMulticastGroup",
   86     86   
    ),
   87     87   
    ::aws_smithy_schema::ShapeType::String,
   88         -
    "group_ip_address",
          88  +
    "GroupIpAddress",
   89     89   
    0,
   90     90   
)
   91     91   
.with_xml_name("groupIpAddress");
   92     92   
static TRANSITGATEWAYMULTICASTGROUP_MEMBER_TRANSIT_GATEWAY_ATTACHMENT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   93     93   
    ::aws_smithy_schema::ShapeId::from_static(
   94     94   
        "com.amazonaws.ec2#TransitGatewayMulticastGroup$TransitGatewayAttachmentId",
   95     95   
        "com.amazonaws.ec2",
   96     96   
        "TransitGatewayMulticastGroup",
   97     97   
    ),
   98     98   
    ::aws_smithy_schema::ShapeType::String,
   99         -
    "transit_gateway_attachment_id",
          99  +
    "TransitGatewayAttachmentId",
  100    100   
    1,
  101    101   
)
  102    102   
.with_xml_name("transitGatewayAttachmentId");
  103    103   
static TRANSITGATEWAYMULTICASTGROUP_MEMBER_SUBNET_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  104    104   
    ::aws_smithy_schema::ShapeId::from_static(
  105    105   
        "com.amazonaws.ec2#TransitGatewayMulticastGroup$SubnetId",
  106    106   
        "com.amazonaws.ec2",
  107    107   
        "TransitGatewayMulticastGroup",
  108    108   
    ),
  109    109   
    ::aws_smithy_schema::ShapeType::String,
  110         -
    "subnet_id",
         110  +
    "SubnetId",
  111    111   
    2,
  112    112   
)
  113    113   
.with_xml_name("subnetId");
  114    114   
static TRANSITGATEWAYMULTICASTGROUP_MEMBER_RESOURCE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  115    115   
    ::aws_smithy_schema::ShapeId::from_static(
  116    116   
        "com.amazonaws.ec2#TransitGatewayMulticastGroup$ResourceId",
  117    117   
        "com.amazonaws.ec2",
  118    118   
        "TransitGatewayMulticastGroup",
  119    119   
    ),
  120    120   
    ::aws_smithy_schema::ShapeType::String,
  121         -
    "resource_id",
         121  +
    "ResourceId",
  122    122   
    3,
  123    123   
)
  124    124   
.with_xml_name("resourceId");
  125    125   
static TRANSITGATEWAYMULTICASTGROUP_MEMBER_RESOURCE_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  126    126   
    ::aws_smithy_schema::ShapeId::from_static(
  127    127   
        "com.amazonaws.ec2#TransitGatewayMulticastGroup$ResourceType",
  128    128   
        "com.amazonaws.ec2",
  129    129   
        "TransitGatewayMulticastGroup",
  130    130   
    ),
  131    131   
    ::aws_smithy_schema::ShapeType::String,
  132         -
    "resource_type",
         132  +
    "ResourceType",
  133    133   
    4,
  134    134   
)
  135    135   
.with_xml_name("resourceType");
  136    136   
static TRANSITGATEWAYMULTICASTGROUP_MEMBER_RESOURCE_OWNER_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  137    137   
    ::aws_smithy_schema::ShapeId::from_static(
  138    138   
        "com.amazonaws.ec2#TransitGatewayMulticastGroup$ResourceOwnerId",
  139    139   
        "com.amazonaws.ec2",
  140    140   
        "TransitGatewayMulticastGroup",
  141    141   
    ),
  142    142   
    ::aws_smithy_schema::ShapeType::String,
  143         -
    "resource_owner_id",
         143  +
    "ResourceOwnerId",
  144    144   
    5,
  145    145   
)
  146    146   
.with_xml_name("resourceOwnerId");
  147    147   
static TRANSITGATEWAYMULTICASTGROUP_MEMBER_NETWORK_INTERFACE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  148    148   
    ::aws_smithy_schema::ShapeId::from_static(
  149    149   
        "com.amazonaws.ec2#TransitGatewayMulticastGroup$NetworkInterfaceId",
  150    150   
        "com.amazonaws.ec2",
  151    151   
        "TransitGatewayMulticastGroup",
  152    152   
    ),
  153    153   
    ::aws_smithy_schema::ShapeType::String,
  154         -
    "network_interface_id",
         154  +
    "NetworkInterfaceId",
  155    155   
    6,
  156    156   
)
  157    157   
.with_xml_name("networkInterfaceId");
  158    158   
static TRANSITGATEWAYMULTICASTGROUP_MEMBER_GROUP_MEMBER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  159    159   
    ::aws_smithy_schema::ShapeId::from_static(
  160    160   
        "com.amazonaws.ec2#TransitGatewayMulticastGroup$GroupMember",
  161    161   
        "com.amazonaws.ec2",
  162    162   
        "TransitGatewayMulticastGroup",
  163    163   
    ),
  164    164   
    ::aws_smithy_schema::ShapeType::Boolean,
  165         -
    "group_member",
         165  +
    "GroupMember",
  166    166   
    7,
  167    167   
)
  168    168   
.with_xml_name("groupMember");
  169    169   
static TRANSITGATEWAYMULTICASTGROUP_MEMBER_GROUP_SOURCE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  170    170   
    ::aws_smithy_schema::ShapeId::from_static(
  171    171   
        "com.amazonaws.ec2#TransitGatewayMulticastGroup$GroupSource",
  172    172   
        "com.amazonaws.ec2",
  173    173   
        "TransitGatewayMulticastGroup",
  174    174   
    ),
  175    175   
    ::aws_smithy_schema::ShapeType::Boolean,
  176         -
    "group_source",
         176  +
    "GroupSource",
  177    177   
    8,
  178    178   
)
  179    179   
.with_xml_name("groupSource");
  180    180   
static TRANSITGATEWAYMULTICASTGROUP_MEMBER_MEMBER_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  181    181   
    ::aws_smithy_schema::ShapeId::from_static(
  182    182   
        "com.amazonaws.ec2#TransitGatewayMulticastGroup$MemberType",
  183    183   
        "com.amazonaws.ec2",
  184    184   
        "TransitGatewayMulticastGroup",
  185    185   
    ),
  186    186   
    ::aws_smithy_schema::ShapeType::String,
  187         -
    "member_type",
         187  +
    "MemberType",
  188    188   
    9,
  189    189   
)
  190    190   
.with_xml_name("memberType");
  191    191   
static TRANSITGATEWAYMULTICASTGROUP_MEMBER_SOURCE_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  192    192   
    ::aws_smithy_schema::ShapeId::from_static(
  193    193   
        "com.amazonaws.ec2#TransitGatewayMulticastGroup$SourceType",
  194    194   
        "com.amazonaws.ec2",
  195    195   
        "TransitGatewayMulticastGroup",
  196    196   
    ),
  197    197   
    ::aws_smithy_schema::ShapeType::String,
  198         -
    "source_type",
         198  +
    "SourceType",
  199    199   
    10,
  200    200   
)
  201    201   
.with_xml_name("sourceType");
  202    202   
static TRANSITGATEWAYMULTICASTGROUP_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  203    203   
    TRANSITGATEWAYMULTICASTGROUP_SCHEMA_ID,
  204    204   
    ::aws_smithy_schema::ShapeType::Structure,
  205    205   
    &[
  206    206   
        &TRANSITGATEWAYMULTICASTGROUP_MEMBER_GROUP_IP_ADDRESS,
  207    207   
        &TRANSITGATEWAYMULTICASTGROUP_MEMBER_TRANSIT_GATEWAY_ATTACHMENT_ID,
  208    208   
        &TRANSITGATEWAYMULTICASTGROUP_MEMBER_SUBNET_ID,
@@ -237,237 +352,363 @@
  257    257   
            ser.write_string(&TRANSITGATEWAYMULTICASTGROUP_MEMBER_MEMBER_TYPE, val.as_str())?;
  258    258   
        }
  259    259   
        if let Some(ref val) = self.source_type {
  260    260   
            ser.write_string(&TRANSITGATEWAYMULTICASTGROUP_MEMBER_SOURCE_TYPE, val.as_str())?;
  261    261   
        }
  262    262   
        Ok(())
  263    263   
    }
  264    264   
}
  265    265   
impl TransitGatewayMulticastGroup {
  266    266   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  267         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  268         -
        deserializer: &mut D,
         267  +
    pub fn deserialize(
         268  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  269    269   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  270    270   
        #[allow(unused_variables, unused_mut)]
  271    271   
        let mut builder = Self::builder();
  272    272   
        #[allow(
  273    273   
            unused_variables,
  274    274   
            unreachable_code,
  275    275   
            clippy::single_match,
  276    276   
            clippy::match_single_binding,
  277    277   
            clippy::diverging_sub_expression
  278    278   
        )]
  279         -
        deserializer.read_struct(&TRANSITGATEWAYMULTICASTGROUP_SCHEMA, (), |_, member, deser| {
         279  +
        deserializer.read_struct(&TRANSITGATEWAYMULTICASTGROUP_SCHEMA, &mut |member, deser| {
  280    280   
            match member.member_index() {
  281    281   
                Some(0) => {
  282    282   
                    builder.group_ip_address = Some(deser.read_string(member)?);
  283    283   
                }
  284    284   
                Some(1) => {
  285    285   
                    builder.transit_gateway_attachment_id = Some(deser.read_string(member)?);
  286    286   
                }
  287    287   
                Some(2) => {
  288    288   
                    builder.subnet_id = Some(deser.read_string(member)?);
  289    289   
                }
  290    290   
                Some(3) => {
  291    291   
                    builder.resource_id = Some(deser.read_string(member)?);
  292    292   
                }
  293    293   
                Some(4) => {
  294    294   
                    builder.resource_type = Some(crate::types::TransitGatewayAttachmentResourceType::from(
  295    295   
                        deser.read_string(member)?.as_str(),
  296    296   
                    ));
  297    297   
                }
  298    298   
                Some(5) => {
  299    299   
                    builder.resource_owner_id = Some(deser.read_string(member)?);
  300    300   
                }
  301    301   
                Some(6) => {
  302    302   
                    builder.network_interface_id = Some(deser.read_string(member)?);
  303    303   
                }
  304    304   
                Some(7) => {
  305    305   
                    builder.group_member = Some(deser.read_boolean(member)?);
  306    306   
                }
  307    307   
                Some(8) => {
  308    308   
                    builder.group_source = Some(deser.read_boolean(member)?);
  309    309   
                }
  310    310   
                Some(9) => {
  311    311   
                    builder.member_type = Some(crate::types::MembershipType::from(deser.read_string(member)?.as_str()));
  312    312   
                }
  313    313   
                Some(10) => {
  314    314   
                    builder.source_type = Some(crate::types::MembershipType::from(deser.read_string(member)?.as_str()));
  315    315   
                }
  316    316   
                _ => {}
  317    317   
            }
  318    318   
            Ok(())
  319    319   
        })?;
  320    320   
        Ok(builder.build())
  321    321   
    }
  322    322   
}
         323  +
impl TransitGatewayMulticastGroup {
         324  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         325  +
    pub fn deserialize_with_response(
         326  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         327  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         328  +
        _status: u16,
         329  +
        _body: &[u8],
         330  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         331  +
        Self::deserialize(deserializer)
         332  +
    }
         333  +
}
  323    334   
impl TransitGatewayMulticastGroup {
  324    335   
    /// Creates a new builder-style object to manufacture [`TransitGatewayMulticastGroup`](crate::types::TransitGatewayMulticastGroup).
  325    336   
    pub fn builder() -> crate::types::builders::TransitGatewayMulticastGroupBuilder {
  326    337   
        crate::types::builders::TransitGatewayMulticastGroupBuilder::default()
  327    338   
    }
  328    339   
}
  329    340   
  330    341   
/// A builder for [`TransitGatewayMulticastGroup`](crate::types::TransitGatewayMulticastGroup).
  331    342   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  332    343   
#[non_exhaustive]

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

@@ -13,13 +183,184 @@
   33     33   
    "TransitGatewayMulticastRegisteredGroupMembers",
   34     34   
);
   35     35   
static TRANSITGATEWAYMULTICASTREGISTEREDGROUPMEMBERS_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID: ::aws_smithy_schema::Schema =
   36     36   
    ::aws_smithy_schema::Schema::new_member(
   37     37   
        ::aws_smithy_schema::ShapeId::from_static(
   38     38   
            "com.amazonaws.ec2#TransitGatewayMulticastRegisteredGroupMembers$TransitGatewayMulticastDomainId",
   39     39   
            "com.amazonaws.ec2",
   40     40   
            "TransitGatewayMulticastRegisteredGroupMembers",
   41     41   
        ),
   42     42   
        ::aws_smithy_schema::ShapeType::String,
   43         -
        "transit_gateway_multicast_domain_id",
          43  +
        "TransitGatewayMulticastDomainId",
   44     44   
        0,
   45     45   
    )
   46     46   
    .with_xml_name("transitGatewayMulticastDomainId");
   47     47   
static TRANSITGATEWAYMULTICASTREGISTEREDGROUPMEMBERS_MEMBER_REGISTERED_NETWORK_INTERFACE_IDS: ::aws_smithy_schema::Schema =
   48     48   
    ::aws_smithy_schema::Schema::new_member(
   49     49   
        ::aws_smithy_schema::ShapeId::from_static(
   50     50   
            "com.amazonaws.ec2#TransitGatewayMulticastRegisteredGroupMembers$RegisteredNetworkInterfaceIds",
   51     51   
            "com.amazonaws.ec2",
   52     52   
            "TransitGatewayMulticastRegisteredGroupMembers",
   53     53   
        ),
   54     54   
        ::aws_smithy_schema::ShapeType::List,
   55         -
        "registered_network_interface_ids",
          55  +
        "RegisteredNetworkInterfaceIds",
   56     56   
        1,
   57     57   
    )
   58     58   
    .with_xml_name("registeredNetworkInterfaceIds");
   59     59   
static TRANSITGATEWAYMULTICASTREGISTEREDGROUPMEMBERS_MEMBER_GROUP_IP_ADDRESS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   60     60   
    ::aws_smithy_schema::ShapeId::from_static(
   61     61   
        "com.amazonaws.ec2#TransitGatewayMulticastRegisteredGroupMembers$GroupIpAddress",
   62     62   
        "com.amazonaws.ec2",
   63     63   
        "TransitGatewayMulticastRegisteredGroupMembers",
   64     64   
    ),
   65     65   
    ::aws_smithy_schema::ShapeType::String,
   66         -
    "group_ip_address",
          66  +
    "GroupIpAddress",
   67     67   
    2,
   68     68   
)
   69     69   
.with_xml_name("groupIpAddress");
   70     70   
static TRANSITGATEWAYMULTICASTREGISTEREDGROUPMEMBERS_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   71     71   
    TRANSITGATEWAYMULTICASTREGISTEREDGROUPMEMBERS_SCHEMA_ID,
   72     72   
    ::aws_smithy_schema::ShapeType::Structure,
   73     73   
    &[
   74     74   
        &TRANSITGATEWAYMULTICASTREGISTEREDGROUPMEMBERS_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID,
   75     75   
        &TRANSITGATEWAYMULTICASTREGISTEREDGROUPMEMBERS_MEMBER_REGISTERED_NETWORK_INTERFACE_IDS,
   76     76   
        &TRANSITGATEWAYMULTICASTREGISTEREDGROUPMEMBERS_MEMBER_GROUP_IP_ADDRESS,
   77     77   
    ],
   78     78   
);
   79     79   
impl TransitGatewayMulticastRegisteredGroupMembers {
   80     80   
    /// The schema for this shape.
   81     81   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &TRANSITGATEWAYMULTICASTREGISTEREDGROUPMEMBERS_SCHEMA;
   82     82   
}
   83     83   
impl ::aws_smithy_schema::serde::SerializableStruct for TransitGatewayMulticastRegisteredGroupMembers {
   84     84   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   85     85   
    fn serialize_members(
   86     86   
        &self,
   87     87   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   88     88   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   89     89   
        if let Some(ref val) = self.transit_gateway_multicast_domain_id {
   90     90   
            ser.write_string(
   91     91   
                &TRANSITGATEWAYMULTICASTREGISTEREDGROUPMEMBERS_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID,
   92     92   
                val,
   93     93   
            )?;
   94     94   
        }
   95     95   
        if let Some(ref val) = self.registered_network_interface_ids {
   96     96   
            ser.write_list(
   97     97   
                &TRANSITGATEWAYMULTICASTREGISTEREDGROUPMEMBERS_MEMBER_REGISTERED_NETWORK_INTERFACE_IDS,
   98     98   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   99     99   
                    for item in val {
  100    100   
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
  101    101   
                    }
  102    102   
                    Ok(())
  103    103   
                },
  104    104   
            )?;
  105    105   
        }
  106    106   
        if let Some(ref val) = self.group_ip_address {
  107    107   
            ser.write_string(&TRANSITGATEWAYMULTICASTREGISTEREDGROUPMEMBERS_MEMBER_GROUP_IP_ADDRESS, val)?;
  108    108   
        }
  109    109   
        Ok(())
  110    110   
    }
  111    111   
}
  112    112   
impl TransitGatewayMulticastRegisteredGroupMembers {
  113    113   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  114         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  115         -
        deserializer: &mut D,
         114  +
    pub fn deserialize(
         115  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  116    116   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  117    117   
        #[allow(unused_variables, unused_mut)]
  118    118   
        let mut builder = Self::builder();
  119    119   
        #[allow(
  120    120   
            unused_variables,
  121    121   
            unreachable_code,
  122    122   
            clippy::single_match,
  123    123   
            clippy::match_single_binding,
  124    124   
            clippy::diverging_sub_expression
  125    125   
        )]
  126         -
        deserializer.read_struct(&TRANSITGATEWAYMULTICASTREGISTEREDGROUPMEMBERS_SCHEMA, (), |_, member, deser| {
         126  +
        deserializer.read_struct(&TRANSITGATEWAYMULTICASTREGISTEREDGROUPMEMBERS_SCHEMA, &mut |member, deser| {
  127    127   
            match member.member_index() {
  128    128   
                Some(0) => {
  129    129   
                    builder.transit_gateway_multicast_domain_id = Some(deser.read_string(member)?);
  130    130   
                }
  131    131   
                Some(1) => {
  132         -
                    builder.registered_network_interface_ids = Some({
  133         -
                        let container = if let Some(cap) = deser.container_size() {
  134         -
                            Vec::with_capacity(cap)
  135         -
                        } else {
  136         -
                            Vec::new()
  137         -
                        };
  138         -
                        deser.read_list(member, container, |mut list, deser| {
  139         -
                            list.push(deser.read_string(member)?);
  140         -
                            Ok(list)
  141         -
                        })?
  142         -
                    });
         132  +
                    builder.registered_network_interface_ids = Some(deser.read_string_list(member)?);
  143    133   
                }
  144    134   
                Some(2) => {
  145    135   
                    builder.group_ip_address = Some(deser.read_string(member)?);
  146    136   
                }
  147    137   
                _ => {}
  148    138   
            }
  149    139   
            Ok(())
  150    140   
        })?;
  151    141   
        Ok(builder.build())
  152    142   
    }
  153    143   
}
         144  +
impl TransitGatewayMulticastRegisteredGroupMembers {
         145  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         146  +
    pub fn deserialize_with_response(
         147  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         148  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         149  +
        _status: u16,
         150  +
        _body: &[u8],
         151  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         152  +
        Self::deserialize(deserializer)
         153  +
    }
         154  +
}
  154    155   
impl TransitGatewayMulticastRegisteredGroupMembers {
  155    156   
    /// Creates a new builder-style object to manufacture [`TransitGatewayMulticastRegisteredGroupMembers`](crate::types::TransitGatewayMulticastRegisteredGroupMembers).
  156    157   
    pub fn builder() -> crate::types::builders::TransitGatewayMulticastRegisteredGroupMembersBuilder {
  157    158   
        crate::types::builders::TransitGatewayMulticastRegisteredGroupMembersBuilder::default()
  158    159   
    }
  159    160   
}
  160    161   
  161    162   
/// A builder for [`TransitGatewayMulticastRegisteredGroupMembers`](crate::types::TransitGatewayMulticastRegisteredGroupMembers).
  162    163   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  163    164   
#[non_exhaustive]

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

@@ -13,13 +183,184 @@
   33     33   
    "TransitGatewayMulticastRegisteredGroupSources",
   34     34   
);
   35     35   
static TRANSITGATEWAYMULTICASTREGISTEREDGROUPSOURCES_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID: ::aws_smithy_schema::Schema =
   36     36   
    ::aws_smithy_schema::Schema::new_member(
   37     37   
        ::aws_smithy_schema::ShapeId::from_static(
   38     38   
            "com.amazonaws.ec2#TransitGatewayMulticastRegisteredGroupSources$TransitGatewayMulticastDomainId",
   39     39   
            "com.amazonaws.ec2",
   40     40   
            "TransitGatewayMulticastRegisteredGroupSources",
   41     41   
        ),
   42     42   
        ::aws_smithy_schema::ShapeType::String,
   43         -
        "transit_gateway_multicast_domain_id",
          43  +
        "TransitGatewayMulticastDomainId",
   44     44   
        0,
   45     45   
    )
   46     46   
    .with_xml_name("transitGatewayMulticastDomainId");
   47     47   
static TRANSITGATEWAYMULTICASTREGISTEREDGROUPSOURCES_MEMBER_REGISTERED_NETWORK_INTERFACE_IDS: ::aws_smithy_schema::Schema =
   48     48   
    ::aws_smithy_schema::Schema::new_member(
   49     49   
        ::aws_smithy_schema::ShapeId::from_static(
   50     50   
            "com.amazonaws.ec2#TransitGatewayMulticastRegisteredGroupSources$RegisteredNetworkInterfaceIds",
   51     51   
            "com.amazonaws.ec2",
   52     52   
            "TransitGatewayMulticastRegisteredGroupSources",
   53     53   
        ),
   54     54   
        ::aws_smithy_schema::ShapeType::List,
   55         -
        "registered_network_interface_ids",
          55  +
        "RegisteredNetworkInterfaceIds",
   56     56   
        1,
   57     57   
    )
   58     58   
    .with_xml_name("registeredNetworkInterfaceIds");
   59     59   
static TRANSITGATEWAYMULTICASTREGISTEREDGROUPSOURCES_MEMBER_GROUP_IP_ADDRESS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   60     60   
    ::aws_smithy_schema::ShapeId::from_static(
   61     61   
        "com.amazonaws.ec2#TransitGatewayMulticastRegisteredGroupSources$GroupIpAddress",
   62     62   
        "com.amazonaws.ec2",
   63     63   
        "TransitGatewayMulticastRegisteredGroupSources",
   64     64   
    ),
   65     65   
    ::aws_smithy_schema::ShapeType::String,
   66         -
    "group_ip_address",
          66  +
    "GroupIpAddress",
   67     67   
    2,
   68     68   
)
   69     69   
.with_xml_name("groupIpAddress");
   70     70   
static TRANSITGATEWAYMULTICASTREGISTEREDGROUPSOURCES_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   71     71   
    TRANSITGATEWAYMULTICASTREGISTEREDGROUPSOURCES_SCHEMA_ID,
   72     72   
    ::aws_smithy_schema::ShapeType::Structure,
   73     73   
    &[
   74     74   
        &TRANSITGATEWAYMULTICASTREGISTEREDGROUPSOURCES_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID,
   75     75   
        &TRANSITGATEWAYMULTICASTREGISTEREDGROUPSOURCES_MEMBER_REGISTERED_NETWORK_INTERFACE_IDS,
   76     76   
        &TRANSITGATEWAYMULTICASTREGISTEREDGROUPSOURCES_MEMBER_GROUP_IP_ADDRESS,
   77     77   
    ],
   78     78   
);
   79     79   
impl TransitGatewayMulticastRegisteredGroupSources {
   80     80   
    /// The schema for this shape.
   81     81   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &TRANSITGATEWAYMULTICASTREGISTEREDGROUPSOURCES_SCHEMA;
   82     82   
}
   83     83   
impl ::aws_smithy_schema::serde::SerializableStruct for TransitGatewayMulticastRegisteredGroupSources {
   84     84   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   85     85   
    fn serialize_members(
   86     86   
        &self,
   87     87   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   88     88   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   89     89   
        if let Some(ref val) = self.transit_gateway_multicast_domain_id {
   90     90   
            ser.write_string(
   91     91   
                &TRANSITGATEWAYMULTICASTREGISTEREDGROUPSOURCES_MEMBER_TRANSIT_GATEWAY_MULTICAST_DOMAIN_ID,
   92     92   
                val,
   93     93   
            )?;
   94     94   
        }
   95     95   
        if let Some(ref val) = self.registered_network_interface_ids {
   96     96   
            ser.write_list(
   97     97   
                &TRANSITGATEWAYMULTICASTREGISTEREDGROUPSOURCES_MEMBER_REGISTERED_NETWORK_INTERFACE_IDS,
   98     98   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   99     99   
                    for item in val {
  100    100   
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
  101    101   
                    }
  102    102   
                    Ok(())
  103    103   
                },
  104    104   
            )?;
  105    105   
        }
  106    106   
        if let Some(ref val) = self.group_ip_address {
  107    107   
            ser.write_string(&TRANSITGATEWAYMULTICASTREGISTEREDGROUPSOURCES_MEMBER_GROUP_IP_ADDRESS, val)?;
  108    108   
        }
  109    109   
        Ok(())
  110    110   
    }
  111    111   
}
  112    112   
impl TransitGatewayMulticastRegisteredGroupSources {
  113    113   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  114         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  115         -
        deserializer: &mut D,
         114  +
    pub fn deserialize(
         115  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  116    116   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  117    117   
        #[allow(unused_variables, unused_mut)]
  118    118   
        let mut builder = Self::builder();
  119    119   
        #[allow(
  120    120   
            unused_variables,
  121    121   
            unreachable_code,
  122    122   
            clippy::single_match,
  123    123   
            clippy::match_single_binding,
  124    124   
            clippy::diverging_sub_expression
  125    125   
        )]
  126         -
        deserializer.read_struct(&TRANSITGATEWAYMULTICASTREGISTEREDGROUPSOURCES_SCHEMA, (), |_, member, deser| {
         126  +
        deserializer.read_struct(&TRANSITGATEWAYMULTICASTREGISTEREDGROUPSOURCES_SCHEMA, &mut |member, deser| {
  127    127   
            match member.member_index() {
  128    128   
                Some(0) => {
  129    129   
                    builder.transit_gateway_multicast_domain_id = Some(deser.read_string(member)?);
  130    130   
                }
  131    131   
                Some(1) => {
  132         -
                    builder.registered_network_interface_ids = Some({
  133         -
                        let container = if let Some(cap) = deser.container_size() {
  134         -
                            Vec::with_capacity(cap)
  135         -
                        } else {
  136         -
                            Vec::new()
  137         -
                        };
  138         -
                        deser.read_list(member, container, |mut list, deser| {
  139         -
                            list.push(deser.read_string(member)?);
  140         -
                            Ok(list)
  141         -
                        })?
  142         -
                    });
         132  +
                    builder.registered_network_interface_ids = Some(deser.read_string_list(member)?);
  143    133   
                }
  144    134   
                Some(2) => {
  145    135   
                    builder.group_ip_address = Some(deser.read_string(member)?);
  146    136   
                }
  147    137   
                _ => {}
  148    138   
            }
  149    139   
            Ok(())
  150    140   
        })?;
  151    141   
        Ok(builder.build())
  152    142   
    }
  153    143   
}
         144  +
impl TransitGatewayMulticastRegisteredGroupSources {
         145  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         146  +
    pub fn deserialize_with_response(
         147  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         148  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         149  +
        _status: u16,
         150  +
        _body: &[u8],
         151  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         152  +
        Self::deserialize(deserializer)
         153  +
    }
         154  +
}
  154    155   
impl TransitGatewayMulticastRegisteredGroupSources {
  155    156   
    /// Creates a new builder-style object to manufacture [`TransitGatewayMulticastRegisteredGroupSources`](crate::types::TransitGatewayMulticastRegisteredGroupSources).
  156    157   
    pub fn builder() -> crate::types::builders::TransitGatewayMulticastRegisteredGroupSourcesBuilder {
  157    158   
        crate::types::builders::TransitGatewayMulticastRegisteredGroupSourcesBuilder::default()
  158    159   
    }
  159    160   
}
  160    161   
  161    162   
/// A builder for [`TransitGatewayMulticastRegisteredGroupSources`](crate::types::TransitGatewayMulticastRegisteredGroupSources).
  162    163   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  163    164   
#[non_exhaustive]

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

@@ -59,59 +229,229 @@
   79     79   
}
   80     80   
static TRANSITGATEWAYOPTIONS_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   81     81   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#TransitGatewayOptions", "com.amazonaws.ec2", "TransitGatewayOptions");
   82     82   
static TRANSITGATEWAYOPTIONS_MEMBER_AMAZON_SIDE_ASN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   83     83   
    ::aws_smithy_schema::ShapeId::from_static(
   84     84   
        "com.amazonaws.ec2#TransitGatewayOptions$AmazonSideAsn",
   85     85   
        "com.amazonaws.ec2",
   86     86   
        "TransitGatewayOptions",
   87     87   
    ),
   88     88   
    ::aws_smithy_schema::ShapeType::Long,
   89         -
    "amazon_side_asn",
          89  +
    "AmazonSideAsn",
   90     90   
    0,
   91     91   
)
   92     92   
.with_xml_name("amazonSideAsn");
   93     93   
static TRANSITGATEWAYOPTIONS_MEMBER_TRANSIT_GATEWAY_CIDR_BLOCKS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   94     94   
    ::aws_smithy_schema::ShapeId::from_static(
   95     95   
        "com.amazonaws.ec2#TransitGatewayOptions$TransitGatewayCidrBlocks",
   96     96   
        "com.amazonaws.ec2",
   97     97   
        "TransitGatewayOptions",
   98     98   
    ),
   99     99   
    ::aws_smithy_schema::ShapeType::List,
  100         -
    "transit_gateway_cidr_blocks",
         100  +
    "TransitGatewayCidrBlocks",
  101    101   
    1,
  102    102   
)
  103    103   
.with_xml_name("transitGatewayCidrBlocks");
  104    104   
static TRANSITGATEWAYOPTIONS_MEMBER_AUTO_ACCEPT_SHARED_ATTACHMENTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  105    105   
    ::aws_smithy_schema::ShapeId::from_static(
  106    106   
        "com.amazonaws.ec2#TransitGatewayOptions$AutoAcceptSharedAttachments",
  107    107   
        "com.amazonaws.ec2",
  108    108   
        "TransitGatewayOptions",
  109    109   
    ),
  110    110   
    ::aws_smithy_schema::ShapeType::String,
  111         -
    "auto_accept_shared_attachments",
         111  +
    "AutoAcceptSharedAttachments",
  112    112   
    2,
  113    113   
)
  114    114   
.with_xml_name("autoAcceptSharedAttachments");
  115    115   
static TRANSITGATEWAYOPTIONS_MEMBER_DEFAULT_ROUTE_TABLE_ASSOCIATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  116    116   
    ::aws_smithy_schema::ShapeId::from_static(
  117    117   
        "com.amazonaws.ec2#TransitGatewayOptions$DefaultRouteTableAssociation",
  118    118   
        "com.amazonaws.ec2",
  119    119   
        "TransitGatewayOptions",
  120    120   
    ),
  121    121   
    ::aws_smithy_schema::ShapeType::String,
  122         -
    "default_route_table_association",
         122  +
    "DefaultRouteTableAssociation",
  123    123   
    3,
  124    124   
)
  125    125   
.with_xml_name("defaultRouteTableAssociation");
  126    126   
static TRANSITGATEWAYOPTIONS_MEMBER_ASSOCIATION_DEFAULT_ROUTE_TABLE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  127    127   
    ::aws_smithy_schema::ShapeId::from_static(
  128    128   
        "com.amazonaws.ec2#TransitGatewayOptions$AssociationDefaultRouteTableId",
  129    129   
        "com.amazonaws.ec2",
  130    130   
        "TransitGatewayOptions",
  131    131   
    ),
  132    132   
    ::aws_smithy_schema::ShapeType::String,
  133         -
    "association_default_route_table_id",
         133  +
    "AssociationDefaultRouteTableId",
  134    134   
    4,
  135    135   
)
  136    136   
.with_xml_name("associationDefaultRouteTableId");
  137    137   
static TRANSITGATEWAYOPTIONS_MEMBER_DEFAULT_ROUTE_TABLE_PROPAGATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  138    138   
    ::aws_smithy_schema::ShapeId::from_static(
  139    139   
        "com.amazonaws.ec2#TransitGatewayOptions$DefaultRouteTablePropagation",
  140    140   
        "com.amazonaws.ec2",
  141    141   
        "TransitGatewayOptions",
  142    142   
    ),
  143    143   
    ::aws_smithy_schema::ShapeType::String,
  144         -
    "default_route_table_propagation",
         144  +
    "DefaultRouteTablePropagation",
  145    145   
    5,
  146    146   
)
  147    147   
.with_xml_name("defaultRouteTablePropagation");
  148    148   
static TRANSITGATEWAYOPTIONS_MEMBER_PROPAGATION_DEFAULT_ROUTE_TABLE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  149    149   
    ::aws_smithy_schema::ShapeId::from_static(
  150    150   
        "com.amazonaws.ec2#TransitGatewayOptions$PropagationDefaultRouteTableId",
  151    151   
        "com.amazonaws.ec2",
  152    152   
        "TransitGatewayOptions",
  153    153   
    ),
  154    154   
    ::aws_smithy_schema::ShapeType::String,
  155         -
    "propagation_default_route_table_id",
         155  +
    "PropagationDefaultRouteTableId",
  156    156   
    6,
  157    157   
)
  158    158   
.with_xml_name("propagationDefaultRouteTableId");
  159    159   
static TRANSITGATEWAYOPTIONS_MEMBER_VPN_ECMP_SUPPORT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  160    160   
    ::aws_smithy_schema::ShapeId::from_static(
  161    161   
        "com.amazonaws.ec2#TransitGatewayOptions$VpnEcmpSupport",
  162    162   
        "com.amazonaws.ec2",
  163    163   
        "TransitGatewayOptions",
  164    164   
    ),
  165    165   
    ::aws_smithy_schema::ShapeType::String,
  166         -
    "vpn_ecmp_support",
         166  +
    "VpnEcmpSupport",
  167    167   
    7,
  168    168   
)
  169    169   
.with_xml_name("vpnEcmpSupport");
  170    170   
static TRANSITGATEWAYOPTIONS_MEMBER_DNS_SUPPORT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  171    171   
    ::aws_smithy_schema::ShapeId::from_static(
  172    172   
        "com.amazonaws.ec2#TransitGatewayOptions$DnsSupport",
  173    173   
        "com.amazonaws.ec2",
  174    174   
        "TransitGatewayOptions",
  175    175   
    ),
  176    176   
    ::aws_smithy_schema::ShapeType::String,
  177         -
    "dns_support",
         177  +
    "DnsSupport",
  178    178   
    8,
  179    179   
)
  180    180   
.with_xml_name("dnsSupport");
  181    181   
static TRANSITGATEWAYOPTIONS_MEMBER_SECURITY_GROUP_REFERENCING_SUPPORT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  182    182   
    ::aws_smithy_schema::ShapeId::from_static(
  183    183   
        "com.amazonaws.ec2#TransitGatewayOptions$SecurityGroupReferencingSupport",
  184    184   
        "com.amazonaws.ec2",
  185    185   
        "TransitGatewayOptions",
  186    186   
    ),
  187    187   
    ::aws_smithy_schema::ShapeType::String,
  188         -
    "security_group_referencing_support",
         188  +
    "SecurityGroupReferencingSupport",
  189    189   
    9,
  190    190   
)
  191    191   
.with_xml_name("securityGroupReferencingSupport");
  192    192   
static TRANSITGATEWAYOPTIONS_MEMBER_MULTICAST_SUPPORT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  193    193   
    ::aws_smithy_schema::ShapeId::from_static(
  194    194   
        "com.amazonaws.ec2#TransitGatewayOptions$MulticastSupport",
  195    195   
        "com.amazonaws.ec2",
  196    196   
        "TransitGatewayOptions",
  197    197   
    ),
  198    198   
    ::aws_smithy_schema::ShapeType::String,
  199         -
    "multicast_support",
         199  +
    "MulticastSupport",
  200    200   
    10,
  201    201   
)
  202    202   
.with_xml_name("multicastSupport");
  203    203   
static TRANSITGATEWAYOPTIONS_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  204    204   
    TRANSITGATEWAYOPTIONS_SCHEMA_ID,
  205    205   
    ::aws_smithy_schema::ShapeType::Structure,
  206    206   
    &[
  207    207   
        &TRANSITGATEWAYOPTIONS_MEMBER_AMAZON_SIDE_ASN,
  208    208   
        &TRANSITGATEWAYOPTIONS_MEMBER_TRANSIT_GATEWAY_CIDR_BLOCKS,
  209    209   
        &TRANSITGATEWAYOPTIONS_MEMBER_AUTO_ACCEPT_SHARED_ATTACHMENTS,
@@ -246,246 +374,375 @@
  266    266   
            ser.write_string(&TRANSITGATEWAYOPTIONS_MEMBER_SECURITY_GROUP_REFERENCING_SUPPORT, val.as_str())?;
  267    267   
        }
  268    268   
        if let Some(ref val) = self.multicast_support {
  269    269   
            ser.write_string(&TRANSITGATEWAYOPTIONS_MEMBER_MULTICAST_SUPPORT, val.as_str())?;
  270    270   
        }
  271    271   
        Ok(())
  272    272   
    }
  273    273   
}
  274    274   
impl TransitGatewayOptions {
  275    275   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  276         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  277         -
        deserializer: &mut D,
         276  +
    pub fn deserialize(
         277  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  278    278   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  279    279   
        #[allow(unused_variables, unused_mut)]
  280    280   
        let mut builder = Self::builder();
  281    281   
        #[allow(
  282    282   
            unused_variables,
  283    283   
            unreachable_code,
  284    284   
            clippy::single_match,
  285    285   
            clippy::match_single_binding,
  286    286   
            clippy::diverging_sub_expression
  287    287   
        )]
  288         -
        deserializer.read_struct(&TRANSITGATEWAYOPTIONS_SCHEMA, (), |_, member, deser| {
         288  +
        deserializer.read_struct(&TRANSITGATEWAYOPTIONS_SCHEMA, &mut |member, deser| {
  289    289   
            match member.member_index() {
  290    290   
                Some(0) => {
  291    291   
                    builder.amazon_side_asn = Some(deser.read_long(member)?);
  292    292   
                }
  293    293   
                Some(1) => {
  294         -
                    builder.transit_gateway_cidr_blocks = Some({
  295         -
                        let container = if let Some(cap) = deser.container_size() {
  296         -
                            Vec::with_capacity(cap)
  297         -
                        } else {
  298         -
                            Vec::new()
  299         -
                        };
  300         -
                        deser.read_list(member, container, |mut list, deser| {
  301         -
                            list.push(deser.read_string(member)?);
  302         -
                            Ok(list)
  303         -
                        })?
  304         -
                    });
         294  +
                    builder.transit_gateway_cidr_blocks = Some(deser.read_string_list(member)?);
  305    295   
                }
  306    296   
                Some(2) => {
  307    297   
                    builder.auto_accept_shared_attachments =
  308    298   
                        Some(crate::types::AutoAcceptSharedAttachmentsValue::from(deser.read_string(member)?.as_str()));
  309    299   
                }
  310    300   
                Some(3) => {
  311    301   
                    builder.default_route_table_association =
  312    302   
                        Some(crate::types::DefaultRouteTableAssociationValue::from(deser.read_string(member)?.as_str()));
  313    303   
                }
  314    304   
                Some(4) => {
  315    305   
                    builder.association_default_route_table_id = Some(deser.read_string(member)?);
  316    306   
                }
  317    307   
                Some(5) => {
  318    308   
                    builder.default_route_table_propagation =
  319    309   
                        Some(crate::types::DefaultRouteTablePropagationValue::from(deser.read_string(member)?.as_str()));
  320    310   
                }
  321    311   
                Some(6) => {
  322    312   
                    builder.propagation_default_route_table_id = Some(deser.read_string(member)?);
  323    313   
                }
  324    314   
                Some(7) => {
  325    315   
                    builder.vpn_ecmp_support = Some(crate::types::VpnEcmpSupportValue::from(deser.read_string(member)?.as_str()));
  326    316   
                }
  327    317   
                Some(8) => {
  328    318   
                    builder.dns_support = Some(crate::types::DnsSupportValue::from(deser.read_string(member)?.as_str()));
  329    319   
                }
  330    320   
                Some(9) => {
  331    321   
                    builder.security_group_referencing_support = Some(crate::types::SecurityGroupReferencingSupportValue::from(
  332    322   
                        deser.read_string(member)?.as_str(),
  333    323   
                    ));
  334    324   
                }
  335    325   
                Some(10) => {
  336    326   
                    builder.multicast_support = Some(crate::types::MulticastSupportValue::from(deser.read_string(member)?.as_str()));
  337    327   
                }
  338    328   
                _ => {}
  339    329   
            }
  340    330   
            Ok(())
  341    331   
        })?;
  342    332   
        Ok(builder.build())
  343    333   
    }
  344    334   
}
         335  +
impl TransitGatewayOptions {
         336  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         337  +
    pub fn deserialize_with_response(
         338  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         339  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         340  +
        _status: u16,
         341  +
        _body: &[u8],
         342  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         343  +
        Self::deserialize(deserializer)
         344  +
    }
         345  +
}
  345    346   
impl TransitGatewayOptions {
  346    347   
    /// Creates a new builder-style object to manufacture [`TransitGatewayOptions`](crate::types::TransitGatewayOptions).
  347    348   
    pub fn builder() -> crate::types::builders::TransitGatewayOptionsBuilder {
  348    349   
        crate::types::builders::TransitGatewayOptionsBuilder::default()
  349    350   
    }
  350    351   
}
  351    352   
  352    353   
/// A builder for [`TransitGatewayOptions`](crate::types::TransitGatewayOptions).
  353    354   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  354    355   
#[non_exhaustive]

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

@@ -48,48 +197,197 @@
   68     68   
    "com.amazonaws.ec2",
   69     69   
    "TransitGatewayPeeringAttachment",
   70     70   
);
   71     71   
static TRANSITGATEWAYPEERINGATTACHMENT_MEMBER_TRANSIT_GATEWAY_ATTACHMENT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   72     72   
    ::aws_smithy_schema::ShapeId::from_static(
   73     73   
        "com.amazonaws.ec2#TransitGatewayPeeringAttachment$TransitGatewayAttachmentId",
   74     74   
        "com.amazonaws.ec2",
   75     75   
        "TransitGatewayPeeringAttachment",
   76     76   
    ),
   77     77   
    ::aws_smithy_schema::ShapeType::String,
   78         -
    "transit_gateway_attachment_id",
          78  +
    "TransitGatewayAttachmentId",
   79     79   
    0,
   80     80   
)
   81     81   
.with_xml_name("transitGatewayAttachmentId");
   82     82   
static TRANSITGATEWAYPEERINGATTACHMENT_MEMBER_ACCEPTER_TRANSIT_GATEWAY_ATTACHMENT_ID: ::aws_smithy_schema::Schema =
   83     83   
    ::aws_smithy_schema::Schema::new_member(
   84     84   
        ::aws_smithy_schema::ShapeId::from_static(
   85     85   
            "com.amazonaws.ec2#TransitGatewayPeeringAttachment$AccepterTransitGatewayAttachmentId",
   86     86   
            "com.amazonaws.ec2",
   87     87   
            "TransitGatewayPeeringAttachment",
   88     88   
        ),
   89     89   
        ::aws_smithy_schema::ShapeType::String,
   90         -
        "accepter_transit_gateway_attachment_id",
          90  +
        "AccepterTransitGatewayAttachmentId",
   91     91   
        1,
   92     92   
    )
   93     93   
    .with_xml_name("accepterTransitGatewayAttachmentId");
   94     94   
static TRANSITGATEWAYPEERINGATTACHMENT_MEMBER_REQUESTER_TGW_INFO: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   95     95   
    ::aws_smithy_schema::ShapeId::from_static(
   96     96   
        "com.amazonaws.ec2#TransitGatewayPeeringAttachment$RequesterTgwInfo",
   97     97   
        "com.amazonaws.ec2",
   98     98   
        "TransitGatewayPeeringAttachment",
   99     99   
    ),
  100    100   
    ::aws_smithy_schema::ShapeType::Structure,
  101         -
    "requester_tgw_info",
         101  +
    "RequesterTgwInfo",
  102    102   
    2,
  103    103   
)
  104    104   
.with_xml_name("requesterTgwInfo");
  105    105   
static TRANSITGATEWAYPEERINGATTACHMENT_MEMBER_ACCEPTER_TGW_INFO: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  106    106   
    ::aws_smithy_schema::ShapeId::from_static(
  107    107   
        "com.amazonaws.ec2#TransitGatewayPeeringAttachment$AccepterTgwInfo",
  108    108   
        "com.amazonaws.ec2",
  109    109   
        "TransitGatewayPeeringAttachment",
  110    110   
    ),
  111    111   
    ::aws_smithy_schema::ShapeType::Structure,
  112         -
    "accepter_tgw_info",
         112  +
    "AccepterTgwInfo",
  113    113   
    3,
  114    114   
)
  115    115   
.with_xml_name("accepterTgwInfo");
  116    116   
static TRANSITGATEWAYPEERINGATTACHMENT_MEMBER_OPTIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  117    117   
    ::aws_smithy_schema::ShapeId::from_static(
  118    118   
        "com.amazonaws.ec2#TransitGatewayPeeringAttachment$Options",
  119    119   
        "com.amazonaws.ec2",
  120    120   
        "TransitGatewayPeeringAttachment",
  121    121   
    ),
  122    122   
    ::aws_smithy_schema::ShapeType::Structure,
  123         -
    "options",
         123  +
    "Options",
  124    124   
    4,
  125    125   
)
  126    126   
.with_xml_name("options");
  127    127   
static TRANSITGATEWAYPEERINGATTACHMENT_MEMBER_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  128    128   
    ::aws_smithy_schema::ShapeId::from_static(
  129    129   
        "com.amazonaws.ec2#TransitGatewayPeeringAttachment$Status",
  130    130   
        "com.amazonaws.ec2",
  131    131   
        "TransitGatewayPeeringAttachment",
  132    132   
    ),
  133    133   
    ::aws_smithy_schema::ShapeType::Structure,
  134         -
    "status",
         134  +
    "Status",
  135    135   
    5,
  136    136   
)
  137    137   
.with_xml_name("status");
  138    138   
static TRANSITGATEWAYPEERINGATTACHMENT_MEMBER_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  139    139   
    ::aws_smithy_schema::ShapeId::from_static(
  140    140   
        "com.amazonaws.ec2#TransitGatewayPeeringAttachment$State",
  141    141   
        "com.amazonaws.ec2",
  142    142   
        "TransitGatewayPeeringAttachment",
  143    143   
    ),
  144    144   
    ::aws_smithy_schema::ShapeType::String,
  145         -
    "state",
         145  +
    "State",
  146    146   
    6,
  147    147   
)
  148    148   
.with_xml_name("state");
  149    149   
static TRANSITGATEWAYPEERINGATTACHMENT_MEMBER_CREATION_TIME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  150    150   
    ::aws_smithy_schema::ShapeId::from_static(
  151    151   
        "com.amazonaws.ec2#TransitGatewayPeeringAttachment$CreationTime",
  152    152   
        "com.amazonaws.ec2",
  153    153   
        "TransitGatewayPeeringAttachment",
  154    154   
    ),
  155    155   
    ::aws_smithy_schema::ShapeType::Timestamp,
  156         -
    "creation_time",
         156  +
    "CreationTime",
  157    157   
    7,
  158    158   
)
  159    159   
.with_xml_name("creationTime");
  160    160   
static TRANSITGATEWAYPEERINGATTACHMENT_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  161    161   
    ::aws_smithy_schema::ShapeId::from_static(
  162    162   
        "com.amazonaws.ec2#TransitGatewayPeeringAttachment$Tags",
  163    163   
        "com.amazonaws.ec2",
  164    164   
        "TransitGatewayPeeringAttachment",
  165    165   
    ),
  166    166   
    ::aws_smithy_schema::ShapeType::List,
  167         -
    "tags",
         167  +
    "Tags",
  168    168   
    8,
  169    169   
)
  170    170   
.with_xml_name("tagSet");
  171    171   
static TRANSITGATEWAYPEERINGATTACHMENT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  172    172   
    TRANSITGATEWAYPEERINGATTACHMENT_SCHEMA_ID,
  173    173   
    ::aws_smithy_schema::ShapeType::Structure,
  174    174   
    &[
  175    175   
        &TRANSITGATEWAYPEERINGATTACHMENT_MEMBER_TRANSIT_GATEWAY_ATTACHMENT_ID,
  176    176   
        &TRANSITGATEWAYPEERINGATTACHMENT_MEMBER_ACCEPTER_TRANSIT_GATEWAY_ATTACHMENT_ID,
  177    177   
        &TRANSITGATEWAYPEERINGATTACHMENT_MEMBER_REQUESTER_TGW_INFO,
@@ -206,206 +323,331 @@
  226    226   
                    }
  227    227   
                    Ok(())
  228    228   
                },
  229    229   
            )?;
  230    230   
        }
  231    231   
        Ok(())
  232    232   
    }
  233    233   
}
  234    234   
impl TransitGatewayPeeringAttachment {
  235    235   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  236         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  237         -
        deserializer: &mut D,
         236  +
    pub fn deserialize(
         237  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  238    238   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  239    239   
        #[allow(unused_variables, unused_mut)]
  240    240   
        let mut builder = Self::builder();
  241    241   
        #[allow(
  242    242   
            unused_variables,
  243    243   
            unreachable_code,
  244    244   
            clippy::single_match,
  245    245   
            clippy::match_single_binding,
  246    246   
            clippy::diverging_sub_expression
  247    247   
        )]
  248         -
        deserializer.read_struct(&TRANSITGATEWAYPEERINGATTACHMENT_SCHEMA, (), |_, member, deser| {
         248  +
        deserializer.read_struct(&TRANSITGATEWAYPEERINGATTACHMENT_SCHEMA, &mut |member, deser| {
  249    249   
            match member.member_index() {
  250    250   
                Some(0) => {
  251    251   
                    builder.transit_gateway_attachment_id = Some(deser.read_string(member)?);
  252    252   
                }
  253    253   
                Some(1) => {
  254    254   
                    builder.accepter_transit_gateway_attachment_id = Some(deser.read_string(member)?);
  255    255   
                }
  256    256   
                Some(2) => {
  257    257   
                    builder.requester_tgw_info = Some(crate::types::PeeringTgwInfo::deserialize(deser)?);
  258    258   
                }
  259    259   
                Some(3) => {
  260    260   
                    builder.accepter_tgw_info = Some(crate::types::PeeringTgwInfo::deserialize(deser)?);
  261    261   
                }
  262    262   
                Some(4) => {
  263    263   
                    builder.options = Some(crate::types::TransitGatewayPeeringAttachmentOptions::deserialize(deser)?);
  264    264   
                }
  265    265   
                Some(5) => {
  266    266   
                    builder.status = Some(crate::types::PeeringAttachmentStatus::deserialize(deser)?);
  267    267   
                }
  268    268   
                Some(6) => {
  269    269   
                    builder.state = Some(crate::types::TransitGatewayAttachmentState::from(deser.read_string(member)?.as_str()));
  270    270   
                }
  271    271   
                Some(7) => {
  272    272   
                    builder.creation_time = Some(deser.read_timestamp(member)?);
  273    273   
                }
  274    274   
                Some(8) => {
  275    275   
                    builder.tags = Some({
  276         -
                        let container = if let Some(cap) = deser.container_size() {
  277         -
                            Vec::with_capacity(cap)
  278         -
                        } else {
  279         -
                            Vec::new()
  280         -
                        };
  281         -
                        deser.read_list(member, container, |mut list, deser| {
  282         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  283         -
                            Ok(list)
  284         -
                        })?
         276  +
                        let mut container = Vec::new();
         277  +
                        deser.read_list(member, &mut |deser| {
         278  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         279  +
                            Ok(())
         280  +
                        })?;
         281  +
                        container
  285    282   
                    });
  286    283   
                }
  287    284   
                _ => {}
  288    285   
            }
  289    286   
            Ok(())
  290    287   
        })?;
  291    288   
        Ok(builder.build())
  292    289   
    }
  293    290   
}
         291  +
impl TransitGatewayPeeringAttachment {
         292  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         293  +
    pub fn deserialize_with_response(
         294  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         295  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         296  +
        _status: u16,
         297  +
        _body: &[u8],
         298  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         299  +
        Self::deserialize(deserializer)
         300  +
    }
         301  +
}
  294    302   
impl TransitGatewayPeeringAttachment {
  295    303   
    /// Creates a new builder-style object to manufacture [`TransitGatewayPeeringAttachment`](crate::types::TransitGatewayPeeringAttachment).
  296    304   
    pub fn builder() -> crate::types::builders::TransitGatewayPeeringAttachmentBuilder {
  297    305   
        crate::types::builders::TransitGatewayPeeringAttachmentBuilder::default()
  298    306   
    }
  299    307   
}
  300    308   
  301    309   
/// A builder for [`TransitGatewayPeeringAttachment`](crate::types::TransitGatewayPeeringAttachment).
  302    310   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  303    311   
#[non_exhaustive]

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

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

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

@@ -28,28 +230,241 @@
   48     48   
    "com.amazonaws.ec2",
   49     49   
    "TransitGatewayPolicyRule",
   50     50   
);
   51     51   
static TRANSITGATEWAYPOLICYRULE_MEMBER_SOURCE_CIDR_BLOCK: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   52     52   
    ::aws_smithy_schema::ShapeId::from_static(
   53     53   
        "com.amazonaws.ec2#TransitGatewayPolicyRule$SourceCidrBlock",
   54     54   
        "com.amazonaws.ec2",
   55     55   
        "TransitGatewayPolicyRule",
   56     56   
    ),
   57     57   
    ::aws_smithy_schema::ShapeType::String,
   58         -
    "source_cidr_block",
          58  +
    "SourceCidrBlock",
   59     59   
    0,
   60     60   
)
   61     61   
.with_xml_name("sourceCidrBlock");
   62     62   
static TRANSITGATEWAYPOLICYRULE_MEMBER_SOURCE_PORT_RANGE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   63     63   
    ::aws_smithy_schema::ShapeId::from_static(
   64     64   
        "com.amazonaws.ec2#TransitGatewayPolicyRule$SourcePortRange",
   65     65   
        "com.amazonaws.ec2",
   66     66   
        "TransitGatewayPolicyRule",
   67     67   
    ),
   68     68   
    ::aws_smithy_schema::ShapeType::String,
   69         -
    "source_port_range",
          69  +
    "SourcePortRange",
   70     70   
    1,
   71     71   
)
   72     72   
.with_xml_name("sourcePortRange");
   73     73   
static TRANSITGATEWAYPOLICYRULE_MEMBER_DESTINATION_CIDR_BLOCK: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   74     74   
    ::aws_smithy_schema::ShapeId::from_static(
   75     75   
        "com.amazonaws.ec2#TransitGatewayPolicyRule$DestinationCidrBlock",
   76     76   
        "com.amazonaws.ec2",
   77     77   
        "TransitGatewayPolicyRule",
   78     78   
    ),
   79     79   
    ::aws_smithy_schema::ShapeType::String,
   80         -
    "destination_cidr_block",
          80  +
    "DestinationCidrBlock",
   81     81   
    2,
   82     82   
)
   83     83   
.with_xml_name("destinationCidrBlock");
   84     84   
static TRANSITGATEWAYPOLICYRULE_MEMBER_DESTINATION_PORT_RANGE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   85     85   
    ::aws_smithy_schema::ShapeId::from_static(
   86     86   
        "com.amazonaws.ec2#TransitGatewayPolicyRule$DestinationPortRange",
   87     87   
        "com.amazonaws.ec2",
   88     88   
        "TransitGatewayPolicyRule",
   89     89   
    ),
   90     90   
    ::aws_smithy_schema::ShapeType::String,
   91         -
    "destination_port_range",
          91  +
    "DestinationPortRange",
   92     92   
    3,
   93     93   
)
   94     94   
.with_xml_name("destinationPortRange");
   95     95   
static TRANSITGATEWAYPOLICYRULE_MEMBER_PROTOCOL: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   96     96   
    ::aws_smithy_schema::ShapeId::from_static(
   97     97   
        "com.amazonaws.ec2#TransitGatewayPolicyRule$Protocol",
   98     98   
        "com.amazonaws.ec2",
   99     99   
        "TransitGatewayPolicyRule",
  100    100   
    ),
  101    101   
    ::aws_smithy_schema::ShapeType::String,
  102         -
    "protocol",
         102  +
    "Protocol",
  103    103   
    4,
  104    104   
)
  105    105   
.with_xml_name("protocol");
  106    106   
static TRANSITGATEWAYPOLICYRULE_MEMBER_META_DATA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  107    107   
    ::aws_smithy_schema::ShapeId::from_static(
  108    108   
        "com.amazonaws.ec2#TransitGatewayPolicyRule$MetaData",
  109    109   
        "com.amazonaws.ec2",
  110    110   
        "TransitGatewayPolicyRule",
  111    111   
    ),
  112    112   
    ::aws_smithy_schema::ShapeType::Structure,
  113         -
    "meta_data",
         113  +
    "MetaData",
  114    114   
    5,
  115    115   
)
  116    116   
.with_xml_name("metaData");
  117    117   
static TRANSITGATEWAYPOLICYRULE_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  118    118   
    TRANSITGATEWAYPOLICYRULE_SCHEMA_ID,
  119    119   
    ::aws_smithy_schema::ShapeType::Structure,
  120    120   
    &[
  121    121   
        &TRANSITGATEWAYPOLICYRULE_MEMBER_SOURCE_CIDR_BLOCK,
  122    122   
        &TRANSITGATEWAYPOLICYRULE_MEMBER_SOURCE_PORT_RANGE,
  123    123   
        &TRANSITGATEWAYPOLICYRULE_MEMBER_DESTINATION_CIDR_BLOCK,
  124    124   
        &TRANSITGATEWAYPOLICYRULE_MEMBER_DESTINATION_PORT_RANGE,
  125    125   
        &TRANSITGATEWAYPOLICYRULE_MEMBER_PROTOCOL,
  126    126   
        &TRANSITGATEWAYPOLICYRULE_MEMBER_META_DATA,
  127    127   
    ],
  128    128   
);
  129    129   
impl TransitGatewayPolicyRule {
  130    130   
    /// The schema for this shape.
  131    131   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &TRANSITGATEWAYPOLICYRULE_SCHEMA;
  132    132   
}
  133    133   
impl ::aws_smithy_schema::serde::SerializableStruct for TransitGatewayPolicyRule {
  134    134   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  135    135   
    fn serialize_members(
  136    136   
        &self,
  137    137   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  138    138   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  139    139   
        if let Some(ref val) = self.source_cidr_block {
  140    140   
            ser.write_string(&TRANSITGATEWAYPOLICYRULE_MEMBER_SOURCE_CIDR_BLOCK, val)?;
  141    141   
        }
  142    142   
        if let Some(ref val) = self.source_port_range {
  143    143   
            ser.write_string(&TRANSITGATEWAYPOLICYRULE_MEMBER_SOURCE_PORT_RANGE, val)?;
  144    144   
        }
  145    145   
        if let Some(ref val) = self.destination_cidr_block {
  146    146   
            ser.write_string(&TRANSITGATEWAYPOLICYRULE_MEMBER_DESTINATION_CIDR_BLOCK, val)?;
  147    147   
        }
  148    148   
        if let Some(ref val) = self.destination_port_range {
  149    149   
            ser.write_string(&TRANSITGATEWAYPOLICYRULE_MEMBER_DESTINATION_PORT_RANGE, val)?;
  150    150   
        }
  151    151   
        if let Some(ref val) = self.protocol {
  152    152   
            ser.write_string(&TRANSITGATEWAYPOLICYRULE_MEMBER_PROTOCOL, val)?;
  153    153   
        }
  154    154   
        if let Some(ref val) = self.meta_data {
  155    155   
            ser.write_struct(&TRANSITGATEWAYPOLICYRULE_MEMBER_META_DATA, val)?;
  156    156   
        }
  157    157   
        Ok(())
  158    158   
    }
  159    159   
}
  160    160   
impl TransitGatewayPolicyRule {
  161    161   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  162         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  163         -
        deserializer: &mut D,
         162  +
    pub fn deserialize(
         163  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  164    164   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  165    165   
        #[allow(unused_variables, unused_mut)]
  166    166   
        let mut builder = Self::builder();
  167    167   
        #[allow(
  168    168   
            unused_variables,
  169    169   
            unreachable_code,
  170    170   
            clippy::single_match,
  171    171   
            clippy::match_single_binding,
  172    172   
            clippy::diverging_sub_expression
  173    173   
        )]
  174         -
        deserializer.read_struct(&TRANSITGATEWAYPOLICYRULE_SCHEMA, (), |_, member, deser| {
         174  +
        deserializer.read_struct(&TRANSITGATEWAYPOLICYRULE_SCHEMA, &mut |member, deser| {
  175    175   
            match member.member_index() {
  176    176   
                Some(0) => {
  177    177   
                    builder.source_cidr_block = Some(deser.read_string(member)?);
  178    178   
                }
  179    179   
                Some(1) => {
  180    180   
                    builder.source_port_range = Some(deser.read_string(member)?);
  181    181   
                }
  182    182   
                Some(2) => {
  183    183   
                    builder.destination_cidr_block = Some(deser.read_string(member)?);
  184    184   
                }
  185    185   
                Some(3) => {
  186    186   
                    builder.destination_port_range = Some(deser.read_string(member)?);
  187    187   
                }
  188    188   
                Some(4) => {
  189    189   
                    builder.protocol = Some(deser.read_string(member)?);
  190    190   
                }
  191    191   
                Some(5) => {
  192    192   
                    builder.meta_data = Some(crate::types::TransitGatewayPolicyRuleMetaData::deserialize(deser)?);
  193    193   
                }
  194    194   
                _ => {}
  195    195   
            }
  196    196   
            Ok(())
  197    197   
        })?;
  198    198   
        Ok(builder.build())
  199    199   
    }
  200    200   
}
         201  +
impl TransitGatewayPolicyRule {
         202  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         203  +
    pub fn deserialize_with_response(
         204  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         205  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         206  +
        _status: u16,
         207  +
        _body: &[u8],
         208  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         209  +
        Self::deserialize(deserializer)
         210  +
    }
         211  +
}
  201    212   
impl TransitGatewayPolicyRule {
  202    213   
    /// Creates a new builder-style object to manufacture [`TransitGatewayPolicyRule`](crate::types::TransitGatewayPolicyRule).
  203    214   
    pub fn builder() -> crate::types::builders::TransitGatewayPolicyRuleBuilder {
  204    215   
        crate::types::builders::TransitGatewayPolicyRuleBuilder::default()
  205    216   
    }
  206    217   
}
  207    218   
  208    219   
/// A builder for [`TransitGatewayPolicyRule`](crate::types::TransitGatewayPolicyRule).
  209    220   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  210    221   
#[non_exhaustive]

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

@@ -4,4 +134,145 @@
   24     24   
    "com.amazonaws.ec2",
   25     25   
    "TransitGatewayPolicyRuleMetaData",
   26     26   
);
   27     27   
static TRANSITGATEWAYPOLICYRULEMETADATA_MEMBER_META_DATA_KEY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   28     28   
    ::aws_smithy_schema::ShapeId::from_static(
   29     29   
        "com.amazonaws.ec2#TransitGatewayPolicyRuleMetaData$MetaDataKey",
   30     30   
        "com.amazonaws.ec2",
   31     31   
        "TransitGatewayPolicyRuleMetaData",
   32     32   
    ),
   33     33   
    ::aws_smithy_schema::ShapeType::String,
   34         -
    "meta_data_key",
          34  +
    "MetaDataKey",
   35     35   
    0,
   36     36   
)
   37     37   
.with_xml_name("metaDataKey");
   38     38   
static TRANSITGATEWAYPOLICYRULEMETADATA_MEMBER_META_DATA_VALUE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   39     39   
    ::aws_smithy_schema::ShapeId::from_static(
   40     40   
        "com.amazonaws.ec2#TransitGatewayPolicyRuleMetaData$MetaDataValue",
   41     41   
        "com.amazonaws.ec2",
   42     42   
        "TransitGatewayPolicyRuleMetaData",
   43     43   
    ),
   44     44   
    ::aws_smithy_schema::ShapeType::String,
   45         -
    "meta_data_value",
          45  +
    "MetaDataValue",
   46     46   
    1,
   47     47   
)
   48     48   
.with_xml_name("metaDataValue");
   49     49   
static TRANSITGATEWAYPOLICYRULEMETADATA_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   50     50   
    TRANSITGATEWAYPOLICYRULEMETADATA_SCHEMA_ID,
   51     51   
    ::aws_smithy_schema::ShapeType::Structure,
   52     52   
    &[
   53     53   
        &TRANSITGATEWAYPOLICYRULEMETADATA_MEMBER_META_DATA_KEY,
   54     54   
        &TRANSITGATEWAYPOLICYRULEMETADATA_MEMBER_META_DATA_VALUE,
   55     55   
    ],
   56     56   
);
   57     57   
impl TransitGatewayPolicyRuleMetaData {
   58     58   
    /// The schema for this shape.
   59     59   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &TRANSITGATEWAYPOLICYRULEMETADATA_SCHEMA;
   60     60   
}
   61     61   
impl ::aws_smithy_schema::serde::SerializableStruct for TransitGatewayPolicyRuleMetaData {
   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.meta_data_key {
   68     68   
            ser.write_string(&TRANSITGATEWAYPOLICYRULEMETADATA_MEMBER_META_DATA_KEY, val)?;
   69     69   
        }
   70     70   
        if let Some(ref val) = self.meta_data_value {
   71     71   
            ser.write_string(&TRANSITGATEWAYPOLICYRULEMETADATA_MEMBER_META_DATA_VALUE, val)?;
   72     72   
        }
   73     73   
        Ok(())
   74     74   
    }
   75     75   
}
   76     76   
impl TransitGatewayPolicyRuleMetaData {
   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(&TRANSITGATEWAYPOLICYRULEMETADATA_SCHEMA, (), |_, member, deser| {
          90  +
        deserializer.read_struct(&TRANSITGATEWAYPOLICYRULEMETADATA_SCHEMA, &mut |member, deser| {
   91     91   
            match member.member_index() {
   92     92   
                Some(0) => {
   93     93   
                    builder.meta_data_key = Some(deser.read_string(member)?);
   94     94   
                }
   95     95   
                Some(1) => {
   96     96   
                    builder.meta_data_value = Some(deser.read_string(member)?);
   97     97   
                }
   98     98   
                _ => {}
   99     99   
            }
  100    100   
            Ok(())
  101    101   
        })?;
  102    102   
        Ok(builder.build())
  103    103   
    }
  104    104   
}
         105  +
impl TransitGatewayPolicyRuleMetaData {
         106  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         107  +
    pub fn deserialize_with_response(
         108  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         109  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         110  +
        _status: u16,
         111  +
        _body: &[u8],
         112  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         113  +
        Self::deserialize(deserializer)
         114  +
    }
         115  +
}
  105    116   
impl TransitGatewayPolicyRuleMetaData {
  106    117   
    /// Creates a new builder-style object to manufacture [`TransitGatewayPolicyRuleMetaData`](crate::types::TransitGatewayPolicyRuleMetaData).
  107    118   
    pub fn builder() -> crate::types::builders::TransitGatewayPolicyRuleMetaDataBuilder {
  108    119   
        crate::types::builders::TransitGatewayPolicyRuleMetaDataBuilder::default()
  109    120   
    }
  110    121   
}
  111    122   
  112    123   
/// A builder for [`TransitGatewayPolicyRuleMetaData`](crate::types::TransitGatewayPolicyRuleMetaData).
  113    124   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  114    125   
#[non_exhaustive]

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

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