AWS SDK

AWS SDK

rev. 96f5a1b4ad139d2f1ad1e8e40f300e1cd1ff574c (ignoring whitespace)

Files changed:

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

@@ -36,36 +163,174 @@
   56     56   
    "com.amazonaws.ec2",
   57     57   
    "IpamDiscoveryFailureReason",
   58     58   
);
   59     59   
static IPAMDISCOVERYFAILUREREASON_MEMBER_CODE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   60     60   
    ::aws_smithy_schema::ShapeId::from_static(
   61     61   
        "com.amazonaws.ec2#IpamDiscoveryFailureReason$Code",
   62     62   
        "com.amazonaws.ec2",
   63     63   
        "IpamDiscoveryFailureReason",
   64     64   
    ),
   65     65   
    ::aws_smithy_schema::ShapeType::String,
   66         -
    "code",
          66  +
    "Code",
   67     67   
    0,
   68     68   
)
   69     69   
.with_xml_name("code");
   70     70   
static IPAMDISCOVERYFAILUREREASON_MEMBER_MESSAGE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   71     71   
    ::aws_smithy_schema::ShapeId::from_static(
   72     72   
        "com.amazonaws.ec2#IpamDiscoveryFailureReason$Message",
   73     73   
        "com.amazonaws.ec2",
   74     74   
        "IpamDiscoveryFailureReason",
   75     75   
    ),
   76     76   
    ::aws_smithy_schema::ShapeType::String,
   77         -
    "message",
          77  +
    "Message",
   78     78   
    1,
   79     79   
)
   80     80   
.with_xml_name("message");
   81     81   
static IPAMDISCOVERYFAILUREREASON_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   82     82   
    IPAMDISCOVERYFAILUREREASON_SCHEMA_ID,
   83     83   
    ::aws_smithy_schema::ShapeType::Structure,
   84     84   
    &[&IPAMDISCOVERYFAILUREREASON_MEMBER_CODE, &IPAMDISCOVERYFAILUREREASON_MEMBER_MESSAGE],
   85     85   
);
   86     86   
impl IpamDiscoveryFailureReason {
   87     87   
    /// The schema for this shape.
   88     88   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &IPAMDISCOVERYFAILUREREASON_SCHEMA;
   89     89   
}
   90     90   
impl ::aws_smithy_schema::serde::SerializableStruct for IpamDiscoveryFailureReason {
   91     91   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   92     92   
    fn serialize_members(
   93     93   
        &self,
   94     94   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   95     95   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   96     96   
        if let Some(ref val) = self.code {
   97     97   
            ser.write_string(&IPAMDISCOVERYFAILUREREASON_MEMBER_CODE, val.as_str())?;
   98     98   
        }
   99     99   
        if let Some(ref val) = self.message {
  100    100   
            ser.write_string(&IPAMDISCOVERYFAILUREREASON_MEMBER_MESSAGE, val)?;
  101    101   
        }
  102    102   
        Ok(())
  103    103   
    }
  104    104   
}
  105    105   
impl IpamDiscoveryFailureReason {
  106    106   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  107         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  108         -
        deserializer: &mut D,
         107  +
    pub fn deserialize(
         108  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  109    109   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  110    110   
        #[allow(unused_variables, unused_mut)]
  111    111   
        let mut builder = Self::builder();
  112    112   
        #[allow(
  113    113   
            unused_variables,
  114    114   
            unreachable_code,
  115    115   
            clippy::single_match,
  116    116   
            clippy::match_single_binding,
  117    117   
            clippy::diverging_sub_expression
  118    118   
        )]
  119         -
        deserializer.read_struct(&IPAMDISCOVERYFAILUREREASON_SCHEMA, (), |_, member, deser| {
         119  +
        deserializer.read_struct(&IPAMDISCOVERYFAILUREREASON_SCHEMA, &mut |member, deser| {
  120    120   
            match member.member_index() {
  121    121   
                Some(0) => {
  122    122   
                    builder.code = Some(crate::types::IpamDiscoveryFailureCode::from(deser.read_string(member)?.as_str()));
  123    123   
                }
  124    124   
                Some(1) => {
  125    125   
                    builder.message = Some(deser.read_string(member)?);
  126    126   
                }
  127    127   
                _ => {}
  128    128   
            }
  129    129   
            Ok(())
  130    130   
        })?;
  131    131   
        Ok(builder.build())
  132    132   
    }
  133    133   
}
         134  +
impl IpamDiscoveryFailureReason {
         135  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         136  +
    pub fn deserialize_with_response(
         137  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         138  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         139  +
        _status: u16,
         140  +
        _body: &[u8],
         141  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         142  +
        Self::deserialize(deserializer)
         143  +
    }
         144  +
}
  134    145   
impl IpamDiscoveryFailureReason {
  135    146   
    /// Creates a new builder-style object to manufacture [`IpamDiscoveryFailureReason`](crate::types::IpamDiscoveryFailureReason).
  136    147   
    pub fn builder() -> crate::types::builders::IpamDiscoveryFailureReasonBuilder {
  137    148   
        crate::types::builders::IpamDiscoveryFailureReasonBuilder::default()
  138    149   
    }
  139    150   
}
  140    151   
  141    152   
/// A builder for [`IpamDiscoveryFailureReason`](crate::types::IpamDiscoveryFailureReason).
  142    153   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  143    154   
#[non_exhaustive]

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

@@ -61,61 +232,232 @@
   81     81   
    "IpamExternalResourceVerificationToken",
   82     82   
);
   83     83   
static IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_MEMBER_IPAM_EXTERNAL_RESOURCE_VERIFICATION_TOKEN_ID: ::aws_smithy_schema::Schema =
   84     84   
    ::aws_smithy_schema::Schema::new_member(
   85     85   
        ::aws_smithy_schema::ShapeId::from_static(
   86     86   
            "com.amazonaws.ec2#IpamExternalResourceVerificationToken$IpamExternalResourceVerificationTokenId",
   87     87   
            "com.amazonaws.ec2",
   88     88   
            "IpamExternalResourceVerificationToken",
   89     89   
        ),
   90     90   
        ::aws_smithy_schema::ShapeType::String,
   91         -
        "ipam_external_resource_verification_token_id",
          91  +
        "IpamExternalResourceVerificationTokenId",
   92     92   
        0,
   93     93   
    )
   94     94   
    .with_xml_name("ipamExternalResourceVerificationTokenId");
   95     95   
static IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_MEMBER_IPAM_EXTERNAL_RESOURCE_VERIFICATION_TOKEN_ARN: ::aws_smithy_schema::Schema =
   96     96   
    ::aws_smithy_schema::Schema::new_member(
   97     97   
        ::aws_smithy_schema::ShapeId::from_static(
   98     98   
            "com.amazonaws.ec2#IpamExternalResourceVerificationToken$IpamExternalResourceVerificationTokenArn",
   99     99   
            "com.amazonaws.ec2",
  100    100   
            "IpamExternalResourceVerificationToken",
  101    101   
        ),
  102    102   
        ::aws_smithy_schema::ShapeType::String,
  103         -
        "ipam_external_resource_verification_token_arn",
         103  +
        "IpamExternalResourceVerificationTokenArn",
  104    104   
        1,
  105    105   
    )
  106    106   
    .with_xml_name("ipamExternalResourceVerificationTokenArn");
  107    107   
static IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_MEMBER_IPAM_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  108    108   
    ::aws_smithy_schema::ShapeId::from_static(
  109    109   
        "com.amazonaws.ec2#IpamExternalResourceVerificationToken$IpamId",
  110    110   
        "com.amazonaws.ec2",
  111    111   
        "IpamExternalResourceVerificationToken",
  112    112   
    ),
  113    113   
    ::aws_smithy_schema::ShapeType::String,
  114         -
    "ipam_id",
         114  +
    "IpamId",
  115    115   
    2,
  116    116   
)
  117    117   
.with_xml_name("ipamId");
  118    118   
static IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_MEMBER_IPAM_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  119    119   
    ::aws_smithy_schema::ShapeId::from_static(
  120    120   
        "com.amazonaws.ec2#IpamExternalResourceVerificationToken$IpamArn",
  121    121   
        "com.amazonaws.ec2",
  122    122   
        "IpamExternalResourceVerificationToken",
  123    123   
    ),
  124    124   
    ::aws_smithy_schema::ShapeType::String,
  125         -
    "ipam_arn",
         125  +
    "IpamArn",
  126    126   
    3,
  127    127   
)
  128    128   
.with_xml_name("ipamArn");
  129    129   
static IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_MEMBER_IPAM_REGION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  130    130   
    ::aws_smithy_schema::ShapeId::from_static(
  131    131   
        "com.amazonaws.ec2#IpamExternalResourceVerificationToken$IpamRegion",
  132    132   
        "com.amazonaws.ec2",
  133    133   
        "IpamExternalResourceVerificationToken",
  134    134   
    ),
  135    135   
    ::aws_smithy_schema::ShapeType::String,
  136         -
    "ipam_region",
         136  +
    "IpamRegion",
  137    137   
    4,
  138    138   
)
  139    139   
.with_xml_name("ipamRegion");
  140    140   
static IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_MEMBER_TOKEN_VALUE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  141    141   
    ::aws_smithy_schema::ShapeId::from_static(
  142    142   
        "com.amazonaws.ec2#IpamExternalResourceVerificationToken$TokenValue",
  143    143   
        "com.amazonaws.ec2",
  144    144   
        "IpamExternalResourceVerificationToken",
  145    145   
    ),
  146    146   
    ::aws_smithy_schema::ShapeType::String,
  147         -
    "token_value",
         147  +
    "TokenValue",
  148    148   
    5,
  149    149   
)
  150    150   
.with_xml_name("tokenValue");
  151    151   
static IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_MEMBER_TOKEN_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  152    152   
    ::aws_smithy_schema::ShapeId::from_static(
  153    153   
        "com.amazonaws.ec2#IpamExternalResourceVerificationToken$TokenName",
  154    154   
        "com.amazonaws.ec2",
  155    155   
        "IpamExternalResourceVerificationToken",
  156    156   
    ),
  157    157   
    ::aws_smithy_schema::ShapeType::String,
  158         -
    "token_name",
         158  +
    "TokenName",
  159    159   
    6,
  160    160   
)
  161    161   
.with_xml_name("tokenName");
  162    162   
static IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_MEMBER_NOT_AFTER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  163    163   
    ::aws_smithy_schema::ShapeId::from_static(
  164    164   
        "com.amazonaws.ec2#IpamExternalResourceVerificationToken$NotAfter",
  165    165   
        "com.amazonaws.ec2",
  166    166   
        "IpamExternalResourceVerificationToken",
  167    167   
    ),
  168    168   
    ::aws_smithy_schema::ShapeType::Timestamp,
  169         -
    "not_after",
         169  +
    "NotAfter",
  170    170   
    7,
  171    171   
)
  172    172   
.with_xml_name("notAfter");
  173    173   
static IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_MEMBER_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  174    174   
    ::aws_smithy_schema::ShapeId::from_static(
  175    175   
        "com.amazonaws.ec2#IpamExternalResourceVerificationToken$Status",
  176    176   
        "com.amazonaws.ec2",
  177    177   
        "IpamExternalResourceVerificationToken",
  178    178   
    ),
  179    179   
    ::aws_smithy_schema::ShapeType::String,
  180         -
    "status",
         180  +
    "Status",
  181    181   
    8,
  182    182   
)
  183    183   
.with_xml_name("status");
  184    184   
static IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  185    185   
    ::aws_smithy_schema::ShapeId::from_static(
  186    186   
        "com.amazonaws.ec2#IpamExternalResourceVerificationToken$Tags",
  187    187   
        "com.amazonaws.ec2",
  188    188   
        "IpamExternalResourceVerificationToken",
  189    189   
    ),
  190    190   
    ::aws_smithy_schema::ShapeType::List,
  191         -
    "tags",
         191  +
    "Tags",
  192    192   
    9,
  193    193   
)
  194    194   
.with_xml_name("tagSet");
  195    195   
static IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_MEMBER_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  196    196   
    ::aws_smithy_schema::ShapeId::from_static(
  197    197   
        "com.amazonaws.ec2#IpamExternalResourceVerificationToken$State",
  198    198   
        "com.amazonaws.ec2",
  199    199   
        "IpamExternalResourceVerificationToken",
  200    200   
    ),
  201    201   
    ::aws_smithy_schema::ShapeType::String,
  202         -
    "state",
         202  +
    "State",
  203    203   
    10,
  204    204   
)
  205    205   
.with_xml_name("state");
  206    206   
static IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  207    207   
    IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_SCHEMA_ID,
  208    208   
    ::aws_smithy_schema::ShapeType::Structure,
  209    209   
    &[
  210    210   
        &IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_MEMBER_IPAM_EXTERNAL_RESOURCE_VERIFICATION_TOKEN_ID,
  211    211   
        &IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_MEMBER_IPAM_EXTERNAL_RESOURCE_VERIFICATION_TOKEN_ARN,
  212    212   
        &IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_MEMBER_IPAM_ID,
@@ -255,255 +380,388 @@
  275    275   
            )?;
  276    276   
        }
  277    277   
        if let Some(ref val) = self.state {
  278    278   
            ser.write_string(&IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_MEMBER_STATE, val.as_str())?;
  279    279   
        }
  280    280   
        Ok(())
  281    281   
    }
  282    282   
}
  283    283   
impl IpamExternalResourceVerificationToken {
  284    284   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  285         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  286         -
        deserializer: &mut D,
         285  +
    pub fn deserialize(
         286  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  287    287   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  288    288   
        #[allow(unused_variables, unused_mut)]
  289    289   
        let mut builder = Self::builder();
  290    290   
        #[allow(
  291    291   
            unused_variables,
  292    292   
            unreachable_code,
  293    293   
            clippy::single_match,
  294    294   
            clippy::match_single_binding,
  295    295   
            clippy::diverging_sub_expression
  296    296   
        )]
  297         -
        deserializer.read_struct(&IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_SCHEMA, (), |_, member, deser| {
         297  +
        deserializer.read_struct(&IPAMEXTERNALRESOURCEVERIFICATIONTOKEN_SCHEMA, &mut |member, deser| {
  298    298   
            match member.member_index() {
  299    299   
                Some(0) => {
  300    300   
                    builder.ipam_external_resource_verification_token_id = Some(deser.read_string(member)?);
  301    301   
                }
  302    302   
                Some(1) => {
  303    303   
                    builder.ipam_external_resource_verification_token_arn = Some(deser.read_string(member)?);
  304    304   
                }
  305    305   
                Some(2) => {
  306    306   
                    builder.ipam_id = Some(deser.read_string(member)?);
  307    307   
                }
  308    308   
                Some(3) => {
  309    309   
                    builder.ipam_arn = Some(deser.read_string(member)?);
  310    310   
                }
  311    311   
                Some(4) => {
  312    312   
                    builder.ipam_region = Some(deser.read_string(member)?);
  313    313   
                }
  314    314   
                Some(5) => {
  315    315   
                    builder.token_value = Some(deser.read_string(member)?);
  316    316   
                }
  317    317   
                Some(6) => {
  318    318   
                    builder.token_name = Some(deser.read_string(member)?);
  319    319   
                }
  320    320   
                Some(7) => {
  321    321   
                    builder.not_after = Some(deser.read_timestamp(member)?);
  322    322   
                }
  323    323   
                Some(8) => {
  324    324   
                    builder.status = Some(crate::types::TokenState::from(deser.read_string(member)?.as_str()));
  325    325   
                }
  326    326   
                Some(9) => {
  327    327   
                    builder.tags = Some({
  328         -
                        let container = if let Some(cap) = deser.container_size() {
  329         -
                            Vec::with_capacity(cap)
  330         -
                        } else {
  331         -
                            Vec::new()
  332         -
                        };
  333         -
                        deser.read_list(member, container, |mut list, deser| {
  334         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  335         -
                            Ok(list)
  336         -
                        })?
         328  +
                        let mut container = Vec::new();
         329  +
                        deser.read_list(member, &mut |deser| {
         330  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         331  +
                            Ok(())
         332  +
                        })?;
         333  +
                        container
  337    334   
                    });
  338    335   
                }
  339    336   
                Some(10) => {
  340    337   
                    builder.state = Some(crate::types::IpamExternalResourceVerificationTokenState::from(
  341    338   
                        deser.read_string(member)?.as_str(),
  342    339   
                    ));
  343    340   
                }
  344    341   
                _ => {}
  345    342   
            }
  346    343   
            Ok(())
  347    344   
        })?;
  348    345   
        Ok(builder.build())
  349    346   
    }
  350    347   
}
         348  +
impl IpamExternalResourceVerificationToken {
         349  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         350  +
    pub fn deserialize_with_response(
         351  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         352  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         353  +
        _status: u16,
         354  +
        _body: &[u8],
         355  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         356  +
        Self::deserialize(deserializer)
         357  +
    }
         358  +
}
  351    359   
impl IpamExternalResourceVerificationToken {
  352    360   
    /// Creates a new builder-style object to manufacture [`IpamExternalResourceVerificationToken`](crate::types::IpamExternalResourceVerificationToken).
  353    361   
    pub fn builder() -> crate::types::builders::IpamExternalResourceVerificationTokenBuilder {
  354    362   
        crate::types::builders::IpamExternalResourceVerificationTokenBuilder::default()
  355    363   
    }
  356    364   
}
  357    365   
  358    366   
/// A builder for [`IpamExternalResourceVerificationToken`](crate::types::IpamExternalResourceVerificationToken).
  359    367   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  360    368   
#[non_exhaustive]

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

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

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

@@ -1,1 +108,119 @@
   18     18   
    "com.amazonaws.ec2",
   19     19   
    "IpamOrganizationalUnitExclusion",
   20     20   
);
   21     21   
static IPAMORGANIZATIONALUNITEXCLUSION_MEMBER_ORGANIZATIONS_ENTITY_PATH: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   22     22   
    ::aws_smithy_schema::ShapeId::from_static(
   23     23   
        "com.amazonaws.ec2#IpamOrganizationalUnitExclusion$OrganizationsEntityPath",
   24     24   
        "com.amazonaws.ec2",
   25     25   
        "IpamOrganizationalUnitExclusion",
   26     26   
    ),
   27     27   
    ::aws_smithy_schema::ShapeType::String,
   28         -
    "organizations_entity_path",
          28  +
    "OrganizationsEntityPath",
   29     29   
    0,
   30     30   
)
   31     31   
.with_xml_name("organizationsEntityPath");
   32     32   
static IPAMORGANIZATIONALUNITEXCLUSION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   33     33   
    IPAMORGANIZATIONALUNITEXCLUSION_SCHEMA_ID,
   34     34   
    ::aws_smithy_schema::ShapeType::Structure,
   35     35   
    &[&IPAMORGANIZATIONALUNITEXCLUSION_MEMBER_ORGANIZATIONS_ENTITY_PATH],
   36     36   
);
   37     37   
impl IpamOrganizationalUnitExclusion {
   38     38   
    /// The schema for this shape.
   39     39   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &IPAMORGANIZATIONALUNITEXCLUSION_SCHEMA;
   40     40   
}
   41     41   
impl ::aws_smithy_schema::serde::SerializableStruct for IpamOrganizationalUnitExclusion {
   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.organizations_entity_path {
   48     48   
            ser.write_string(&IPAMORGANIZATIONALUNITEXCLUSION_MEMBER_ORGANIZATIONS_ENTITY_PATH, val)?;
   49     49   
        }
   50     50   
        Ok(())
   51     51   
    }
   52     52   
}
   53     53   
impl IpamOrganizationalUnitExclusion {
   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(&IPAMORGANIZATIONALUNITEXCLUSION_SCHEMA, (), |_, member, deser| {
          67  +
        deserializer.read_struct(&IPAMORGANIZATIONALUNITEXCLUSION_SCHEMA, &mut |member, deser| {
   68     68   
            match member.member_index() {
   69     69   
                Some(0) => {
   70     70   
                    builder.organizations_entity_path = Some(deser.read_string(member)?);
   71     71   
                }
   72     72   
                _ => {}
   73     73   
            }
   74     74   
            Ok(())
   75     75   
        })?;
   76     76   
        Ok(builder.build())
   77     77   
    }
   78     78   
}
          79  +
impl IpamOrganizationalUnitExclusion {
          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 IpamOrganizationalUnitExclusion {
   80     91   
    /// Creates a new builder-style object to manufacture [`IpamOrganizationalUnitExclusion`](crate::types::IpamOrganizationalUnitExclusion).
   81     92   
    pub fn builder() -> crate::types::builders::IpamOrganizationalUnitExclusionBuilder {
   82     93   
        crate::types::builders::IpamOrganizationalUnitExclusionBuilder::default()
   83     94   
    }
   84     95   
}
   85     96   
   86     97   
/// A builder for [`IpamOrganizationalUnitExclusion`](crate::types::IpamOrganizationalUnitExclusion).
   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/_ipam_pool.rs

@@ -151,151 +376,376 @@
  171    171   
    /// <p>The resource used to provision CIDRs to a resource planning pool.</p>
  172    172   
    pub fn source_resource(&self) -> ::std::option::Option<&crate::types::IpamPoolSourceResource> {
  173    173   
        self.source_resource.as_ref()
  174    174   
    }
  175    175   
}
  176    176   
static IPAMPOOL_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
  177    177   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool", "com.amazonaws.ec2", "IpamPool");
  178    178   
static IPAMPOOL_MEMBER_OWNER_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  179    179   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$OwnerId", "com.amazonaws.ec2", "IpamPool"),
  180    180   
    ::aws_smithy_schema::ShapeType::String,
  181         -
    "owner_id",
         181  +
    "OwnerId",
  182    182   
    0,
  183    183   
)
  184    184   
.with_xml_name("ownerId");
  185    185   
static IPAMPOOL_MEMBER_IPAM_POOL_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  186    186   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$IpamPoolId", "com.amazonaws.ec2", "IpamPool"),
  187    187   
    ::aws_smithy_schema::ShapeType::String,
  188         -
    "ipam_pool_id",
         188  +
    "IpamPoolId",
  189    189   
    1,
  190    190   
)
  191    191   
.with_xml_name("ipamPoolId");
  192    192   
static IPAMPOOL_MEMBER_SOURCE_IPAM_POOL_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  193    193   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$SourceIpamPoolId", "com.amazonaws.ec2", "IpamPool"),
  194    194   
    ::aws_smithy_schema::ShapeType::String,
  195         -
    "source_ipam_pool_id",
         195  +
    "SourceIpamPoolId",
  196    196   
    2,
  197    197   
)
  198    198   
.with_xml_name("sourceIpamPoolId");
  199    199   
static IPAMPOOL_MEMBER_IPAM_POOL_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  200    200   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$IpamPoolArn", "com.amazonaws.ec2", "IpamPool"),
  201    201   
    ::aws_smithy_schema::ShapeType::String,
  202         -
    "ipam_pool_arn",
         202  +
    "IpamPoolArn",
  203    203   
    3,
  204    204   
)
  205    205   
.with_xml_name("ipamPoolArn");
  206    206   
static IPAMPOOL_MEMBER_IPAM_SCOPE_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  207    207   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$IpamScopeArn", "com.amazonaws.ec2", "IpamPool"),
  208    208   
    ::aws_smithy_schema::ShapeType::String,
  209         -
    "ipam_scope_arn",
         209  +
    "IpamScopeArn",
  210    210   
    4,
  211    211   
)
  212    212   
.with_xml_name("ipamScopeArn");
  213    213   
static IPAMPOOL_MEMBER_IPAM_SCOPE_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  214    214   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$IpamScopeType", "com.amazonaws.ec2", "IpamPool"),
  215    215   
    ::aws_smithy_schema::ShapeType::String,
  216         -
    "ipam_scope_type",
         216  +
    "IpamScopeType",
  217    217   
    5,
  218    218   
)
  219    219   
.with_xml_name("ipamScopeType");
  220    220   
static IPAMPOOL_MEMBER_IPAM_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  221    221   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$IpamArn", "com.amazonaws.ec2", "IpamPool"),
  222    222   
    ::aws_smithy_schema::ShapeType::String,
  223         -
    "ipam_arn",
         223  +
    "IpamArn",
  224    224   
    6,
  225    225   
)
  226    226   
.with_xml_name("ipamArn");
  227    227   
static IPAMPOOL_MEMBER_IPAM_REGION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  228    228   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$IpamRegion", "com.amazonaws.ec2", "IpamPool"),
  229    229   
    ::aws_smithy_schema::ShapeType::String,
  230         -
    "ipam_region",
         230  +
    "IpamRegion",
  231    231   
    7,
  232    232   
)
  233    233   
.with_xml_name("ipamRegion");
  234    234   
static IPAMPOOL_MEMBER_LOCALE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  235    235   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$Locale", "com.amazonaws.ec2", "IpamPool"),
  236    236   
    ::aws_smithy_schema::ShapeType::String,
  237         -
    "locale",
         237  +
    "Locale",
  238    238   
    8,
  239    239   
)
  240    240   
.with_xml_name("locale");
  241    241   
static IPAMPOOL_MEMBER_POOL_DEPTH: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  242    242   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$PoolDepth", "com.amazonaws.ec2", "IpamPool"),
  243    243   
    ::aws_smithy_schema::ShapeType::Integer,
  244         -
    "pool_depth",
         244  +
    "PoolDepth",
  245    245   
    9,
  246    246   
)
  247    247   
.with_xml_name("poolDepth");
  248    248   
static IPAMPOOL_MEMBER_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  249    249   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$State", "com.amazonaws.ec2", "IpamPool"),
  250    250   
    ::aws_smithy_schema::ShapeType::String,
  251         -
    "state",
         251  +
    "State",
  252    252   
    10,
  253    253   
)
  254    254   
.with_xml_name("state");
  255    255   
static IPAMPOOL_MEMBER_STATE_MESSAGE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  256    256   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$StateMessage", "com.amazonaws.ec2", "IpamPool"),
  257    257   
    ::aws_smithy_schema::ShapeType::String,
  258         -
    "state_message",
         258  +
    "StateMessage",
  259    259   
    11,
  260    260   
)
  261    261   
.with_xml_name("stateMessage");
  262    262   
static IPAMPOOL_MEMBER_DESCRIPTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  263    263   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$Description", "com.amazonaws.ec2", "IpamPool"),
  264    264   
    ::aws_smithy_schema::ShapeType::String,
  265         -
    "description",
         265  +
    "Description",
  266    266   
    12,
  267    267   
)
  268    268   
.with_xml_name("description");
  269    269   
static IPAMPOOL_MEMBER_AUTO_IMPORT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  270    270   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$AutoImport", "com.amazonaws.ec2", "IpamPool"),
  271    271   
    ::aws_smithy_schema::ShapeType::Boolean,
  272         -
    "auto_import",
         272  +
    "AutoImport",
  273    273   
    13,
  274    274   
)
  275    275   
.with_xml_name("autoImport");
  276    276   
static IPAMPOOL_MEMBER_PUBLICLY_ADVERTISABLE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  277    277   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$PubliclyAdvertisable", "com.amazonaws.ec2", "IpamPool"),
  278    278   
    ::aws_smithy_schema::ShapeType::Boolean,
  279         -
    "publicly_advertisable",
         279  +
    "PubliclyAdvertisable",
  280    280   
    14,
  281    281   
)
  282    282   
.with_xml_name("publiclyAdvertisable");
  283    283   
static IPAMPOOL_MEMBER_ADDRESS_FAMILY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  284    284   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$AddressFamily", "com.amazonaws.ec2", "IpamPool"),
  285    285   
    ::aws_smithy_schema::ShapeType::String,
  286         -
    "address_family",
         286  +
    "AddressFamily",
  287    287   
    15,
  288    288   
)
  289    289   
.with_xml_name("addressFamily");
  290    290   
static IPAMPOOL_MEMBER_ALLOCATION_MIN_NETMASK_LENGTH: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  291    291   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$AllocationMinNetmaskLength", "com.amazonaws.ec2", "IpamPool"),
  292    292   
    ::aws_smithy_schema::ShapeType::Integer,
  293         -
    "allocation_min_netmask_length",
         293  +
    "AllocationMinNetmaskLength",
  294    294   
    16,
  295    295   
)
  296    296   
.with_xml_name("allocationMinNetmaskLength");
  297    297   
static IPAMPOOL_MEMBER_ALLOCATION_MAX_NETMASK_LENGTH: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  298    298   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$AllocationMaxNetmaskLength", "com.amazonaws.ec2", "IpamPool"),
  299    299   
    ::aws_smithy_schema::ShapeType::Integer,
  300         -
    "allocation_max_netmask_length",
         300  +
    "AllocationMaxNetmaskLength",
  301    301   
    17,
  302    302   
)
  303    303   
.with_xml_name("allocationMaxNetmaskLength");
  304    304   
static IPAMPOOL_MEMBER_ALLOCATION_DEFAULT_NETMASK_LENGTH: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  305    305   
    ::aws_smithy_schema::ShapeId::from_static(
  306    306   
        "com.amazonaws.ec2#IpamPool$AllocationDefaultNetmaskLength",
  307    307   
        "com.amazonaws.ec2",
  308    308   
        "IpamPool",
  309    309   
    ),
  310    310   
    ::aws_smithy_schema::ShapeType::Integer,
  311         -
    "allocation_default_netmask_length",
         311  +
    "AllocationDefaultNetmaskLength",
  312    312   
    18,
  313    313   
)
  314    314   
.with_xml_name("allocationDefaultNetmaskLength");
  315    315   
static IPAMPOOL_MEMBER_ALLOCATION_RESOURCE_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  316    316   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$AllocationResourceTags", "com.amazonaws.ec2", "IpamPool"),
  317    317   
    ::aws_smithy_schema::ShapeType::List,
  318         -
    "allocation_resource_tags",
         318  +
    "AllocationResourceTags",
  319    319   
    19,
  320    320   
)
  321    321   
.with_xml_name("allocationResourceTagSet");
  322    322   
static IPAMPOOL_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  323    323   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$Tags", "com.amazonaws.ec2", "IpamPool"),
  324    324   
    ::aws_smithy_schema::ShapeType::List,
  325         -
    "tags",
         325  +
    "Tags",
  326    326   
    20,
  327    327   
)
  328    328   
.with_xml_name("tagSet");
  329    329   
static IPAMPOOL_MEMBER_AWS_SERVICE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  330    330   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$AwsService", "com.amazonaws.ec2", "IpamPool"),
  331    331   
    ::aws_smithy_schema::ShapeType::String,
  332         -
    "aws_service",
         332  +
    "AwsService",
  333    333   
    21,
  334    334   
)
  335    335   
.with_xml_name("awsService");
  336    336   
static IPAMPOOL_MEMBER_PUBLIC_IP_SOURCE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  337    337   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$PublicIpSource", "com.amazonaws.ec2", "IpamPool"),
  338    338   
    ::aws_smithy_schema::ShapeType::String,
  339         -
    "public_ip_source",
         339  +
    "PublicIpSource",
  340    340   
    22,
  341    341   
)
  342    342   
.with_xml_name("publicIpSource");
  343    343   
static IPAMPOOL_MEMBER_SOURCE_RESOURCE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  344    344   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPool$SourceResource", "com.amazonaws.ec2", "IpamPool"),
  345    345   
    ::aws_smithy_schema::ShapeType::Structure,
  346         -
    "source_resource",
         346  +
    "SourceResource",
  347    347   
    23,
  348    348   
)
  349    349   
.with_xml_name("sourceResource");
  350    350   
static IPAMPOOL_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  351    351   
    IPAMPOOL_SCHEMA_ID,
  352    352   
    ::aws_smithy_schema::ShapeType::Structure,
  353    353   
    &[
  354    354   
        &IPAMPOOL_MEMBER_OWNER_ID,
  355    355   
        &IPAMPOOL_MEMBER_IPAM_POOL_ID,
  356    356   
        &IPAMPOOL_MEMBER_SOURCE_IPAM_POOL_ID,
@@ -450,450 +622,627 @@
  470    470   
            ser.write_string(&IPAMPOOL_MEMBER_PUBLIC_IP_SOURCE, val.as_str())?;
  471    471   
        }
  472    472   
        if let Some(ref val) = self.source_resource {
  473    473   
            ser.write_struct(&IPAMPOOL_MEMBER_SOURCE_RESOURCE, val)?;
  474    474   
        }
  475    475   
        Ok(())
  476    476   
    }
  477    477   
}
  478    478   
impl IpamPool {
  479    479   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  480         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  481         -
        deserializer: &mut D,
         480  +
    pub fn deserialize(
         481  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  482    482   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  483    483   
        #[allow(unused_variables, unused_mut)]
  484    484   
        let mut builder = Self::builder();
  485    485   
        #[allow(
  486    486   
            unused_variables,
  487    487   
            unreachable_code,
  488    488   
            clippy::single_match,
  489    489   
            clippy::match_single_binding,
  490    490   
            clippy::diverging_sub_expression
  491    491   
        )]
  492         -
        deserializer.read_struct(&IPAMPOOL_SCHEMA, (), |_, member, deser| {
         492  +
        deserializer.read_struct(&IPAMPOOL_SCHEMA, &mut |member, deser| {
  493    493   
            match member.member_index() {
  494    494   
                Some(0) => {
  495    495   
                    builder.owner_id = Some(deser.read_string(member)?);
  496    496   
                }
  497    497   
                Some(1) => {
  498    498   
                    builder.ipam_pool_id = Some(deser.read_string(member)?);
  499    499   
                }
  500    500   
                Some(2) => {
  501    501   
                    builder.source_ipam_pool_id = Some(deser.read_string(member)?);
  502    502   
                }
  503    503   
                Some(3) => {
  504    504   
                    builder.ipam_pool_arn = Some(deser.read_string(member)?);
  505    505   
                }
  506    506   
                Some(4) => {
  507    507   
                    builder.ipam_scope_arn = Some(deser.read_string(member)?);
  508    508   
                }
  509    509   
                Some(5) => {
  510    510   
                    builder.ipam_scope_type = Some(crate::types::IpamScopeType::from(deser.read_string(member)?.as_str()));
  511    511   
                }
  512    512   
                Some(6) => {
  513    513   
                    builder.ipam_arn = Some(deser.read_string(member)?);
  514    514   
                }
  515    515   
                Some(7) => {
  516    516   
                    builder.ipam_region = Some(deser.read_string(member)?);
  517    517   
                }
  518    518   
                Some(8) => {
  519    519   
                    builder.locale = Some(deser.read_string(member)?);
  520    520   
                }
  521    521   
                Some(9) => {
  522    522   
                    builder.pool_depth = Some(deser.read_integer(member)?);
  523    523   
                }
  524    524   
                Some(10) => {
  525    525   
                    builder.state = Some(crate::types::IpamPoolState::from(deser.read_string(member)?.as_str()));
  526    526   
                }
  527    527   
                Some(11) => {
  528    528   
                    builder.state_message = Some(deser.read_string(member)?);
  529    529   
                }
  530    530   
                Some(12) => {
  531    531   
                    builder.description = Some(deser.read_string(member)?);
  532    532   
                }
  533    533   
                Some(13) => {
  534    534   
                    builder.auto_import = Some(deser.read_boolean(member)?);
  535    535   
                }
  536    536   
                Some(14) => {
  537    537   
                    builder.publicly_advertisable = Some(deser.read_boolean(member)?);
  538    538   
                }
  539    539   
                Some(15) => {
  540    540   
                    builder.address_family = Some(crate::types::AddressFamily::from(deser.read_string(member)?.as_str()));
  541    541   
                }
  542    542   
                Some(16) => {
  543    543   
                    builder.allocation_min_netmask_length = Some(deser.read_integer(member)?);
  544    544   
                }
  545    545   
                Some(17) => {
  546    546   
                    builder.allocation_max_netmask_length = Some(deser.read_integer(member)?);
  547    547   
                }
  548    548   
                Some(18) => {
  549    549   
                    builder.allocation_default_netmask_length = Some(deser.read_integer(member)?);
  550    550   
                }
  551    551   
                Some(19) => {
  552    552   
                    builder.allocation_resource_tags = Some({
  553         -
                        let container = if let Some(cap) = deser.container_size() {
  554         -
                            Vec::with_capacity(cap)
  555         -
                        } else {
  556         -
                            Vec::new()
  557         -
                        };
  558         -
                        deser.read_list(member, container, |mut list, deser| {
  559         -
                            list.push(crate::types::IpamResourceTag::deserialize(deser)?);
  560         -
                            Ok(list)
  561         -
                        })?
         553  +
                        let mut container = Vec::new();
         554  +
                        deser.read_list(member, &mut |deser| {
         555  +
                            container.push(crate::types::IpamResourceTag::deserialize(deser)?);
         556  +
                            Ok(())
         557  +
                        })?;
         558  +
                        container
  562    559   
                    });
  563    560   
                }
  564    561   
                Some(20) => {
  565    562   
                    builder.tags = Some({
  566         -
                        let container = if let Some(cap) = deser.container_size() {
  567         -
                            Vec::with_capacity(cap)
  568         -
                        } else {
  569         -
                            Vec::new()
  570         -
                        };
  571         -
                        deser.read_list(member, container, |mut list, deser| {
  572         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  573         -
                            Ok(list)
  574         -
                        })?
         563  +
                        let mut container = Vec::new();
         564  +
                        deser.read_list(member, &mut |deser| {
         565  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         566  +
                            Ok(())
         567  +
                        })?;
         568  +
                        container
  575    569   
                    });
  576    570   
                }
  577    571   
                Some(21) => {
  578    572   
                    builder.aws_service = Some(crate::types::IpamPoolAwsService::from(deser.read_string(member)?.as_str()));
  579    573   
                }
  580    574   
                Some(22) => {
  581    575   
                    builder.public_ip_source = Some(crate::types::IpamPoolPublicIpSource::from(deser.read_string(member)?.as_str()));
  582    576   
                }
  583    577   
                Some(23) => {
  584    578   
                    builder.source_resource = Some(crate::types::IpamPoolSourceResource::deserialize(deser)?);
  585    579   
                }
  586    580   
                _ => {}
  587    581   
            }
  588    582   
            Ok(())
  589    583   
        })?;
  590    584   
        Ok(builder.build())
  591    585   
    }
  592    586   
}
         587  +
impl IpamPool {
         588  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         589  +
    pub fn deserialize_with_response(
         590  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         591  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         592  +
        _status: u16,
         593  +
        _body: &[u8],
         594  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         595  +
        Self::deserialize(deserializer)
         596  +
    }
         597  +
}
  593    598   
impl IpamPool {
  594    599   
    /// Creates a new builder-style object to manufacture [`IpamPool`](crate::types::IpamPool).
  595    600   
    pub fn builder() -> crate::types::builders::IpamPoolBuilder {
  596    601   
        crate::types::builders::IpamPoolBuilder::default()
  597    602   
    }
  598    603   
}
  599    604   
  600    605   
/// A builder for [`IpamPool`](crate::types::IpamPool).
  601    606   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  602    607   
#[non_exhaustive]

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

@@ -27,27 +247,258 @@
   47     47   
    /// <p>The owner of the resource.</p>
   48     48   
    pub fn resource_owner(&self) -> ::std::option::Option<&str> {
   49     49   
        self.resource_owner.as_deref()
   50     50   
    }
   51     51   
}
   52     52   
static IPAMPOOLALLOCATION_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   53     53   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPoolAllocation", "com.amazonaws.ec2", "IpamPoolAllocation");
   54     54   
static IPAMPOOLALLOCATION_MEMBER_CIDR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   55     55   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPoolAllocation$Cidr", "com.amazonaws.ec2", "IpamPoolAllocation"),
   56     56   
    ::aws_smithy_schema::ShapeType::String,
   57         -
    "cidr",
          57  +
    "Cidr",
   58     58   
    0,
   59     59   
)
   60     60   
.with_xml_name("cidr");
   61     61   
static IPAMPOOLALLOCATION_MEMBER_IPAM_POOL_ALLOCATION_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   62     62   
    ::aws_smithy_schema::ShapeId::from_static(
   63     63   
        "com.amazonaws.ec2#IpamPoolAllocation$IpamPoolAllocationId",
   64     64   
        "com.amazonaws.ec2",
   65     65   
        "IpamPoolAllocation",
   66     66   
    ),
   67     67   
    ::aws_smithy_schema::ShapeType::String,
   68         -
    "ipam_pool_allocation_id",
          68  +
    "IpamPoolAllocationId",
   69     69   
    1,
   70     70   
)
   71     71   
.with_xml_name("ipamPoolAllocationId");
   72     72   
static IPAMPOOLALLOCATION_MEMBER_DESCRIPTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   73     73   
    ::aws_smithy_schema::ShapeId::from_static(
   74     74   
        "com.amazonaws.ec2#IpamPoolAllocation$Description",
   75     75   
        "com.amazonaws.ec2",
   76     76   
        "IpamPoolAllocation",
   77     77   
    ),
   78     78   
    ::aws_smithy_schema::ShapeType::String,
   79         -
    "description",
          79  +
    "Description",
   80     80   
    2,
   81     81   
)
   82     82   
.with_xml_name("description");
   83     83   
static IPAMPOOLALLOCATION_MEMBER_RESOURCE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   84     84   
    ::aws_smithy_schema::ShapeId::from_static(
   85     85   
        "com.amazonaws.ec2#IpamPoolAllocation$ResourceId",
   86     86   
        "com.amazonaws.ec2",
   87     87   
        "IpamPoolAllocation",
   88     88   
    ),
   89     89   
    ::aws_smithy_schema::ShapeType::String,
   90         -
    "resource_id",
          90  +
    "ResourceId",
   91     91   
    3,
   92     92   
)
   93     93   
.with_xml_name("resourceId");
   94     94   
static IPAMPOOLALLOCATION_MEMBER_RESOURCE_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   95     95   
    ::aws_smithy_schema::ShapeId::from_static(
   96     96   
        "com.amazonaws.ec2#IpamPoolAllocation$ResourceType",
   97     97   
        "com.amazonaws.ec2",
   98     98   
        "IpamPoolAllocation",
   99     99   
    ),
  100    100   
    ::aws_smithy_schema::ShapeType::String,
  101         -
    "resource_type",
         101  +
    "ResourceType",
  102    102   
    4,
  103    103   
)
  104    104   
.with_xml_name("resourceType");
  105    105   
static IPAMPOOLALLOCATION_MEMBER_RESOURCE_REGION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  106    106   
    ::aws_smithy_schema::ShapeId::from_static(
  107    107   
        "com.amazonaws.ec2#IpamPoolAllocation$ResourceRegion",
  108    108   
        "com.amazonaws.ec2",
  109    109   
        "IpamPoolAllocation",
  110    110   
    ),
  111    111   
    ::aws_smithy_schema::ShapeType::String,
  112         -
    "resource_region",
         112  +
    "ResourceRegion",
  113    113   
    5,
  114    114   
)
  115    115   
.with_xml_name("resourceRegion");
  116    116   
static IPAMPOOLALLOCATION_MEMBER_RESOURCE_OWNER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  117    117   
    ::aws_smithy_schema::ShapeId::from_static(
  118    118   
        "com.amazonaws.ec2#IpamPoolAllocation$ResourceOwner",
  119    119   
        "com.amazonaws.ec2",
  120    120   
        "IpamPoolAllocation",
  121    121   
    ),
  122    122   
    ::aws_smithy_schema::ShapeType::String,
  123         -
    "resource_owner",
         123  +
    "ResourceOwner",
  124    124   
    6,
  125    125   
)
  126    126   
.with_xml_name("resourceOwner");
  127    127   
static IPAMPOOLALLOCATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  128    128   
    IPAMPOOLALLOCATION_SCHEMA_ID,
  129    129   
    ::aws_smithy_schema::ShapeType::Structure,
  130    130   
    &[
  131    131   
        &IPAMPOOLALLOCATION_MEMBER_CIDR,
  132    132   
        &IPAMPOOLALLOCATION_MEMBER_IPAM_POOL_ALLOCATION_ID,
  133    133   
        &IPAMPOOLALLOCATION_MEMBER_DESCRIPTION,
  134    134   
        &IPAMPOOLALLOCATION_MEMBER_RESOURCE_ID,
  135    135   
        &IPAMPOOLALLOCATION_MEMBER_RESOURCE_TYPE,
  136    136   
        &IPAMPOOLALLOCATION_MEMBER_RESOURCE_REGION,
  137    137   
        &IPAMPOOLALLOCATION_MEMBER_RESOURCE_OWNER,
  138    138   
    ],
  139    139   
);
  140    140   
impl IpamPoolAllocation {
  141    141   
    /// The schema for this shape.
  142    142   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &IPAMPOOLALLOCATION_SCHEMA;
  143    143   
}
  144    144   
impl ::aws_smithy_schema::serde::SerializableStruct for IpamPoolAllocation {
  145    145   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  146    146   
    fn serialize_members(
  147    147   
        &self,
  148    148   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  149    149   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  150    150   
        if let Some(ref val) = self.cidr {
  151    151   
            ser.write_string(&IPAMPOOLALLOCATION_MEMBER_CIDR, val)?;
  152    152   
        }
  153    153   
        if let Some(ref val) = self.ipam_pool_allocation_id {
  154    154   
            ser.write_string(&IPAMPOOLALLOCATION_MEMBER_IPAM_POOL_ALLOCATION_ID, val)?;
  155    155   
        }
  156    156   
        if let Some(ref val) = self.description {
  157    157   
            ser.write_string(&IPAMPOOLALLOCATION_MEMBER_DESCRIPTION, val)?;
  158    158   
        }
  159    159   
        if let Some(ref val) = self.resource_id {
  160    160   
            ser.write_string(&IPAMPOOLALLOCATION_MEMBER_RESOURCE_ID, val)?;
  161    161   
        }
  162    162   
        if let Some(ref val) = self.resource_type {
  163    163   
            ser.write_string(&IPAMPOOLALLOCATION_MEMBER_RESOURCE_TYPE, val.as_str())?;
  164    164   
        }
  165    165   
        if let Some(ref val) = self.resource_region {
  166    166   
            ser.write_string(&IPAMPOOLALLOCATION_MEMBER_RESOURCE_REGION, val)?;
  167    167   
        }
  168    168   
        if let Some(ref val) = self.resource_owner {
  169    169   
            ser.write_string(&IPAMPOOLALLOCATION_MEMBER_RESOURCE_OWNER, val)?;
  170    170   
        }
  171    171   
        Ok(())
  172    172   
    }
  173    173   
}
  174    174   
impl IpamPoolAllocation {
  175    175   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  176         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  177         -
        deserializer: &mut D,
         176  +
    pub fn deserialize(
         177  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  178    178   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  179    179   
        #[allow(unused_variables, unused_mut)]
  180    180   
        let mut builder = Self::builder();
  181    181   
        #[allow(
  182    182   
            unused_variables,
  183    183   
            unreachable_code,
  184    184   
            clippy::single_match,
  185    185   
            clippy::match_single_binding,
  186    186   
            clippy::diverging_sub_expression
  187    187   
        )]
  188         -
        deserializer.read_struct(&IPAMPOOLALLOCATION_SCHEMA, (), |_, member, deser| {
         188  +
        deserializer.read_struct(&IPAMPOOLALLOCATION_SCHEMA, &mut |member, deser| {
  189    189   
            match member.member_index() {
  190    190   
                Some(0) => {
  191    191   
                    builder.cidr = Some(deser.read_string(member)?);
  192    192   
                }
  193    193   
                Some(1) => {
  194    194   
                    builder.ipam_pool_allocation_id = Some(deser.read_string(member)?);
  195    195   
                }
  196    196   
                Some(2) => {
  197    197   
                    builder.description = Some(deser.read_string(member)?);
  198    198   
                }
  199    199   
                Some(3) => {
  200    200   
                    builder.resource_id = Some(deser.read_string(member)?);
  201    201   
                }
  202    202   
                Some(4) => {
  203    203   
                    builder.resource_type = Some(crate::types::IpamPoolAllocationResourceType::from(deser.read_string(member)?.as_str()));
  204    204   
                }
  205    205   
                Some(5) => {
  206    206   
                    builder.resource_region = Some(deser.read_string(member)?);
  207    207   
                }
  208    208   
                Some(6) => {
  209    209   
                    builder.resource_owner = Some(deser.read_string(member)?);
  210    210   
                }
  211    211   
                _ => {}
  212    212   
            }
  213    213   
            Ok(())
  214    214   
        })?;
  215    215   
        Ok(builder.build())
  216    216   
    }
  217    217   
}
         218  +
impl IpamPoolAllocation {
         219  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         220  +
    pub fn deserialize_with_response(
         221  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         222  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         223  +
        _status: u16,
         224  +
        _body: &[u8],
         225  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         226  +
        Self::deserialize(deserializer)
         227  +
    }
         228  +
}
  218    229   
impl IpamPoolAllocation {
  219    230   
    /// Creates a new builder-style object to manufacture [`IpamPoolAllocation`](crate::types::IpamPoolAllocation).
  220    231   
    pub fn builder() -> crate::types::builders::IpamPoolAllocationBuilder {
  221    232   
        crate::types::builders::IpamPoolAllocationBuilder::default()
  222    233   
    }
  223    234   
}
  224    235   
  225    236   
/// A builder for [`IpamPoolAllocation`](crate::types::IpamPoolAllocation).
  226    237   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  227    238   
#[non_exhaustive]

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

@@ -15,15 +183,194 @@
   35     35   
    /// <p>The netmask length of the CIDR you'd like to provision to a pool. Can be used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for provisioning CIDRs to pools with source pools. Cannot be used to provision BYOIP CIDRs to top-level pools. "NetmaskLength" or "Cidr" is required.</p>
   36     36   
    pub fn netmask_length(&self) -> ::std::option::Option<i32> {
   37     37   
        self.netmask_length
   38     38   
    }
   39     39   
}
   40     40   
static IPAMPOOLCIDR_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   41     41   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPoolCidr", "com.amazonaws.ec2", "IpamPoolCidr");
   42     42   
static IPAMPOOLCIDR_MEMBER_CIDR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   43     43   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPoolCidr$Cidr", "com.amazonaws.ec2", "IpamPoolCidr"),
   44     44   
    ::aws_smithy_schema::ShapeType::String,
   45         -
    "cidr",
          45  +
    "Cidr",
   46     46   
    0,
   47     47   
)
   48     48   
.with_xml_name("cidr");
   49     49   
static IPAMPOOLCIDR_MEMBER_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   50     50   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPoolCidr$State", "com.amazonaws.ec2", "IpamPoolCidr"),
   51     51   
    ::aws_smithy_schema::ShapeType::String,
   52         -
    "state",
          52  +
    "State",
   53     53   
    1,
   54     54   
)
   55     55   
.with_xml_name("state");
   56     56   
static IPAMPOOLCIDR_MEMBER_FAILURE_REASON: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   57     57   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPoolCidr$FailureReason", "com.amazonaws.ec2", "IpamPoolCidr"),
   58     58   
    ::aws_smithy_schema::ShapeType::Structure,
   59         -
    "failure_reason",
          59  +
    "FailureReason",
   60     60   
    2,
   61     61   
)
   62     62   
.with_xml_name("failureReason");
   63     63   
static IPAMPOOLCIDR_MEMBER_IPAM_POOL_CIDR_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   64     64   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPoolCidr$IpamPoolCidrId", "com.amazonaws.ec2", "IpamPoolCidr"),
   65     65   
    ::aws_smithy_schema::ShapeType::String,
   66         -
    "ipam_pool_cidr_id",
          66  +
    "IpamPoolCidrId",
   67     67   
    3,
   68     68   
)
   69     69   
.with_xml_name("ipamPoolCidrId");
   70     70   
static IPAMPOOLCIDR_MEMBER_NETMASK_LENGTH: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   71     71   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPoolCidr$NetmaskLength", "com.amazonaws.ec2", "IpamPoolCidr"),
   72     72   
    ::aws_smithy_schema::ShapeType::Integer,
   73         -
    "netmask_length",
          73  +
    "NetmaskLength",
   74     74   
    4,
   75     75   
)
   76     76   
.with_xml_name("netmaskLength");
   77     77   
static IPAMPOOLCIDR_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   78     78   
    IPAMPOOLCIDR_SCHEMA_ID,
   79     79   
    ::aws_smithy_schema::ShapeType::Structure,
   80     80   
    &[
   81     81   
        &IPAMPOOLCIDR_MEMBER_CIDR,
   82     82   
        &IPAMPOOLCIDR_MEMBER_STATE,
   83     83   
        &IPAMPOOLCIDR_MEMBER_FAILURE_REASON,
   84     84   
        &IPAMPOOLCIDR_MEMBER_IPAM_POOL_CIDR_ID,
   85     85   
        &IPAMPOOLCIDR_MEMBER_NETMASK_LENGTH,
   86     86   
    ],
   87     87   
);
   88     88   
impl IpamPoolCidr {
   89     89   
    /// The schema for this shape.
   90     90   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &IPAMPOOLCIDR_SCHEMA;
   91     91   
}
   92     92   
impl ::aws_smithy_schema::serde::SerializableStruct for IpamPoolCidr {
   93     93   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   94     94   
    fn serialize_members(
   95     95   
        &self,
   96     96   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   97     97   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   98     98   
        if let Some(ref val) = self.cidr {
   99     99   
            ser.write_string(&IPAMPOOLCIDR_MEMBER_CIDR, val)?;
  100    100   
        }
  101    101   
        if let Some(ref val) = self.state {
  102    102   
            ser.write_string(&IPAMPOOLCIDR_MEMBER_STATE, val.as_str())?;
  103    103   
        }
  104    104   
        if let Some(ref val) = self.failure_reason {
  105    105   
            ser.write_struct(&IPAMPOOLCIDR_MEMBER_FAILURE_REASON, val)?;
  106    106   
        }
  107    107   
        if let Some(ref val) = self.ipam_pool_cidr_id {
  108    108   
            ser.write_string(&IPAMPOOLCIDR_MEMBER_IPAM_POOL_CIDR_ID, val)?;
  109    109   
        }
  110    110   
        if let Some(ref val) = self.netmask_length {
  111    111   
            ser.write_integer(&IPAMPOOLCIDR_MEMBER_NETMASK_LENGTH, *val)?;
  112    112   
        }
  113    113   
        Ok(())
  114    114   
    }
  115    115   
}
  116    116   
impl IpamPoolCidr {
  117    117   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  118         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  119         -
        deserializer: &mut D,
         118  +
    pub fn deserialize(
         119  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  120    120   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  121    121   
        #[allow(unused_variables, unused_mut)]
  122    122   
        let mut builder = Self::builder();
  123    123   
        #[allow(
  124    124   
            unused_variables,
  125    125   
            unreachable_code,
  126    126   
            clippy::single_match,
  127    127   
            clippy::match_single_binding,
  128    128   
            clippy::diverging_sub_expression
  129    129   
        )]
  130         -
        deserializer.read_struct(&IPAMPOOLCIDR_SCHEMA, (), |_, member, deser| {
         130  +
        deserializer.read_struct(&IPAMPOOLCIDR_SCHEMA, &mut |member, deser| {
  131    131   
            match member.member_index() {
  132    132   
                Some(0) => {
  133    133   
                    builder.cidr = Some(deser.read_string(member)?);
  134    134   
                }
  135    135   
                Some(1) => {
  136    136   
                    builder.state = Some(crate::types::IpamPoolCidrState::from(deser.read_string(member)?.as_str()));
  137    137   
                }
  138    138   
                Some(2) => {
  139    139   
                    builder.failure_reason = Some(crate::types::IpamPoolCidrFailureReason::deserialize(deser)?);
  140    140   
                }
  141    141   
                Some(3) => {
  142    142   
                    builder.ipam_pool_cidr_id = Some(deser.read_string(member)?);
  143    143   
                }
  144    144   
                Some(4) => {
  145    145   
                    builder.netmask_length = Some(deser.read_integer(member)?);
  146    146   
                }
  147    147   
                _ => {}
  148    148   
            }
  149    149   
            Ok(())
  150    150   
        })?;
  151    151   
        Ok(builder.build())
  152    152   
    }
  153    153   
}
         154  +
impl IpamPoolCidr {
         155  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         156  +
    pub fn deserialize_with_response(
         157  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         158  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         159  +
        _status: u16,
         160  +
        _body: &[u8],
         161  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         162  +
        Self::deserialize(deserializer)
         163  +
    }
         164  +
}
  154    165   
impl IpamPoolCidr {
  155    166   
    /// Creates a new builder-style object to manufacture [`IpamPoolCidr`](crate::types::IpamPoolCidr).
  156    167   
    pub fn builder() -> crate::types::builders::IpamPoolCidrBuilder {
  157    168   
        crate::types::builders::IpamPoolCidrBuilder::default()
  158    169   
    }
  159    170   
}
  160    171   
  161    172   
/// A builder for [`IpamPoolCidr`](crate::types::IpamPoolCidr).
  162    173   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  163    174   
#[non_exhaustive]

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

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

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

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

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

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

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

@@ -4,4 +134,145 @@
   24     24   
    "com.amazonaws.ec2",
   25     25   
    "IpamPublicAddressSecurityGroup",
   26     26   
);
   27     27   
static IPAMPUBLICADDRESSSECURITYGROUP_MEMBER_GROUP_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   28     28   
    ::aws_smithy_schema::ShapeId::from_static(
   29     29   
        "com.amazonaws.ec2#IpamPublicAddressSecurityGroup$GroupName",
   30     30   
        "com.amazonaws.ec2",
   31     31   
        "IpamPublicAddressSecurityGroup",
   32     32   
    ),
   33     33   
    ::aws_smithy_schema::ShapeType::String,
   34         -
    "group_name",
          34  +
    "GroupName",
   35     35   
    0,
   36     36   
)
   37     37   
.with_xml_name("groupName");
   38     38   
static IPAMPUBLICADDRESSSECURITYGROUP_MEMBER_GROUP_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   39     39   
    ::aws_smithy_schema::ShapeId::from_static(
   40     40   
        "com.amazonaws.ec2#IpamPublicAddressSecurityGroup$GroupId",
   41     41   
        "com.amazonaws.ec2",
   42     42   
        "IpamPublicAddressSecurityGroup",
   43     43   
    ),
   44     44   
    ::aws_smithy_schema::ShapeType::String,
   45         -
    "group_id",
          45  +
    "GroupId",
   46     46   
    1,
   47     47   
)
   48     48   
.with_xml_name("groupId");
   49     49   
static IPAMPUBLICADDRESSSECURITYGROUP_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   50     50   
    IPAMPUBLICADDRESSSECURITYGROUP_SCHEMA_ID,
   51     51   
    ::aws_smithy_schema::ShapeType::Structure,
   52     52   
    &[
   53     53   
        &IPAMPUBLICADDRESSSECURITYGROUP_MEMBER_GROUP_NAME,
   54     54   
        &IPAMPUBLICADDRESSSECURITYGROUP_MEMBER_GROUP_ID,
   55     55   
    ],
   56     56   
);
   57     57   
impl IpamPublicAddressSecurityGroup {
   58     58   
    /// The schema for this shape.
   59     59   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &IPAMPUBLICADDRESSSECURITYGROUP_SCHEMA;
   60     60   
}
   61     61   
impl ::aws_smithy_schema::serde::SerializableStruct for IpamPublicAddressSecurityGroup {
   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.group_name {
   68     68   
            ser.write_string(&IPAMPUBLICADDRESSSECURITYGROUP_MEMBER_GROUP_NAME, val)?;
   69     69   
        }
   70     70   
        if let Some(ref val) = self.group_id {
   71     71   
            ser.write_string(&IPAMPUBLICADDRESSSECURITYGROUP_MEMBER_GROUP_ID, val)?;
   72     72   
        }
   73     73   
        Ok(())
   74     74   
    }
   75     75   
}
   76     76   
impl IpamPublicAddressSecurityGroup {
   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(&IPAMPUBLICADDRESSSECURITYGROUP_SCHEMA, (), |_, member, deser| {
          90  +
        deserializer.read_struct(&IPAMPUBLICADDRESSSECURITYGROUP_SCHEMA, &mut |member, deser| {
   91     91   
            match member.member_index() {
   92     92   
                Some(0) => {
   93     93   
                    builder.group_name = Some(deser.read_string(member)?);
   94     94   
                }
   95     95   
                Some(1) => {
   96     96   
                    builder.group_id = 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 IpamPublicAddressSecurityGroup {
         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 IpamPublicAddressSecurityGroup {
  106    117   
    /// Creates a new builder-style object to manufacture [`IpamPublicAddressSecurityGroup`](crate::types::IpamPublicAddressSecurityGroup).
  107    118   
    pub fn builder() -> crate::types::builders::IpamPublicAddressSecurityGroupBuilder {
  108    119   
        crate::types::builders::IpamPublicAddressSecurityGroupBuilder::default()
  109    120   
    }
  110    121   
}
  111    122   
  112    123   
/// A builder for [`IpamPublicAddressSecurityGroup`](crate::types::IpamPublicAddressSecurityGroup).
  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/_ipam_public_address_tag.rs

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

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

@@ -1,1 +125,133 @@
   17     17   
}
   18     18   
static IPAMPUBLICADDRESSTAGS_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   19     19   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamPublicAddressTags", "com.amazonaws.ec2", "IpamPublicAddressTags");
   20     20   
static IPAMPUBLICADDRESSTAGS_MEMBER_EIP_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   21     21   
    ::aws_smithy_schema::ShapeId::from_static(
   22     22   
        "com.amazonaws.ec2#IpamPublicAddressTags$EipTags",
   23     23   
        "com.amazonaws.ec2",
   24     24   
        "IpamPublicAddressTags",
   25     25   
    ),
   26     26   
    ::aws_smithy_schema::ShapeType::List,
   27         -
    "eip_tags",
          27  +
    "EipTags",
   28     28   
    0,
   29     29   
)
   30     30   
.with_xml_name("eipTagSet");
   31     31   
static IPAMPUBLICADDRESSTAGS_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   32     32   
    IPAMPUBLICADDRESSTAGS_SCHEMA_ID,
   33     33   
    ::aws_smithy_schema::ShapeType::Structure,
   34     34   
    &[&IPAMPUBLICADDRESSTAGS_MEMBER_EIP_TAGS],
   35     35   
);
   36     36   
impl IpamPublicAddressTags {
   37     37   
    /// The schema for this shape.
   38     38   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &IPAMPUBLICADDRESSTAGS_SCHEMA;
   39     39   
}
   40     40   
impl ::aws_smithy_schema::serde::SerializableStruct for IpamPublicAddressTags {
   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.eip_tags {
   47     47   
            ser.write_list(
   48     48   
                &IPAMPUBLICADDRESSTAGS_MEMBER_EIP_TAGS,
   49     49   
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
   50     50   
                    for item in val {
   51     51   
                        ser.write_struct(crate::types::IpamPublicAddressTag::SCHEMA, item)?;
   52     52   
                    }
   53     53   
                    Ok(())
   54     54   
                },
   55     55   
            )?;
   56     56   
        }
   57     57   
        Ok(())
   58     58   
    }
   59     59   
}
   60     60   
impl IpamPublicAddressTags {
   61     61   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   62         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   63         -
        deserializer: &mut D,
          62  +
    pub fn deserialize(
          63  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   64     64   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   65     65   
        #[allow(unused_variables, unused_mut)]
   66     66   
        let mut builder = Self::builder();
   67     67   
        #[allow(
   68     68   
            unused_variables,
   69     69   
            unreachable_code,
   70     70   
            clippy::single_match,
   71     71   
            clippy::match_single_binding,
   72     72   
            clippy::diverging_sub_expression
   73     73   
        )]
   74         -
        deserializer.read_struct(&IPAMPUBLICADDRESSTAGS_SCHEMA, (), |_, member, deser| {
          74  +
        deserializer.read_struct(&IPAMPUBLICADDRESSTAGS_SCHEMA, &mut |member, deser| {
   75     75   
            match member.member_index() {
   76     76   
                Some(0) => {
   77     77   
                    builder.eip_tags = Some({
   78         -
                        let container = if let Some(cap) = deser.container_size() {
   79         -
                            Vec::with_capacity(cap)
   80         -
                        } else {
   81         -
                            Vec::new()
   82         -
                        };
   83         -
                        deser.read_list(member, container, |mut list, deser| {
   84         -
                            list.push(crate::types::IpamPublicAddressTag::deserialize(deser)?);
   85         -
                            Ok(list)
   86         -
                        })?
          78  +
                        let mut container = Vec::new();
          79  +
                        deser.read_list(member, &mut |deser| {
          80  +
                            container.push(crate::types::IpamPublicAddressTag::deserialize(deser)?);
          81  +
                            Ok(())
          82  +
                        })?;
          83  +
                        container
   87     84   
                    });
   88     85   
                }
   89     86   
                _ => {}
   90     87   
            }
   91     88   
            Ok(())
   92     89   
        })?;
   93     90   
        Ok(builder.build())
   94     91   
    }
   95     92   
}
          93  +
impl IpamPublicAddressTags {
          94  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          95  +
    pub fn deserialize_with_response(
          96  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          97  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          98  +
        _status: u16,
          99  +
        _body: &[u8],
         100  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         101  +
        Self::deserialize(deserializer)
         102  +
    }
         103  +
}
   96    104   
impl IpamPublicAddressTags {
   97    105   
    /// Creates a new builder-style object to manufacture [`IpamPublicAddressTags`](crate::types::IpamPublicAddressTags).
   98    106   
    pub fn builder() -> crate::types::builders::IpamPublicAddressTagsBuilder {
   99    107   
        crate::types::builders::IpamPublicAddressTagsBuilder::default()
  100    108   
    }
  101    109   
}
  102    110   
  103    111   
/// A builder for [`IpamPublicAddressTags`](crate::types::IpamPublicAddressTags).
  104    112   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  105    113   
#[non_exhaustive]

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

@@ -99,99 +288,288 @@
  119    119   
    /// <p>The Availability Zone ID.</p>
  120    120   
    pub fn availability_zone_id(&self) -> ::std::option::Option<&str> {
  121    121   
        self.availability_zone_id.as_deref()
  122    122   
    }
  123    123   
}
  124    124   
static IPAMRESOURCECIDR_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
  125    125   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamResourceCidr", "com.amazonaws.ec2", "IpamResourceCidr");
  126    126   
static IPAMRESOURCECIDR_MEMBER_IPAM_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  127    127   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamResourceCidr$IpamId", "com.amazonaws.ec2", "IpamResourceCidr"),
  128    128   
    ::aws_smithy_schema::ShapeType::String,
  129         -
    "ipam_id",
         129  +
    "IpamId",
  130    130   
    0,
  131    131   
)
  132    132   
.with_xml_name("ipamId");
  133    133   
static IPAMRESOURCECIDR_MEMBER_IPAM_SCOPE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  134    134   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamResourceCidr$IpamScopeId", "com.amazonaws.ec2", "IpamResourceCidr"),
  135    135   
    ::aws_smithy_schema::ShapeType::String,
  136         -
    "ipam_scope_id",
         136  +
    "IpamScopeId",
  137    137   
    1,
  138    138   
)
  139    139   
.with_xml_name("ipamScopeId");
  140    140   
static IPAMRESOURCECIDR_MEMBER_IPAM_POOL_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  141    141   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamResourceCidr$IpamPoolId", "com.amazonaws.ec2", "IpamResourceCidr"),
  142    142   
    ::aws_smithy_schema::ShapeType::String,
  143         -
    "ipam_pool_id",
         143  +
    "IpamPoolId",
  144    144   
    2,
  145    145   
)
  146    146   
.with_xml_name("ipamPoolId");
  147    147   
static IPAMRESOURCECIDR_MEMBER_RESOURCE_REGION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  148    148   
    ::aws_smithy_schema::ShapeId::from_static(
  149    149   
        "com.amazonaws.ec2#IpamResourceCidr$ResourceRegion",
  150    150   
        "com.amazonaws.ec2",
  151    151   
        "IpamResourceCidr",
  152    152   
    ),
  153    153   
    ::aws_smithy_schema::ShapeType::String,
  154         -
    "resource_region",
         154  +
    "ResourceRegion",
  155    155   
    3,
  156    156   
)
  157    157   
.with_xml_name("resourceRegion");
  158    158   
static IPAMRESOURCECIDR_MEMBER_RESOURCE_OWNER_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  159    159   
    ::aws_smithy_schema::ShapeId::from_static(
  160    160   
        "com.amazonaws.ec2#IpamResourceCidr$ResourceOwnerId",
  161    161   
        "com.amazonaws.ec2",
  162    162   
        "IpamResourceCidr",
  163    163   
    ),
  164    164   
    ::aws_smithy_schema::ShapeType::String,
  165         -
    "resource_owner_id",
         165  +
    "ResourceOwnerId",
  166    166   
    4,
  167    167   
)
  168    168   
.with_xml_name("resourceOwnerId");
  169    169   
static IPAMRESOURCECIDR_MEMBER_RESOURCE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  170    170   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamResourceCidr$ResourceId", "com.amazonaws.ec2", "IpamResourceCidr"),
  171    171   
    ::aws_smithy_schema::ShapeType::String,
  172         -
    "resource_id",
         172  +
    "ResourceId",
  173    173   
    5,
  174    174   
)
  175    175   
.with_xml_name("resourceId");
  176    176   
static IPAMRESOURCECIDR_MEMBER_RESOURCE_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  177    177   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamResourceCidr$ResourceName", "com.amazonaws.ec2", "IpamResourceCidr"),
  178    178   
    ::aws_smithy_schema::ShapeType::String,
  179         -
    "resource_name",
         179  +
    "ResourceName",
  180    180   
    6,
  181    181   
)
  182    182   
.with_xml_name("resourceName");
  183    183   
static IPAMRESOURCECIDR_MEMBER_RESOURCE_CIDR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  184    184   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamResourceCidr$ResourceCidr", "com.amazonaws.ec2", "IpamResourceCidr"),
  185    185   
    ::aws_smithy_schema::ShapeType::String,
  186         -
    "resource_cidr",
         186  +
    "ResourceCidr",
  187    187   
    7,
  188    188   
)
  189    189   
.with_xml_name("resourceCidr");
  190    190   
static IPAMRESOURCECIDR_MEMBER_RESOURCE_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  191    191   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamResourceCidr$ResourceType", "com.amazonaws.ec2", "IpamResourceCidr"),
  192    192   
    ::aws_smithy_schema::ShapeType::String,
  193         -
    "resource_type",
         193  +
    "ResourceType",
  194    194   
    8,
  195    195   
)
  196    196   
.with_xml_name("resourceType");
  197    197   
static IPAMRESOURCECIDR_MEMBER_RESOURCE_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  198    198   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamResourceCidr$ResourceTags", "com.amazonaws.ec2", "IpamResourceCidr"),
  199    199   
    ::aws_smithy_schema::ShapeType::List,
  200         -
    "resource_tags",
         200  +
    "ResourceTags",
  201    201   
    9,
  202    202   
)
  203    203   
.with_xml_name("resourceTagSet");
  204    204   
static IPAMRESOURCECIDR_MEMBER_IP_USAGE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  205    205   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamResourceCidr$IpUsage", "com.amazonaws.ec2", "IpamResourceCidr"),
  206    206   
    ::aws_smithy_schema::ShapeType::Double,
  207         -
    "ip_usage",
         207  +
    "IpUsage",
  208    208   
    10,
  209    209   
)
  210    210   
.with_xml_name("ipUsage");
  211    211   
static IPAMRESOURCECIDR_MEMBER_COMPLIANCE_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  212    212   
    ::aws_smithy_schema::ShapeId::from_static(
  213    213   
        "com.amazonaws.ec2#IpamResourceCidr$ComplianceStatus",
  214    214   
        "com.amazonaws.ec2",
  215    215   
        "IpamResourceCidr",
  216    216   
    ),
  217    217   
    ::aws_smithy_schema::ShapeType::String,
  218         -
    "compliance_status",
         218  +
    "ComplianceStatus",
  219    219   
    11,
  220    220   
)
  221    221   
.with_xml_name("complianceStatus");
  222    222   
static IPAMRESOURCECIDR_MEMBER_MANAGEMENT_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  223    223   
    ::aws_smithy_schema::ShapeId::from_static(
  224    224   
        "com.amazonaws.ec2#IpamResourceCidr$ManagementState",
  225    225   
        "com.amazonaws.ec2",
  226    226   
        "IpamResourceCidr",
  227    227   
    ),
  228    228   
    ::aws_smithy_schema::ShapeType::String,
  229         -
    "management_state",
         229  +
    "ManagementState",
  230    230   
    12,
  231    231   
)
  232    232   
.with_xml_name("managementState");
  233    233   
static IPAMRESOURCECIDR_MEMBER_OVERLAP_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  234    234   
    ::aws_smithy_schema::ShapeId::from_static(
  235    235   
        "com.amazonaws.ec2#IpamResourceCidr$OverlapStatus",
  236    236   
        "com.amazonaws.ec2",
  237    237   
        "IpamResourceCidr",
  238    238   
    ),
  239    239   
    ::aws_smithy_schema::ShapeType::String,
  240         -
    "overlap_status",
         240  +
    "OverlapStatus",
  241    241   
    13,
  242    242   
)
  243    243   
.with_xml_name("overlapStatus");
  244    244   
static IPAMRESOURCECIDR_MEMBER_VPC_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  245    245   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamResourceCidr$VpcId", "com.amazonaws.ec2", "IpamResourceCidr"),
  246    246   
    ::aws_smithy_schema::ShapeType::String,
  247         -
    "vpc_id",
         247  +
    "VpcId",
  248    248   
    14,
  249    249   
)
  250    250   
.with_xml_name("vpcId");
  251    251   
static IPAMRESOURCECIDR_MEMBER_AVAILABILITY_ZONE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  252    252   
    ::aws_smithy_schema::ShapeId::from_static(
  253    253   
        "com.amazonaws.ec2#IpamResourceCidr$AvailabilityZoneId",
  254    254   
        "com.amazonaws.ec2",
  255    255   
        "IpamResourceCidr",
  256    256   
    ),
  257    257   
    ::aws_smithy_schema::ShapeType::String,
  258         -
    "availability_zone_id",
         258  +
    "AvailabilityZoneId",
  259    259   
    15,
  260    260   
)
  261    261   
.with_xml_name("availabilityZoneId");
  262    262   
static IPAMRESOURCECIDR_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  263    263   
    IPAMRESOURCECIDR_SCHEMA_ID,
  264    264   
    ::aws_smithy_schema::ShapeType::Structure,
  265    265   
    &[
  266    266   
        &IPAMRESOURCECIDR_MEMBER_IPAM_ID,
  267    267   
        &IPAMRESOURCECIDR_MEMBER_IPAM_SCOPE_ID,
  268    268   
        &IPAMRESOURCECIDR_MEMBER_IPAM_POOL_ID,
@@ -325,325 +463,471 @@
  345    345   
            ser.write_string(&IPAMRESOURCECIDR_MEMBER_VPC_ID, val)?;
  346    346   
        }
  347    347   
        if let Some(ref val) = self.availability_zone_id {
  348    348   
            ser.write_string(&IPAMRESOURCECIDR_MEMBER_AVAILABILITY_ZONE_ID, val)?;
  349    349   
        }
  350    350   
        Ok(())
  351    351   
    }
  352    352   
}
  353    353   
impl IpamResourceCidr {
  354    354   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  355         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  356         -
        deserializer: &mut D,
         355  +
    pub fn deserialize(
         356  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  357    357   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  358    358   
        #[allow(unused_variables, unused_mut)]
  359    359   
        let mut builder = Self::builder();
  360    360   
        #[allow(
  361    361   
            unused_variables,
  362    362   
            unreachable_code,
  363    363   
            clippy::single_match,
  364    364   
            clippy::match_single_binding,
  365    365   
            clippy::diverging_sub_expression
  366    366   
        )]
  367         -
        deserializer.read_struct(&IPAMRESOURCECIDR_SCHEMA, (), |_, member, deser| {
         367  +
        deserializer.read_struct(&IPAMRESOURCECIDR_SCHEMA, &mut |member, deser| {
  368    368   
            match member.member_index() {
  369    369   
                Some(0) => {
  370    370   
                    builder.ipam_id = Some(deser.read_string(member)?);
  371    371   
                }
  372    372   
                Some(1) => {
  373    373   
                    builder.ipam_scope_id = Some(deser.read_string(member)?);
  374    374   
                }
  375    375   
                Some(2) => {
  376    376   
                    builder.ipam_pool_id = Some(deser.read_string(member)?);
  377    377   
                }
  378    378   
                Some(3) => {
  379    379   
                    builder.resource_region = Some(deser.read_string(member)?);
  380    380   
                }
  381    381   
                Some(4) => {
  382    382   
                    builder.resource_owner_id = Some(deser.read_string(member)?);
  383    383   
                }
  384    384   
                Some(5) => {
  385    385   
                    builder.resource_id = Some(deser.read_string(member)?);
  386    386   
                }
  387    387   
                Some(6) => {
  388    388   
                    builder.resource_name = Some(deser.read_string(member)?);
  389    389   
                }
  390    390   
                Some(7) => {
  391    391   
                    builder.resource_cidr = Some(deser.read_string(member)?);
  392    392   
                }
  393    393   
                Some(8) => {
  394    394   
                    builder.resource_type = Some(crate::types::IpamResourceType::from(deser.read_string(member)?.as_str()));
  395    395   
                }
  396    396   
                Some(9) => {
  397    397   
                    builder.resource_tags = Some({
  398         -
                        let container = if let Some(cap) = deser.container_size() {
  399         -
                            Vec::with_capacity(cap)
  400         -
                        } else {
  401         -
                            Vec::new()
  402         -
                        };
  403         -
                        deser.read_list(member, container, |mut list, deser| {
  404         -
                            list.push(crate::types::IpamResourceTag::deserialize(deser)?);
  405         -
                            Ok(list)
  406         -
                        })?
         398  +
                        let mut container = Vec::new();
         399  +
                        deser.read_list(member, &mut |deser| {
         400  +
                            container.push(crate::types::IpamResourceTag::deserialize(deser)?);
         401  +
                            Ok(())
         402  +
                        })?;
         403  +
                        container
  407    404   
                    });
  408    405   
                }
  409    406   
                Some(10) => {
  410    407   
                    builder.ip_usage = Some(deser.read_double(member)?);
  411    408   
                }
  412    409   
                Some(11) => {
  413    410   
                    builder.compliance_status = Some(crate::types::IpamComplianceStatus::from(deser.read_string(member)?.as_str()));
  414    411   
                }
  415    412   
                Some(12) => {
  416    413   
                    builder.management_state = Some(crate::types::IpamManagementState::from(deser.read_string(member)?.as_str()));
  417    414   
                }
  418    415   
                Some(13) => {
  419    416   
                    builder.overlap_status = Some(crate::types::IpamOverlapStatus::from(deser.read_string(member)?.as_str()));
  420    417   
                }
  421    418   
                Some(14) => {
  422    419   
                    builder.vpc_id = Some(deser.read_string(member)?);
  423    420   
                }
  424    421   
                Some(15) => {
  425    422   
                    builder.availability_zone_id = Some(deser.read_string(member)?);
  426    423   
                }
  427    424   
                _ => {}
  428    425   
            }
  429    426   
            Ok(())
  430    427   
        })?;
  431    428   
        Ok(builder.build())
  432    429   
    }
  433    430   
}
         431  +
impl IpamResourceCidr {
         432  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         433  +
    pub fn deserialize_with_response(
         434  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         435  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         436  +
        _status: u16,
         437  +
        _body: &[u8],
         438  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         439  +
        Self::deserialize(deserializer)
         440  +
    }
         441  +
}
  434    442   
impl IpamResourceCidr {
  435    443   
    /// Creates a new builder-style object to manufacture [`IpamResourceCidr`](crate::types::IpamResourceCidr).
  436    444   
    pub fn builder() -> crate::types::builders::IpamResourceCidrBuilder {
  437    445   
        crate::types::builders::IpamResourceCidrBuilder::default()
  438    446   
    }
  439    447   
}
  440    448   
  441    449   
/// A builder for [`IpamResourceCidr`](crate::types::IpamResourceCidr).
  442    450   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  443    451   
#[non_exhaustive]

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

@@ -107,107 +266,266 @@
  127    127   
}
  128    128   
static IPAMRESOURCEDISCOVERY_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
  129    129   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#IpamResourceDiscovery", "com.amazonaws.ec2", "IpamResourceDiscovery");
  130    130   
static IPAMRESOURCEDISCOVERY_MEMBER_OWNER_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  131    131   
    ::aws_smithy_schema::ShapeId::from_static(
  132    132   
        "com.amazonaws.ec2#IpamResourceDiscovery$OwnerId",
  133    133   
        "com.amazonaws.ec2",
  134    134   
        "IpamResourceDiscovery",
  135    135   
    ),
  136    136   
    ::aws_smithy_schema::ShapeType::String,
  137         -
    "owner_id",
         137  +
    "OwnerId",
  138    138   
    0,
  139    139   
)
  140    140   
.with_xml_name("ownerId");
  141    141   
static IPAMRESOURCEDISCOVERY_MEMBER_IPAM_RESOURCE_DISCOVERY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  142    142   
    ::aws_smithy_schema::ShapeId::from_static(
  143    143   
        "com.amazonaws.ec2#IpamResourceDiscovery$IpamResourceDiscoveryId",
  144    144   
        "com.amazonaws.ec2",
  145    145   
        "IpamResourceDiscovery",
  146    146   
    ),
  147    147   
    ::aws_smithy_schema::ShapeType::String,
  148         -
    "ipam_resource_discovery_id",
         148  +
    "IpamResourceDiscoveryId",
  149    149   
    1,
  150    150   
)
  151    151   
.with_xml_name("ipamResourceDiscoveryId");
  152    152   
static IPAMRESOURCEDISCOVERY_MEMBER_IPAM_RESOURCE_DISCOVERY_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  153    153   
    ::aws_smithy_schema::ShapeId::from_static(
  154    154   
        "com.amazonaws.ec2#IpamResourceDiscovery$IpamResourceDiscoveryArn",
  155    155   
        "com.amazonaws.ec2",
  156    156   
        "IpamResourceDiscovery",
  157    157   
    ),
  158    158   
    ::aws_smithy_schema::ShapeType::String,
  159         -
    "ipam_resource_discovery_arn",
         159  +
    "IpamResourceDiscoveryArn",
  160    160   
    2,
  161    161   
)
  162    162   
.with_xml_name("ipamResourceDiscoveryArn");
  163    163   
static IPAMRESOURCEDISCOVERY_MEMBER_IPAM_RESOURCE_DISCOVERY_REGION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  164    164   
    ::aws_smithy_schema::ShapeId::from_static(
  165    165   
        "com.amazonaws.ec2#IpamResourceDiscovery$IpamResourceDiscoveryRegion",
  166    166   
        "com.amazonaws.ec2",
  167    167   
        "IpamResourceDiscovery",
  168    168   
    ),
  169    169   
    ::aws_smithy_schema::ShapeType::String,
  170         -
    "ipam_resource_discovery_region",
         170  +
    "IpamResourceDiscoveryRegion",
  171    171   
    3,
  172    172   
)
  173    173   
.with_xml_name("ipamResourceDiscoveryRegion");
  174    174   
static IPAMRESOURCEDISCOVERY_MEMBER_DESCRIPTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  175    175   
    ::aws_smithy_schema::ShapeId::from_static(
  176    176   
        "com.amazonaws.ec2#IpamResourceDiscovery$Description",
  177    177   
        "com.amazonaws.ec2",
  178    178   
        "IpamResourceDiscovery",
  179    179   
    ),
  180    180   
    ::aws_smithy_schema::ShapeType::String,
  181         -
    "description",
         181  +
    "Description",
  182    182   
    4,
  183    183   
)
  184    184   
.with_xml_name("description");
  185    185   
static IPAMRESOURCEDISCOVERY_MEMBER_OPERATING_REGIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  186    186   
    ::aws_smithy_schema::ShapeId::from_static(
  187    187   
        "com.amazonaws.ec2#IpamResourceDiscovery$OperatingRegions",
  188    188   
        "com.amazonaws.ec2",
  189    189   
        "IpamResourceDiscovery",
  190    190   
    ),
  191    191   
    ::aws_smithy_schema::ShapeType::List,
  192         -
    "operating_regions",
         192  +
    "OperatingRegions",
  193    193   
    5,
  194    194   
)
  195    195   
.with_xml_name("operatingRegionSet");
  196    196   
static IPAMRESOURCEDISCOVERY_MEMBER_IS_DEFAULT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  197    197   
    ::aws_smithy_schema::ShapeId::from_static(
  198    198   
        "com.amazonaws.ec2#IpamResourceDiscovery$IsDefault",
  199    199   
        "com.amazonaws.ec2",
  200    200   
        "IpamResourceDiscovery",
  201    201   
    ),
  202    202   
    ::aws_smithy_schema::ShapeType::Boolean,
  203         -
    "is_default",
         203  +
    "IsDefault",
  204    204   
    6,
  205    205   
)
  206    206   
.with_xml_name("isDefault");
  207    207   
static IPAMRESOURCEDISCOVERY_MEMBER_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  208    208   
    ::aws_smithy_schema::ShapeId::from_static(
  209    209   
        "com.amazonaws.ec2#IpamResourceDiscovery$State",
  210    210   
        "com.amazonaws.ec2",
  211    211   
        "IpamResourceDiscovery",
  212    212   
    ),
  213    213   
    ::aws_smithy_schema::ShapeType::String,
  214         -
    "state",
         214  +
    "State",
  215    215   
    7,
  216    216   
)
  217    217   
.with_xml_name("state");
  218    218   
static IPAMRESOURCEDISCOVERY_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  219    219   
    ::aws_smithy_schema::ShapeId::from_static(
  220    220   
        "com.amazonaws.ec2#IpamResourceDiscovery$Tags",
  221    221   
        "com.amazonaws.ec2",
  222    222   
        "IpamResourceDiscovery",
  223    223   
    ),
  224    224   
    ::aws_smithy_schema::ShapeType::List,
  225         -
    "tags",
         225  +
    "Tags",
  226    226   
    8,
  227    227   
)
  228    228   
.with_xml_name("tagSet");
  229    229   
static IPAMRESOURCEDISCOVERY_MEMBER_ORGANIZATIONAL_UNIT_EXCLUSIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  230    230   
    ::aws_smithy_schema::ShapeId::from_static(
  231    231   
        "com.amazonaws.ec2#IpamResourceDiscovery$OrganizationalUnitExclusions",
  232    232   
        "com.amazonaws.ec2",
  233    233   
        "IpamResourceDiscovery",
  234    234   
    ),
  235    235   
    ::aws_smithy_schema::ShapeType::List,
  236         -
    "organizational_unit_exclusions",
         236  +
    "OrganizationalUnitExclusions",
  237    237   
    9,
  238    238   
)
  239    239   
.with_xml_name("organizationalUnitExclusionSet");
  240    240   
static IPAMRESOURCEDISCOVERY_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  241    241   
    IPAMRESOURCEDISCOVERY_SCHEMA_ID,
  242    242   
    ::aws_smithy_schema::ShapeType::Structure,
  243    243   
    &[
  244    244   
        &IPAMRESOURCEDISCOVERY_MEMBER_OWNER_ID,
  245    245   
        &IPAMRESOURCEDISCOVERY_MEMBER_IPAM_RESOURCE_DISCOVERY_ID,
  246    246   
        &IPAMRESOURCEDISCOVERY_MEMBER_IPAM_RESOURCE_DISCOVERY_ARN,
@@ -295,295 +435,437 @@
  315    315   
                    }
  316    316   
                    Ok(())
  317    317   
                },
  318    318   
            )?;
  319    319   
        }
  320    320   
        Ok(())
  321    321   
    }
  322    322   
}
  323    323   
impl IpamResourceDiscovery {
  324    324   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  325         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  326         -
        deserializer: &mut D,
         325  +
    pub fn deserialize(
         326  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  327    327   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  328    328   
        #[allow(unused_variables, unused_mut)]
  329    329   
        let mut builder = Self::builder();
  330    330   
        #[allow(
  331    331   
            unused_variables,
  332    332   
            unreachable_code,
  333    333   
            clippy::single_match,
  334    334   
            clippy::match_single_binding,
  335    335   
            clippy::diverging_sub_expression
  336    336   
        )]
  337         -
        deserializer.read_struct(&IPAMRESOURCEDISCOVERY_SCHEMA, (), |_, member, deser| {
         337  +
        deserializer.read_struct(&IPAMRESOURCEDISCOVERY_SCHEMA, &mut |member, deser| {
  338    338   
            match member.member_index() {
  339    339   
                Some(0) => {
  340    340   
                    builder.owner_id = Some(deser.read_string(member)?);
  341    341   
                }
  342    342   
                Some(1) => {
  343    343   
                    builder.ipam_resource_discovery_id = Some(deser.read_string(member)?);
  344    344   
                }
  345    345   
                Some(2) => {
  346    346   
                    builder.ipam_resource_discovery_arn = Some(deser.read_string(member)?);
  347    347   
                }
  348    348   
                Some(3) => {
  349    349   
                    builder.ipam_resource_discovery_region = Some(deser.read_string(member)?);
  350    350   
                }
  351    351   
                Some(4) => {
  352    352   
                    builder.description = Some(deser.read_string(member)?);
  353    353   
                }
  354    354   
                Some(5) => {
  355    355   
                    builder.operating_regions = Some({
  356         -
                        let container = if let Some(cap) = deser.container_size() {
  357         -
                            Vec::with_capacity(cap)
  358         -
                        } else {
  359         -
                            Vec::new()
  360         -
                        };
  361         -
                        deser.read_list(member, container, |mut list, deser| {
  362         -
                            list.push(crate::types::IpamOperatingRegion::deserialize(deser)?);
  363         -
                            Ok(list)
  364         -
                        })?
         356  +
                        let mut container = Vec::new();
         357  +
                        deser.read_list(member, &mut |deser| {
         358  +
                            container.push(crate::types::IpamOperatingRegion::deserialize(deser)?);
         359  +
                            Ok(())
         360  +
                        })?;
         361  +
                        container
  365    362   
                    });
  366    363   
                }
  367    364   
                Some(6) => {
  368    365   
                    builder.is_default = Some(deser.read_boolean(member)?);
  369    366   
                }
  370    367   
                Some(7) => {
  371    368   
                    builder.state = Some(crate::types::IpamResourceDiscoveryState::from(deser.read_string(member)?.as_str()));
  372    369   
                }
  373    370   
                Some(8) => {
  374    371   
                    builder.tags = Some({
  375         -
                        let container = if let Some(cap) = deser.container_size() {
  376         -
                            Vec::with_capacity(cap)
  377         -
                        } else {
  378         -
                            Vec::new()
  379         -
                        };
  380         -
                        deser.read_list(member, container, |mut list, deser| {
  381         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  382         -
                            Ok(list)
  383         -
                        })?
         372  +
                        let mut container = Vec::new();
         373  +
                        deser.read_list(member, &mut |deser| {
         374  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         375  +
                            Ok(())
         376  +
                        })?;
         377  +
                        container
  384    378   
                    });
  385    379   
                }
  386    380   
                Some(9) => {
  387    381   
                    builder.organizational_unit_exclusions = Some({
  388         -
                        let container = if let Some(cap) = deser.container_size() {
  389         -
                            Vec::with_capacity(cap)
  390         -
                        } else {
  391         -
                            Vec::new()
  392         -
                        };
  393         -
                        deser.read_list(member, container, |mut list, deser| {
  394         -
                            list.push(crate::types::IpamOrganizationalUnitExclusion::deserialize(deser)?);
  395         -
                            Ok(list)
  396         -
                        })?
         382  +
                        let mut container = Vec::new();
         383  +
                        deser.read_list(member, &mut |deser| {
         384  +
                            container.push(crate::types::IpamOrganizationalUnitExclusion::deserialize(deser)?);
         385  +
                            Ok(())
         386  +
                        })?;
         387  +
                        container
  397    388   
                    });
  398    389   
                }
  399    390   
                _ => {}
  400    391   
            }
  401    392   
            Ok(())
  402    393   
        })?;
  403    394   
        Ok(builder.build())
  404    395   
    }
  405    396   
}
         397  +
impl IpamResourceDiscovery {
         398  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         399  +
    pub fn deserialize_with_response(
         400  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         401  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         402  +
        _status: u16,
         403  +
        _body: &[u8],
         404  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         405  +
        Self::deserialize(deserializer)
         406  +
    }
         407  +
}
  406    408   
impl IpamResourceDiscovery {
  407    409   
    /// Creates a new builder-style object to manufacture [`IpamResourceDiscovery`](crate::types::IpamResourceDiscovery).
  408    410   
    pub fn builder() -> crate::types::builders::IpamResourceDiscoveryBuilder {
  409    411   
        crate::types::builders::IpamResourceDiscoveryBuilder::default()
  410    412   
    }
  411    413   
}
  412    414   
  413    415   
/// A builder for [`IpamResourceDiscovery`](crate::types::IpamResourceDiscovery).
  414    416   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  415    417   
#[non_exhaustive]

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

@@ -112,112 +284,284 @@
  132    132   
    "com.amazonaws.ec2",
  133    133   
    "IpamResourceDiscoveryAssociation",
  134    134   
);
  135    135   
static IPAMRESOURCEDISCOVERYASSOCIATION_MEMBER_OWNER_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  136    136   
    ::aws_smithy_schema::ShapeId::from_static(
  137    137   
        "com.amazonaws.ec2#IpamResourceDiscoveryAssociation$OwnerId",
  138    138   
        "com.amazonaws.ec2",
  139    139   
        "IpamResourceDiscoveryAssociation",
  140    140   
    ),
  141    141   
    ::aws_smithy_schema::ShapeType::String,
  142         -
    "owner_id",
         142  +
    "OwnerId",
  143    143   
    0,
  144    144   
)
  145    145   
.with_xml_name("ownerId");
  146    146   
static IPAMRESOURCEDISCOVERYASSOCIATION_MEMBER_IPAM_RESOURCE_DISCOVERY_ASSOCIATION_ID: ::aws_smithy_schema::Schema =
  147    147   
    ::aws_smithy_schema::Schema::new_member(
  148    148   
        ::aws_smithy_schema::ShapeId::from_static(
  149    149   
            "com.amazonaws.ec2#IpamResourceDiscoveryAssociation$IpamResourceDiscoveryAssociationId",
  150    150   
            "com.amazonaws.ec2",
  151    151   
            "IpamResourceDiscoveryAssociation",
  152    152   
        ),
  153    153   
        ::aws_smithy_schema::ShapeType::String,
  154         -
        "ipam_resource_discovery_association_id",
         154  +
        "IpamResourceDiscoveryAssociationId",
  155    155   
        1,
  156    156   
    )
  157    157   
    .with_xml_name("ipamResourceDiscoveryAssociationId");
  158    158   
static IPAMRESOURCEDISCOVERYASSOCIATION_MEMBER_IPAM_RESOURCE_DISCOVERY_ASSOCIATION_ARN: ::aws_smithy_schema::Schema =
  159    159   
    ::aws_smithy_schema::Schema::new_member(
  160    160   
        ::aws_smithy_schema::ShapeId::from_static(
  161    161   
            "com.amazonaws.ec2#IpamResourceDiscoveryAssociation$IpamResourceDiscoveryAssociationArn",
  162    162   
            "com.amazonaws.ec2",
  163    163   
            "IpamResourceDiscoveryAssociation",
  164    164   
        ),
  165    165   
        ::aws_smithy_schema::ShapeType::String,
  166         -
        "ipam_resource_discovery_association_arn",
         166  +
        "IpamResourceDiscoveryAssociationArn",
  167    167   
        2,
  168    168   
    )
  169    169   
    .with_xml_name("ipamResourceDiscoveryAssociationArn");
  170    170   
static IPAMRESOURCEDISCOVERYASSOCIATION_MEMBER_IPAM_RESOURCE_DISCOVERY_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  171    171   
    ::aws_smithy_schema::ShapeId::from_static(
  172    172   
        "com.amazonaws.ec2#IpamResourceDiscoveryAssociation$IpamResourceDiscoveryId",
  173    173   
        "com.amazonaws.ec2",
  174    174   
        "IpamResourceDiscoveryAssociation",
  175    175   
    ),
  176    176   
    ::aws_smithy_schema::ShapeType::String,
  177         -
    "ipam_resource_discovery_id",
         177  +
    "IpamResourceDiscoveryId",
  178    178   
    3,
  179    179   
)
  180    180   
.with_xml_name("ipamResourceDiscoveryId");
  181    181   
static IPAMRESOURCEDISCOVERYASSOCIATION_MEMBER_IPAM_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  182    182   
    ::aws_smithy_schema::ShapeId::from_static(
  183    183   
        "com.amazonaws.ec2#IpamResourceDiscoveryAssociation$IpamId",
  184    184   
        "com.amazonaws.ec2",
  185    185   
        "IpamResourceDiscoveryAssociation",
  186    186   
    ),
  187    187   
    ::aws_smithy_schema::ShapeType::String,
  188         -
    "ipam_id",
         188  +
    "IpamId",
  189    189   
    4,
  190    190   
)
  191    191   
.with_xml_name("ipamId");
  192    192   
static IPAMRESOURCEDISCOVERYASSOCIATION_MEMBER_IPAM_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  193    193   
    ::aws_smithy_schema::ShapeId::from_static(
  194    194   
        "com.amazonaws.ec2#IpamResourceDiscoveryAssociation$IpamArn",
  195    195   
        "com.amazonaws.ec2",
  196    196   
        "IpamResourceDiscoveryAssociation",
  197    197   
    ),
  198    198   
    ::aws_smithy_schema::ShapeType::String,
  199         -
    "ipam_arn",
         199  +
    "IpamArn",
  200    200   
    5,
  201    201   
)
  202    202   
.with_xml_name("ipamArn");
  203    203   
static IPAMRESOURCEDISCOVERYASSOCIATION_MEMBER_IPAM_REGION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  204    204   
    ::aws_smithy_schema::ShapeId::from_static(
  205    205   
        "com.amazonaws.ec2#IpamResourceDiscoveryAssociation$IpamRegion",
  206    206   
        "com.amazonaws.ec2",
  207    207   
        "IpamResourceDiscoveryAssociation",
  208    208   
    ),
  209    209   
    ::aws_smithy_schema::ShapeType::String,
  210         -
    "ipam_region",
         210  +
    "IpamRegion",
  211    211   
    6,
  212    212   
)
  213    213   
.with_xml_name("ipamRegion");
  214    214   
static IPAMRESOURCEDISCOVERYASSOCIATION_MEMBER_IS_DEFAULT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  215    215   
    ::aws_smithy_schema::ShapeId::from_static(
  216    216   
        "com.amazonaws.ec2#IpamResourceDiscoveryAssociation$IsDefault",
  217    217   
        "com.amazonaws.ec2",
  218    218   
        "IpamResourceDiscoveryAssociation",
  219    219   
    ),
  220    220   
    ::aws_smithy_schema::ShapeType::Boolean,
  221         -
    "is_default",
         221  +
    "IsDefault",
  222    222   
    7,
  223    223   
)
  224    224   
.with_xml_name("isDefault");
  225    225   
static IPAMRESOURCEDISCOVERYASSOCIATION_MEMBER_RESOURCE_DISCOVERY_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  226    226   
    ::aws_smithy_schema::ShapeId::from_static(
  227    227   
        "com.amazonaws.ec2#IpamResourceDiscoveryAssociation$ResourceDiscoveryStatus",
  228    228   
        "com.amazonaws.ec2",
  229    229   
        "IpamResourceDiscoveryAssociation",
  230    230   
    ),
  231    231   
    ::aws_smithy_schema::ShapeType::String,
  232         -
    "resource_discovery_status",
         232  +
    "ResourceDiscoveryStatus",
  233    233   
    8,
  234    234   
)
  235    235   
.with_xml_name("resourceDiscoveryStatus");
  236    236   
static IPAMRESOURCEDISCOVERYASSOCIATION_MEMBER_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  237    237   
    ::aws_smithy_schema::ShapeId::from_static(
  238    238   
        "com.amazonaws.ec2#IpamResourceDiscoveryAssociation$State",
  239    239   
        "com.amazonaws.ec2",
  240    240   
        "IpamResourceDiscoveryAssociation",
  241    241   
    ),
  242    242   
    ::aws_smithy_schema::ShapeType::String,
  243         -
    "state",
         243  +
    "State",
  244    244   
    9,
  245    245   
)
  246    246   
.with_xml_name("state");
  247    247   
static IPAMRESOURCEDISCOVERYASSOCIATION_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  248    248   
    ::aws_smithy_schema::ShapeId::from_static(
  249    249   
        "com.amazonaws.ec2#IpamResourceDiscoveryAssociation$Tags",
  250    250   
        "com.amazonaws.ec2",
  251    251   
        "IpamResourceDiscoveryAssociation",
  252    252   
    ),
  253    253   
    ::aws_smithy_schema::ShapeType::List,
  254         -
    "tags",
         254  +
    "Tags",
  255    255   
    10,
  256    256   
)
  257    257   
.with_xml_name("tagSet");
  258    258   
static IPAMRESOURCEDISCOVERYASSOCIATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  259    259   
    IPAMRESOURCEDISCOVERYASSOCIATION_SCHEMA_ID,
  260    260   
    ::aws_smithy_schema::ShapeType::Structure,
  261    261   
    &[
  262    262   
        &IPAMRESOURCEDISCOVERYASSOCIATION_MEMBER_OWNER_ID,
  263    263   
        &IPAMRESOURCEDISCOVERYASSOCIATION_MEMBER_IPAM_RESOURCE_DISCOVERY_ASSOCIATION_ID,
  264    264   
        &IPAMRESOURCEDISCOVERYASSOCIATION_MEMBER_IPAM_RESOURCE_DISCOVERY_ASSOCIATION_ARN,
@@ -301,301 +428,436 @@
  321    321   
                    }
  322    322   
                    Ok(())
  323    323   
                },
  324    324   
            )?;
  325    325   
        }
  326    326   
        Ok(())
  327    327   
    }
  328    328   
}
  329    329   
impl IpamResourceDiscoveryAssociation {
  330    330   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  331         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  332         -
        deserializer: &mut D,
         331  +
    pub fn deserialize(
         332  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  333    333   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  334    334   
        #[allow(unused_variables, unused_mut)]
  335    335   
        let mut builder = Self::builder();
  336    336   
        #[allow(
  337    337   
            unused_variables,
  338    338   
            unreachable_code,
  339    339   
            clippy::single_match,
  340    340   
            clippy::match_single_binding,
  341    341   
            clippy::diverging_sub_expression
  342    342   
        )]
  343         -
        deserializer.read_struct(&IPAMRESOURCEDISCOVERYASSOCIATION_SCHEMA, (), |_, member, deser| {
         343  +
        deserializer.read_struct(&IPAMRESOURCEDISCOVERYASSOCIATION_SCHEMA, &mut |member, deser| {
  344    344   
            match member.member_index() {
  345    345   
                Some(0) => {
  346    346   
                    builder.owner_id = Some(deser.read_string(member)?);
  347    347   
                }
  348    348   
                Some(1) => {
  349    349   
                    builder.ipam_resource_discovery_association_id = Some(deser.read_string(member)?);
  350    350   
                }
  351    351   
                Some(2) => {
  352    352   
                    builder.ipam_resource_discovery_association_arn = Some(deser.read_string(member)?);
  353    353   
                }
  354    354   
                Some(3) => {
  355    355   
                    builder.ipam_resource_discovery_id = Some(deser.read_string(member)?);
  356    356   
                }
  357    357   
                Some(4) => {
  358    358   
                    builder.ipam_id = Some(deser.read_string(member)?);
  359    359   
                }
  360    360   
                Some(5) => {
  361    361   
                    builder.ipam_arn = Some(deser.read_string(member)?);
  362    362   
                }
  363    363   
                Some(6) => {
  364    364   
                    builder.ipam_region = Some(deser.read_string(member)?);
  365    365   
                }
  366    366   
                Some(7) => {
  367    367   
                    builder.is_default = Some(deser.read_boolean(member)?);
  368    368   
                }
  369    369   
                Some(8) => {
  370    370   
                    builder.resource_discovery_status = Some(crate::types::IpamAssociatedResourceDiscoveryStatus::from(
  371    371   
                        deser.read_string(member)?.as_str(),
  372    372   
                    ));
  373    373   
                }
  374    374   
                Some(9) => {
  375    375   
                    builder.state = Some(crate::types::IpamResourceDiscoveryAssociationState::from(
  376    376   
                        deser.read_string(member)?.as_str(),
  377    377   
                    ));
  378    378   
                }
  379    379   
                Some(10) => {
  380    380   
                    builder.tags = Some({
  381         -
                        let container = if let Some(cap) = deser.container_size() {
  382         -
                            Vec::with_capacity(cap)
  383         -
                        } else {
  384         -
                            Vec::new()
  385         -
                        };
  386         -
                        deser.read_list(member, container, |mut list, deser| {
  387         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  388         -
                            Ok(list)
  389         -
                        })?
         381  +
                        let mut container = Vec::new();
         382  +
                        deser.read_list(member, &mut |deser| {
         383  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         384  +
                            Ok(())
         385  +
                        })?;
         386  +
                        container
  390    387   
                    });
  391    388   
                }
  392    389   
                _ => {}
  393    390   
            }
  394    391   
            Ok(())
  395    392   
        })?;
  396    393   
        Ok(builder.build())
  397    394   
    }
  398    395   
}
         396  +
impl IpamResourceDiscoveryAssociation {
         397  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         398  +
    pub fn deserialize_with_response(
         399  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         400  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         401  +
        _status: u16,
         402  +
        _body: &[u8],
         403  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         404  +
        Self::deserialize(deserializer)
         405  +
    }
         406  +
}
  399    407   
impl IpamResourceDiscoveryAssociation {
  400    408   
    /// Creates a new builder-style object to manufacture [`IpamResourceDiscoveryAssociation`](crate::types::IpamResourceDiscoveryAssociation).
  401    409   
    pub fn builder() -> crate::types::builders::IpamResourceDiscoveryAssociationBuilder {
  402    410   
        crate::types::builders::IpamResourceDiscoveryAssociationBuilder::default()
  403    411   
    }
  404    412   
}
  405    413   
  406    414   
/// A builder for [`IpamResourceDiscoveryAssociation`](crate::types::IpamResourceDiscoveryAssociation).
  407    415   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  408    416   
#[non_exhaustive]