AWS SDK

AWS SDK

rev. e063993ca0ab793f44c575dbe707d50a5e3e2406

Files changed:

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

@@ -163,163 +421,421 @@
  183    183   
    "com.amazonaws.ec2",
  184    184   
    "SpotFleetLaunchSpecification",
  185    185   
);
  186    186   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_ADDRESSING_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  187    187   
    ::aws_smithy_schema::ShapeId::from_static(
  188    188   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$AddressingType",
  189    189   
        "com.amazonaws.ec2",
  190    190   
        "SpotFleetLaunchSpecification",
  191    191   
    ),
  192    192   
    ::aws_smithy_schema::ShapeType::String,
  193         -
    "addressing_type",
         193  +
    "AddressingType",
  194    194   
    0,
  195    195   
)
  196    196   
.with_xml_name("addressingType");
  197    197   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_BLOCK_DEVICE_MAPPINGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  198    198   
    ::aws_smithy_schema::ShapeId::from_static(
  199    199   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$BlockDeviceMappings",
  200    200   
        "com.amazonaws.ec2",
  201    201   
        "SpotFleetLaunchSpecification",
  202    202   
    ),
  203    203   
    ::aws_smithy_schema::ShapeType::List,
  204         -
    "block_device_mappings",
         204  +
    "BlockDeviceMappings",
  205    205   
    1,
  206    206   
)
  207    207   
.with_xml_name("blockDeviceMapping");
  208    208   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_EBS_OPTIMIZED: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  209    209   
    ::aws_smithy_schema::ShapeId::from_static(
  210    210   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$EbsOptimized",
  211    211   
        "com.amazonaws.ec2",
  212    212   
        "SpotFleetLaunchSpecification",
  213    213   
    ),
  214    214   
    ::aws_smithy_schema::ShapeType::Boolean,
  215         -
    "ebs_optimized",
         215  +
    "EbsOptimized",
  216    216   
    2,
  217    217   
)
  218    218   
.with_xml_name("ebsOptimized");
  219    219   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_IAM_INSTANCE_PROFILE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  220    220   
    ::aws_smithy_schema::ShapeId::from_static(
  221    221   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$IamInstanceProfile",
  222    222   
        "com.amazonaws.ec2",
  223    223   
        "SpotFleetLaunchSpecification",
  224    224   
    ),
  225    225   
    ::aws_smithy_schema::ShapeType::Structure,
  226         -
    "iam_instance_profile",
         226  +
    "IamInstanceProfile",
  227    227   
    3,
  228    228   
)
  229    229   
.with_xml_name("iamInstanceProfile");
  230    230   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_IMAGE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  231    231   
    ::aws_smithy_schema::ShapeId::from_static(
  232    232   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$ImageId",
  233    233   
        "com.amazonaws.ec2",
  234    234   
        "SpotFleetLaunchSpecification",
  235    235   
    ),
  236    236   
    ::aws_smithy_schema::ShapeType::String,
  237         -
    "image_id",
         237  +
    "ImageId",
  238    238   
    4,
  239    239   
)
  240    240   
.with_xml_name("imageId");
  241    241   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_INSTANCE_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  242    242   
    ::aws_smithy_schema::ShapeId::from_static(
  243    243   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$InstanceType",
  244    244   
        "com.amazonaws.ec2",
  245    245   
        "SpotFleetLaunchSpecification",
  246    246   
    ),
  247    247   
    ::aws_smithy_schema::ShapeType::String,
  248         -
    "instance_type",
         248  +
    "InstanceType",
  249    249   
    5,
  250    250   
)
  251    251   
.with_xml_name("instanceType");
  252    252   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_KERNEL_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  253    253   
    ::aws_smithy_schema::ShapeId::from_static(
  254    254   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$KernelId",
  255    255   
        "com.amazonaws.ec2",
  256    256   
        "SpotFleetLaunchSpecification",
  257    257   
    ),
  258    258   
    ::aws_smithy_schema::ShapeType::String,
  259         -
    "kernel_id",
         259  +
    "KernelId",
  260    260   
    6,
  261    261   
)
  262    262   
.with_xml_name("kernelId");
  263    263   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_KEY_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  264    264   
    ::aws_smithy_schema::ShapeId::from_static(
  265    265   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$KeyName",
  266    266   
        "com.amazonaws.ec2",
  267    267   
        "SpotFleetLaunchSpecification",
  268    268   
    ),
  269    269   
    ::aws_smithy_schema::ShapeType::String,
  270         -
    "key_name",
         270  +
    "KeyName",
  271    271   
    7,
  272    272   
)
  273    273   
.with_xml_name("keyName");
  274    274   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_MONITORING: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  275    275   
    ::aws_smithy_schema::ShapeId::from_static(
  276    276   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$Monitoring",
  277    277   
        "com.amazonaws.ec2",
  278    278   
        "SpotFleetLaunchSpecification",
  279    279   
    ),
  280    280   
    ::aws_smithy_schema::ShapeType::Structure,
  281         -
    "monitoring",
         281  +
    "Monitoring",
  282    282   
    8,
  283    283   
)
  284    284   
.with_xml_name("monitoring");
  285    285   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_NETWORK_INTERFACES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  286    286   
    ::aws_smithy_schema::ShapeId::from_static(
  287    287   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$NetworkInterfaces",
  288    288   
        "com.amazonaws.ec2",
  289    289   
        "SpotFleetLaunchSpecification",
  290    290   
    ),
  291    291   
    ::aws_smithy_schema::ShapeType::List,
  292         -
    "network_interfaces",
         292  +
    "NetworkInterfaces",
  293    293   
    9,
  294    294   
)
  295    295   
.with_xml_name("networkInterfaceSet");
  296    296   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_PLACEMENT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  297    297   
    ::aws_smithy_schema::ShapeId::from_static(
  298    298   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$Placement",
  299    299   
        "com.amazonaws.ec2",
  300    300   
        "SpotFleetLaunchSpecification",
  301    301   
    ),
  302    302   
    ::aws_smithy_schema::ShapeType::Structure,
  303         -
    "placement",
         303  +
    "Placement",
  304    304   
    10,
  305    305   
)
  306    306   
.with_xml_name("placement");
  307    307   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_RAMDISK_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  308    308   
    ::aws_smithy_schema::ShapeId::from_static(
  309    309   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$RamdiskId",
  310    310   
        "com.amazonaws.ec2",
  311    311   
        "SpotFleetLaunchSpecification",
  312    312   
    ),
  313    313   
    ::aws_smithy_schema::ShapeType::String,
  314         -
    "ramdisk_id",
         314  +
    "RamdiskId",
  315    315   
    11,
  316    316   
)
  317    317   
.with_xml_name("ramdiskId");
  318    318   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_SPOT_PRICE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  319    319   
    ::aws_smithy_schema::ShapeId::from_static(
  320    320   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$SpotPrice",
  321    321   
        "com.amazonaws.ec2",
  322    322   
        "SpotFleetLaunchSpecification",
  323    323   
    ),
  324    324   
    ::aws_smithy_schema::ShapeType::String,
  325         -
    "spot_price",
         325  +
    "SpotPrice",
  326    326   
    12,
  327    327   
)
  328    328   
.with_xml_name("spotPrice");
  329    329   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_SUBNET_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  330    330   
    ::aws_smithy_schema::ShapeId::from_static(
  331    331   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$SubnetId",
  332    332   
        "com.amazonaws.ec2",
  333    333   
        "SpotFleetLaunchSpecification",
  334    334   
    ),
  335    335   
    ::aws_smithy_schema::ShapeType::String,
  336         -
    "subnet_id",
         336  +
    "SubnetId",
  337    337   
    13,
  338    338   
)
  339    339   
.with_xml_name("subnetId");
  340    340   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_USER_DATA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  341    341   
    ::aws_smithy_schema::ShapeId::from_static(
  342    342   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$UserData",
  343    343   
        "com.amazonaws.ec2",
  344    344   
        "SpotFleetLaunchSpecification",
  345    345   
    ),
  346    346   
    ::aws_smithy_schema::ShapeType::String,
  347         -
    "user_data",
         347  +
    "UserData",
  348    348   
    14,
  349    349   
)
  350    350   
.with_xml_name("userData");
  351    351   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_WEIGHTED_CAPACITY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  352    352   
    ::aws_smithy_schema::ShapeId::from_static(
  353    353   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$WeightedCapacity",
  354    354   
        "com.amazonaws.ec2",
  355    355   
        "SpotFleetLaunchSpecification",
  356    356   
    ),
  357    357   
    ::aws_smithy_schema::ShapeType::Double,
  358         -
    "weighted_capacity",
         358  +
    "WeightedCapacity",
  359    359   
    15,
  360    360   
)
  361    361   
.with_xml_name("weightedCapacity");
  362    362   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_TAG_SPECIFICATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  363    363   
    ::aws_smithy_schema::ShapeId::from_static(
  364    364   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$TagSpecifications",
  365    365   
        "com.amazonaws.ec2",
  366    366   
        "SpotFleetLaunchSpecification",
  367    367   
    ),
  368    368   
    ::aws_smithy_schema::ShapeType::List,
  369         -
    "tag_specifications",
         369  +
    "TagSpecifications",
  370    370   
    16,
  371    371   
)
  372    372   
.with_xml_name("tagSpecificationSet");
  373    373   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_INSTANCE_REQUIREMENTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  374    374   
    ::aws_smithy_schema::ShapeId::from_static(
  375    375   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$InstanceRequirements",
  376    376   
        "com.amazonaws.ec2",
  377    377   
        "SpotFleetLaunchSpecification",
  378    378   
    ),
  379    379   
    ::aws_smithy_schema::ShapeType::Structure,
  380         -
    "instance_requirements",
         380  +
    "InstanceRequirements",
  381    381   
    17,
  382    382   
)
  383    383   
.with_xml_name("instanceRequirements");
  384    384   
static SPOTFLEETLAUNCHSPECIFICATION_MEMBER_SECURITY_GROUPS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  385    385   
    ::aws_smithy_schema::ShapeId::from_static(
  386    386   
        "com.amazonaws.ec2#SpotFleetLaunchSpecification$SecurityGroups",
  387    387   
        "com.amazonaws.ec2",
  388    388   
        "SpotFleetLaunchSpecification",
  389    389   
    ),
  390    390   
    ::aws_smithy_schema::ShapeType::List,
  391         -
    "security_groups",
         391  +
    "SecurityGroups",
  392    392   
    18,
  393    393   
)
  394    394   
.with_xml_name("groupSet");
  395    395   
static SPOTFLEETLAUNCHSPECIFICATION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  396    396   
    SPOTFLEETLAUNCHSPECIFICATION_SCHEMA_ID,
  397    397   
    ::aws_smithy_schema::ShapeType::Structure,
  398    398   
    &[
  399    399   
        &SPOTFLEETLAUNCHSPECIFICATION_MEMBER_ADDRESSING_TYPE,
  400    400   
        &SPOTFLEETLAUNCHSPECIFICATION_MEMBER_BLOCK_DEVICE_MAPPINGS,
  401    401   
        &SPOTFLEETLAUNCHSPECIFICATION_MEMBER_EBS_OPTIMIZED,
@@ -494,494 +671,670 @@
  514    514   
                    }
  515    515   
                    Ok(())
  516    516   
                },
  517    517   
            )?;
  518    518   
        }
  519    519   
        Ok(())
  520    520   
    }
  521    521   
}
  522    522   
impl SpotFleetLaunchSpecification {
  523    523   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  524         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  525         -
        deserializer: &mut D,
         524  +
    pub fn deserialize(
         525  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  526    526   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  527    527   
        #[allow(unused_variables, unused_mut)]
  528    528   
        let mut builder = Self::builder();
  529    529   
        #[allow(
  530    530   
            unused_variables,
  531    531   
            unreachable_code,
  532    532   
            clippy::single_match,
  533    533   
            clippy::match_single_binding,
  534    534   
            clippy::diverging_sub_expression
  535    535   
        )]
  536         -
        deserializer.read_struct(&SPOTFLEETLAUNCHSPECIFICATION_SCHEMA, (), |_, member, deser| {
         536  +
        deserializer.read_struct(&SPOTFLEETLAUNCHSPECIFICATION_SCHEMA, &mut |member, deser| {
  537    537   
            match member.member_index() {
  538    538   
                Some(0) => {
  539    539   
                    builder.addressing_type = Some(deser.read_string(member)?);
  540    540   
                }
  541    541   
                Some(1) => {
  542    542   
                    builder.block_device_mappings = Some({
  543         -
                        let container = if let Some(cap) = deser.container_size() {
  544         -
                            Vec::with_capacity(cap)
  545         -
                        } else {
  546         -
                            Vec::new()
  547         -
                        };
  548         -
                        deser.read_list(member, container, |mut list, deser| {
  549         -
                            list.push(crate::types::BlockDeviceMapping::deserialize(deser)?);
  550         -
                            Ok(list)
  551         -
                        })?
         543  +
                        let mut container = Vec::new();
         544  +
                        deser.read_list(member, &mut |deser| {
         545  +
                            container.push(crate::types::BlockDeviceMapping::deserialize(deser)?);
         546  +
                            Ok(())
         547  +
                        })?;
         548  +
                        container
  552    549   
                    });
  553    550   
                }
  554    551   
                Some(2) => {
  555    552   
                    builder.ebs_optimized = Some(deser.read_boolean(member)?);
  556    553   
                }
  557    554   
                Some(3) => {
  558    555   
                    builder.iam_instance_profile = Some(crate::types::IamInstanceProfileSpecification::deserialize(deser)?);
  559    556   
                }
  560    557   
                Some(4) => {
  561    558   
                    builder.image_id = Some(deser.read_string(member)?);
  562    559   
                }
  563    560   
                Some(5) => {
  564    561   
                    builder.instance_type = Some(crate::types::InstanceType::from(deser.read_string(member)?.as_str()));
  565    562   
                }
  566    563   
                Some(6) => {
  567    564   
                    builder.kernel_id = Some(deser.read_string(member)?);
  568    565   
                }
  569    566   
                Some(7) => {
  570    567   
                    builder.key_name = Some(deser.read_string(member)?);
  571    568   
                }
  572    569   
                Some(8) => {
  573    570   
                    builder.monitoring = Some(crate::types::SpotFleetMonitoring::deserialize(deser)?);
  574    571   
                }
  575    572   
                Some(9) => {
  576    573   
                    builder.network_interfaces = Some({
  577         -
                        let container = if let Some(cap) = deser.container_size() {
  578         -
                            Vec::with_capacity(cap)
  579         -
                        } else {
  580         -
                            Vec::new()
  581         -
                        };
  582         -
                        deser.read_list(member, container, |mut list, deser| {
  583         -
                            list.push(crate::types::InstanceNetworkInterfaceSpecification::deserialize(deser)?);
  584         -
                            Ok(list)
  585         -
                        })?
         574  +
                        let mut container = Vec::new();
         575  +
                        deser.read_list(member, &mut |deser| {
         576  +
                            container.push(crate::types::InstanceNetworkInterfaceSpecification::deserialize(deser)?);
         577  +
                            Ok(())
         578  +
                        })?;
         579  +
                        container
  586    580   
                    });
  587    581   
                }
  588    582   
                Some(10) => {
  589    583   
                    builder.placement = Some(crate::types::SpotPlacement::deserialize(deser)?);
  590    584   
                }
  591    585   
                Some(11) => {
  592    586   
                    builder.ramdisk_id = Some(deser.read_string(member)?);
  593    587   
                }
  594    588   
                Some(12) => {
  595    589   
                    builder.spot_price = Some(deser.read_string(member)?);
  596    590   
                }
  597    591   
                Some(13) => {
  598    592   
                    builder.subnet_id = Some(deser.read_string(member)?);
  599    593   
                }
  600    594   
                Some(14) => {
  601    595   
                    builder.user_data = Some(deser.read_string(member)?);
  602    596   
                }
  603    597   
                Some(15) => {
  604    598   
                    builder.weighted_capacity = Some(deser.read_double(member)?);
  605    599   
                }
  606    600   
                Some(16) => {
  607    601   
                    builder.tag_specifications = Some({
  608         -
                        let container = if let Some(cap) = deser.container_size() {
  609         -
                            Vec::with_capacity(cap)
  610         -
                        } else {
  611         -
                            Vec::new()
  612         -
                        };
  613         -
                        deser.read_list(member, container, |mut list, deser| {
  614         -
                            list.push(crate::types::SpotFleetTagSpecification::deserialize(deser)?);
  615         -
                            Ok(list)
  616         -
                        })?
         602  +
                        let mut container = Vec::new();
         603  +
                        deser.read_list(member, &mut |deser| {
         604  +
                            container.push(crate::types::SpotFleetTagSpecification::deserialize(deser)?);
         605  +
                            Ok(())
         606  +
                        })?;
         607  +
                        container
  617    608   
                    });
  618    609   
                }
  619    610   
                Some(17) => {
  620    611   
                    builder.instance_requirements = Some(crate::types::InstanceRequirements::deserialize(deser)?);
  621    612   
                }
  622    613   
                Some(18) => {
  623    614   
                    builder.security_groups = Some({
  624         -
                        let container = if let Some(cap) = deser.container_size() {
  625         -
                            Vec::with_capacity(cap)
  626         -
                        } else {
  627         -
                            Vec::new()
  628         -
                        };
  629         -
                        deser.read_list(member, container, |mut list, deser| {
  630         -
                            list.push(crate::types::GroupIdentifier::deserialize(deser)?);
  631         -
                            Ok(list)
  632         -
                        })?
         615  +
                        let mut container = Vec::new();
         616  +
                        deser.read_list(member, &mut |deser| {
         617  +
                            container.push(crate::types::GroupIdentifier::deserialize(deser)?);
         618  +
                            Ok(())
         619  +
                        })?;
         620  +
                        container
  633    621   
                    });
  634    622   
                }
  635    623   
                _ => {}
  636    624   
            }
  637    625   
            Ok(())
  638    626   
        })?;
  639    627   
        Ok(builder.build())
  640    628   
    }
  641    629   
}
         630  +
impl SpotFleetLaunchSpecification {
         631  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         632  +
    pub fn deserialize_with_response(
         633  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         634  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         635  +
        _status: u16,
         636  +
        _body: &[u8],
         637  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         638  +
        Self::deserialize(deserializer)
         639  +
    }
         640  +
}
  642    641   
impl SpotFleetLaunchSpecification {
  643    642   
    /// Creates a new builder-style object to manufacture [`SpotFleetLaunchSpecification`](crate::types::SpotFleetLaunchSpecification).
  644    643   
    pub fn builder() -> crate::types::builders::SpotFleetLaunchSpecificationBuilder {
  645    644   
        crate::types::builders::SpotFleetLaunchSpecificationBuilder::default()
  646    645   
    }
  647    646   
}
  648    647   
  649    648   
/// A builder for [`SpotFleetLaunchSpecification`](crate::types::SpotFleetLaunchSpecification).
  650    649   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
  651    650   
#[non_exhaustive]

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

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

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

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

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

@@ -238,238 +573,573 @@
  258    258   
    "com.amazonaws.ec2",
  259    259   
    "SpotFleetRequestConfigData",
  260    260   
);
  261    261   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_ALLOCATION_STRATEGY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  262    262   
    ::aws_smithy_schema::ShapeId::from_static(
  263    263   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$AllocationStrategy",
  264    264   
        "com.amazonaws.ec2",
  265    265   
        "SpotFleetRequestConfigData",
  266    266   
    ),
  267    267   
    ::aws_smithy_schema::ShapeType::String,
  268         -
    "allocation_strategy",
         268  +
    "AllocationStrategy",
  269    269   
    0,
  270    270   
)
  271    271   
.with_xml_name("allocationStrategy");
  272    272   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_ON_DEMAND_ALLOCATION_STRATEGY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  273    273   
    ::aws_smithy_schema::ShapeId::from_static(
  274    274   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$OnDemandAllocationStrategy",
  275    275   
        "com.amazonaws.ec2",
  276    276   
        "SpotFleetRequestConfigData",
  277    277   
    ),
  278    278   
    ::aws_smithy_schema::ShapeType::String,
  279         -
    "on_demand_allocation_strategy",
         279  +
    "OnDemandAllocationStrategy",
  280    280   
    1,
  281    281   
)
  282    282   
.with_xml_name("onDemandAllocationStrategy");
  283    283   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_SPOT_MAINTENANCE_STRATEGIES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  284    284   
    ::aws_smithy_schema::ShapeId::from_static(
  285    285   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$SpotMaintenanceStrategies",
  286    286   
        "com.amazonaws.ec2",
  287    287   
        "SpotFleetRequestConfigData",
  288    288   
    ),
  289    289   
    ::aws_smithy_schema::ShapeType::Structure,
  290         -
    "spot_maintenance_strategies",
         290  +
    "SpotMaintenanceStrategies",
  291    291   
    2,
  292    292   
)
  293    293   
.with_xml_name("spotMaintenanceStrategies");
  294    294   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_CLIENT_TOKEN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  295    295   
    ::aws_smithy_schema::ShapeId::from_static(
  296    296   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$ClientToken",
  297    297   
        "com.amazonaws.ec2",
  298    298   
        "SpotFleetRequestConfigData",
  299    299   
    ),
  300    300   
    ::aws_smithy_schema::ShapeType::String,
  301         -
    "client_token",
         301  +
    "ClientToken",
  302    302   
    3,
  303    303   
)
  304    304   
.with_xml_name("clientToken");
  305    305   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_EXCESS_CAPACITY_TERMINATION_POLICY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  306    306   
    ::aws_smithy_schema::ShapeId::from_static(
  307    307   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$ExcessCapacityTerminationPolicy",
  308    308   
        "com.amazonaws.ec2",
  309    309   
        "SpotFleetRequestConfigData",
  310    310   
    ),
  311    311   
    ::aws_smithy_schema::ShapeType::String,
  312         -
    "excess_capacity_termination_policy",
         312  +
    "ExcessCapacityTerminationPolicy",
  313    313   
    4,
  314    314   
)
  315    315   
.with_xml_name("excessCapacityTerminationPolicy");
  316    316   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_FULFILLED_CAPACITY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  317    317   
    ::aws_smithy_schema::ShapeId::from_static(
  318    318   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$FulfilledCapacity",
  319    319   
        "com.amazonaws.ec2",
  320    320   
        "SpotFleetRequestConfigData",
  321    321   
    ),
  322    322   
    ::aws_smithy_schema::ShapeType::Double,
  323         -
    "fulfilled_capacity",
         323  +
    "FulfilledCapacity",
  324    324   
    5,
  325    325   
)
  326    326   
.with_xml_name("fulfilledCapacity");
  327    327   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_ON_DEMAND_FULFILLED_CAPACITY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  328    328   
    ::aws_smithy_schema::ShapeId::from_static(
  329    329   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$OnDemandFulfilledCapacity",
  330    330   
        "com.amazonaws.ec2",
  331    331   
        "SpotFleetRequestConfigData",
  332    332   
    ),
  333    333   
    ::aws_smithy_schema::ShapeType::Double,
  334         -
    "on_demand_fulfilled_capacity",
         334  +
    "OnDemandFulfilledCapacity",
  335    335   
    6,
  336    336   
)
  337    337   
.with_xml_name("onDemandFulfilledCapacity");
  338    338   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_IAM_FLEET_ROLE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  339    339   
    ::aws_smithy_schema::ShapeId::from_static(
  340    340   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$IamFleetRole",
  341    341   
        "com.amazonaws.ec2",
  342    342   
        "SpotFleetRequestConfigData",
  343    343   
    ),
  344    344   
    ::aws_smithy_schema::ShapeType::String,
  345         -
    "iam_fleet_role",
         345  +
    "IamFleetRole",
  346    346   
    7,
  347    347   
)
  348    348   
.with_xml_name("iamFleetRole");
  349    349   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_LAUNCH_SPECIFICATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  350    350   
    ::aws_smithy_schema::ShapeId::from_static(
  351    351   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$LaunchSpecifications",
  352    352   
        "com.amazonaws.ec2",
  353    353   
        "SpotFleetRequestConfigData",
  354    354   
    ),
  355    355   
    ::aws_smithy_schema::ShapeType::List,
  356         -
    "launch_specifications",
         356  +
    "LaunchSpecifications",
  357    357   
    8,
  358    358   
)
  359    359   
.with_xml_name("launchSpecifications");
  360    360   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_LAUNCH_TEMPLATE_CONFIGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  361    361   
    ::aws_smithy_schema::ShapeId::from_static(
  362    362   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$LaunchTemplateConfigs",
  363    363   
        "com.amazonaws.ec2",
  364    364   
        "SpotFleetRequestConfigData",
  365    365   
    ),
  366    366   
    ::aws_smithy_schema::ShapeType::List,
  367         -
    "launch_template_configs",
         367  +
    "LaunchTemplateConfigs",
  368    368   
    9,
  369    369   
)
  370    370   
.with_xml_name("launchTemplateConfigs");
  371    371   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_SPOT_PRICE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  372    372   
    ::aws_smithy_schema::ShapeId::from_static(
  373    373   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$SpotPrice",
  374    374   
        "com.amazonaws.ec2",
  375    375   
        "SpotFleetRequestConfigData",
  376    376   
    ),
  377    377   
    ::aws_smithy_schema::ShapeType::String,
  378         -
    "spot_price",
         378  +
    "SpotPrice",
  379    379   
    10,
  380    380   
)
  381    381   
.with_xml_name("spotPrice");
  382    382   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_TARGET_CAPACITY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  383    383   
    ::aws_smithy_schema::ShapeId::from_static(
  384    384   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$TargetCapacity",
  385    385   
        "com.amazonaws.ec2",
  386    386   
        "SpotFleetRequestConfigData",
  387    387   
    ),
  388    388   
    ::aws_smithy_schema::ShapeType::Integer,
  389         -
    "target_capacity",
         389  +
    "TargetCapacity",
  390    390   
    11,
  391    391   
)
  392    392   
.with_xml_name("targetCapacity");
  393    393   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_ON_DEMAND_TARGET_CAPACITY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  394    394   
    ::aws_smithy_schema::ShapeId::from_static(
  395    395   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$OnDemandTargetCapacity",
  396    396   
        "com.amazonaws.ec2",
  397    397   
        "SpotFleetRequestConfigData",
  398    398   
    ),
  399    399   
    ::aws_smithy_schema::ShapeType::Integer,
  400         -
    "on_demand_target_capacity",
         400  +
    "OnDemandTargetCapacity",
  401    401   
    12,
  402    402   
)
  403    403   
.with_xml_name("onDemandTargetCapacity");
  404    404   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_ON_DEMAND_MAX_TOTAL_PRICE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  405    405   
    ::aws_smithy_schema::ShapeId::from_static(
  406    406   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$OnDemandMaxTotalPrice",
  407    407   
        "com.amazonaws.ec2",
  408    408   
        "SpotFleetRequestConfigData",
  409    409   
    ),
  410    410   
    ::aws_smithy_schema::ShapeType::String,
  411         -
    "on_demand_max_total_price",
         411  +
    "OnDemandMaxTotalPrice",
  412    412   
    13,
  413    413   
)
  414    414   
.with_xml_name("onDemandMaxTotalPrice");
  415    415   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_SPOT_MAX_TOTAL_PRICE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  416    416   
    ::aws_smithy_schema::ShapeId::from_static(
  417    417   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$SpotMaxTotalPrice",
  418    418   
        "com.amazonaws.ec2",
  419    419   
        "SpotFleetRequestConfigData",
  420    420   
    ),
  421    421   
    ::aws_smithy_schema::ShapeType::String,
  422         -
    "spot_max_total_price",
         422  +
    "SpotMaxTotalPrice",
  423    423   
    14,
  424    424   
)
  425    425   
.with_xml_name("spotMaxTotalPrice");
  426    426   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_TERMINATE_INSTANCES_WITH_EXPIRATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  427    427   
    ::aws_smithy_schema::ShapeId::from_static(
  428    428   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$TerminateInstancesWithExpiration",
  429    429   
        "com.amazonaws.ec2",
  430    430   
        "SpotFleetRequestConfigData",
  431    431   
    ),
  432    432   
    ::aws_smithy_schema::ShapeType::Boolean,
  433         -
    "terminate_instances_with_expiration",
         433  +
    "TerminateInstancesWithExpiration",
  434    434   
    15,
  435    435   
)
  436    436   
.with_xml_name("terminateInstancesWithExpiration");
  437    437   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  438    438   
    ::aws_smithy_schema::ShapeId::from_static(
  439    439   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$Type",
  440    440   
        "com.amazonaws.ec2",
  441    441   
        "SpotFleetRequestConfigData",
  442    442   
    ),
  443    443   
    ::aws_smithy_schema::ShapeType::String,
  444         -
    "r##type",
         444  +
    "Type",
  445    445   
    16,
  446    446   
)
  447    447   
.with_xml_name("type");
  448    448   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_VALID_FROM: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  449    449   
    ::aws_smithy_schema::ShapeId::from_static(
  450    450   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$ValidFrom",
  451    451   
        "com.amazonaws.ec2",
  452    452   
        "SpotFleetRequestConfigData",
  453    453   
    ),
  454    454   
    ::aws_smithy_schema::ShapeType::Timestamp,
  455         -
    "valid_from",
         455  +
    "ValidFrom",
  456    456   
    17,
  457    457   
)
  458    458   
.with_xml_name("validFrom");
  459    459   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_VALID_UNTIL: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  460    460   
    ::aws_smithy_schema::ShapeId::from_static(
  461    461   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$ValidUntil",
  462    462   
        "com.amazonaws.ec2",
  463    463   
        "SpotFleetRequestConfigData",
  464    464   
    ),
  465    465   
    ::aws_smithy_schema::ShapeType::Timestamp,
  466         -
    "valid_until",
         466  +
    "ValidUntil",
  467    467   
    18,
  468    468   
)
  469    469   
.with_xml_name("validUntil");
  470    470   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_REPLACE_UNHEALTHY_INSTANCES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  471    471   
    ::aws_smithy_schema::ShapeId::from_static(
  472    472   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$ReplaceUnhealthyInstances",
  473    473   
        "com.amazonaws.ec2",
  474    474   
        "SpotFleetRequestConfigData",
  475    475   
    ),
  476    476   
    ::aws_smithy_schema::ShapeType::Boolean,
  477         -
    "replace_unhealthy_instances",
         477  +
    "ReplaceUnhealthyInstances",
  478    478   
    19,
  479    479   
)
  480    480   
.with_xml_name("replaceUnhealthyInstances");
  481    481   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_INSTANCE_INTERRUPTION_BEHAVIOR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  482    482   
    ::aws_smithy_schema::ShapeId::from_static(
  483    483   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$InstanceInterruptionBehavior",
  484    484   
        "com.amazonaws.ec2",
  485    485   
        "SpotFleetRequestConfigData",
  486    486   
    ),
  487    487   
    ::aws_smithy_schema::ShapeType::String,
  488         -
    "instance_interruption_behavior",
         488  +
    "InstanceInterruptionBehavior",
  489    489   
    20,
  490    490   
)
  491    491   
.with_xml_name("instanceInterruptionBehavior");
  492    492   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_LOAD_BALANCERS_CONFIG: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  493    493   
    ::aws_smithy_schema::ShapeId::from_static(
  494    494   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$LoadBalancersConfig",
  495    495   
        "com.amazonaws.ec2",
  496    496   
        "SpotFleetRequestConfigData",
  497    497   
    ),
  498    498   
    ::aws_smithy_schema::ShapeType::Structure,
  499         -
    "load_balancers_config",
         499  +
    "LoadBalancersConfig",
  500    500   
    21,
  501    501   
)
  502    502   
.with_xml_name("loadBalancersConfig");
  503    503   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_INSTANCE_POOLS_TO_USE_COUNT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  504    504   
    ::aws_smithy_schema::ShapeId::from_static(
  505    505   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$InstancePoolsToUseCount",
  506    506   
        "com.amazonaws.ec2",
  507    507   
        "SpotFleetRequestConfigData",
  508    508   
    ),
  509    509   
    ::aws_smithy_schema::ShapeType::Integer,
  510         -
    "instance_pools_to_use_count",
         510  +
    "InstancePoolsToUseCount",
  511    511   
    22,
  512    512   
)
  513    513   
.with_xml_name("instancePoolsToUseCount");
  514    514   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_CONTEXT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  515    515   
    ::aws_smithy_schema::ShapeId::from_static(
  516    516   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$Context",
  517    517   
        "com.amazonaws.ec2",
  518    518   
        "SpotFleetRequestConfigData",
  519    519   
    ),
  520    520   
    ::aws_smithy_schema::ShapeType::String,
  521         -
    "context",
         521  +
    "Context",
  522    522   
    23,
  523    523   
)
  524    524   
.with_xml_name("context");
  525    525   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_TARGET_CAPACITY_UNIT_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  526    526   
    ::aws_smithy_schema::ShapeId::from_static(
  527    527   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$TargetCapacityUnitType",
  528    528   
        "com.amazonaws.ec2",
  529    529   
        "SpotFleetRequestConfigData",
  530    530   
    ),
  531    531   
    ::aws_smithy_schema::ShapeType::String,
  532         -
    "target_capacity_unit_type",
         532  +
    "TargetCapacityUnitType",
  533    533   
    24,
  534    534   
)
  535    535   
.with_xml_name("targetCapacityUnitType");
  536    536   
static SPOTFLEETREQUESTCONFIGDATA_MEMBER_TAG_SPECIFICATIONS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  537    537   
    ::aws_smithy_schema::ShapeId::from_static(
  538    538   
        "com.amazonaws.ec2#SpotFleetRequestConfigData$TagSpecifications",
  539    539   
        "com.amazonaws.ec2",
  540    540   
        "SpotFleetRequestConfigData",
  541    541   
    ),
  542    542   
    ::aws_smithy_schema::ShapeType::List,
  543         -
    "tag_specifications",
         543  +
    "TagSpecifications",
  544    544   
    25,
  545    545   
)
  546    546   
.with_xml_name("TagSpecification");
  547    547   
static SPOTFLEETREQUESTCONFIGDATA_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  548    548   
    SPOTFLEETREQUESTCONFIGDATA_SCHEMA_ID,
  549    549   
    ::aws_smithy_schema::ShapeType::Structure,
  550    550   
    &[
  551    551   
        &SPOTFLEETREQUESTCONFIGDATA_MEMBER_ALLOCATION_STRATEGY,
  552    552   
        &SPOTFLEETREQUESTCONFIGDATA_MEMBER_ON_DEMAND_ALLOCATION_STRATEGY,
  553    553   
        &SPOTFLEETREQUESTCONFIGDATA_MEMBER_SPOT_MAINTENANCE_STRATEGIES,
@@ -666,666 +856,858 @@
  686    686   
                    }
  687    687   
                    Ok(())
  688    688   
                },
  689    689   
            )?;
  690    690   
        }
  691    691   
        Ok(())
  692    692   
    }
  693    693   
}
  694    694   
impl SpotFleetRequestConfigData {
  695    695   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  696         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  697         -
        deserializer: &mut D,
         696  +
    pub fn deserialize(
         697  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  698    698   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  699    699   
        #[allow(unused_variables, unused_mut)]
  700    700   
        let mut builder = Self::builder();
  701    701   
        #[allow(
  702    702   
            unused_variables,
  703    703   
            unreachable_code,
  704    704   
            clippy::single_match,
  705    705   
            clippy::match_single_binding,
  706    706   
            clippy::diverging_sub_expression
  707    707   
        )]
  708         -
        deserializer.read_struct(&SPOTFLEETREQUESTCONFIGDATA_SCHEMA, (), |_, member, deser| {
         708  +
        deserializer.read_struct(&SPOTFLEETREQUESTCONFIGDATA_SCHEMA, &mut |member, deser| {
  709    709   
            match member.member_index() {
  710    710   
                Some(0) => {
  711    711   
                    builder.allocation_strategy = Some(crate::types::AllocationStrategy::from(deser.read_string(member)?.as_str()));
  712    712   
                }
  713    713   
                Some(1) => {
  714    714   
                    builder.on_demand_allocation_strategy = Some(crate::types::OnDemandAllocationStrategy::from(deser.read_string(member)?.as_str()));
  715    715   
                }
  716    716   
                Some(2) => {
  717    717   
                    builder.spot_maintenance_strategies = Some(crate::types::SpotMaintenanceStrategies::deserialize(deser)?);
  718    718   
                }
  719    719   
                Some(3) => {
  720    720   
                    builder.client_token = Some(deser.read_string(member)?);
  721    721   
                }
  722    722   
                Some(4) => {
  723    723   
                    builder.excess_capacity_termination_policy =
  724    724   
                        Some(crate::types::ExcessCapacityTerminationPolicy::from(deser.read_string(member)?.as_str()));
  725    725   
                }
  726    726   
                Some(5) => {
  727    727   
                    builder.fulfilled_capacity = Some(deser.read_double(member)?);
  728    728   
                }
  729    729   
                Some(6) => {
  730    730   
                    builder.on_demand_fulfilled_capacity = Some(deser.read_double(member)?);
  731    731   
                }
  732    732   
                Some(7) => {
  733    733   
                    builder.iam_fleet_role = Some(deser.read_string(member)?);
  734    734   
                }
  735    735   
                Some(8) => {
  736    736   
                    builder.launch_specifications = Some({
  737         -
                        let container = if let Some(cap) = deser.container_size() {
  738         -
                            Vec::with_capacity(cap)
  739         -
                        } else {
  740         -
                            Vec::new()
  741         -
                        };
  742         -
                        deser.read_list(member, container, |mut list, deser| {
  743         -
                            list.push(crate::types::SpotFleetLaunchSpecification::deserialize(deser)?);
  744         -
                            Ok(list)
  745         -
                        })?
         737  +
                        let mut container = Vec::new();
         738  +
                        deser.read_list(member, &mut |deser| {
         739  +
                            container.push(crate::types::SpotFleetLaunchSpecification::deserialize(deser)?);
         740  +
                            Ok(())
         741  +
                        })?;
         742  +
                        container
  746    743   
                    });
  747    744   
                }
  748    745   
                Some(9) => {
  749    746   
                    builder.launch_template_configs = Some({
  750         -
                        let container = if let Some(cap) = deser.container_size() {
  751         -
                            Vec::with_capacity(cap)
  752         -
                        } else {
  753         -
                            Vec::new()
  754         -
                        };
  755         -
                        deser.read_list(member, container, |mut list, deser| {
  756         -
                            list.push(crate::types::LaunchTemplateConfig::deserialize(deser)?);
  757         -
                            Ok(list)
  758         -
                        })?
         747  +
                        let mut container = Vec::new();
         748  +
                        deser.read_list(member, &mut |deser| {
         749  +
                            container.push(crate::types::LaunchTemplateConfig::deserialize(deser)?);
         750  +
                            Ok(())
         751  +
                        })?;
         752  +
                        container
  759    753   
                    });
  760    754   
                }
  761    755   
                Some(10) => {
  762    756   
                    builder.spot_price = Some(deser.read_string(member)?);
  763    757   
                }
  764    758   
                Some(11) => {
  765    759   
                    builder.target_capacity = Some(deser.read_integer(member)?);
  766    760   
                }
  767    761   
                Some(12) => {
  768    762   
                    builder.on_demand_target_capacity = Some(deser.read_integer(member)?);
  769    763   
                }
  770    764   
                Some(13) => {
  771    765   
                    builder.on_demand_max_total_price = Some(deser.read_string(member)?);
  772    766   
                }
  773    767   
                Some(14) => {
  774    768   
                    builder.spot_max_total_price = Some(deser.read_string(member)?);
  775    769   
                }
  776    770   
                Some(15) => {
  777    771   
                    builder.terminate_instances_with_expiration = Some(deser.read_boolean(member)?);
  778    772   
                }
  779    773   
                Some(16) => {
  780    774   
                    builder.r#type = Some(crate::types::FleetType::from(deser.read_string(member)?.as_str()));
  781    775   
                }
  782    776   
                Some(17) => {
  783    777   
                    builder.valid_from = Some(deser.read_timestamp(member)?);
  784    778   
                }
  785    779   
                Some(18) => {
  786    780   
                    builder.valid_until = Some(deser.read_timestamp(member)?);
  787    781   
                }
  788    782   
                Some(19) => {
  789    783   
                    builder.replace_unhealthy_instances = Some(deser.read_boolean(member)?);
  790    784   
                }
  791    785   
                Some(20) => {
  792    786   
                    builder.instance_interruption_behavior =
  793    787   
                        Some(crate::types::InstanceInterruptionBehavior::from(deser.read_string(member)?.as_str()));
  794    788   
                }
  795    789   
                Some(21) => {
  796    790   
                    builder.load_balancers_config = Some(crate::types::LoadBalancersConfig::deserialize(deser)?);
  797    791   
                }
  798    792   
                Some(22) => {
  799    793   
                    builder.instance_pools_to_use_count = Some(deser.read_integer(member)?);
  800    794   
                }
  801    795   
                Some(23) => {
  802    796   
                    builder.context = Some(deser.read_string(member)?);
  803    797   
                }
  804    798   
                Some(24) => {
  805    799   
                    builder.target_capacity_unit_type = Some(crate::types::TargetCapacityUnitType::from(deser.read_string(member)?.as_str()));
  806    800   
                }
  807    801   
                Some(25) => {
  808    802   
                    builder.tag_specifications = Some({
  809         -
                        let container = if let Some(cap) = deser.container_size() {
  810         -
                            Vec::with_capacity(cap)
  811         -
                        } else {
  812         -
                            Vec::new()
  813         -
                        };
  814         -
                        deser.read_list(member, container, |mut list, deser| {
  815         -
                            list.push(crate::types::TagSpecification::deserialize(deser)?);
  816         -
                            Ok(list)
  817         -
                        })?
         803  +
                        let mut container = Vec::new();
         804  +
                        deser.read_list(member, &mut |deser| {
         805  +
                            container.push(crate::types::TagSpecification::deserialize(deser)?);
         806  +
                            Ok(())
         807  +
                        })?;
         808  +
                        container
  818    809   
                    });
  819    810   
                }
  820    811   
                _ => {}
  821    812   
            }
  822    813   
            Ok(())
  823    814   
        })?;
  824    815   
        Ok(builder.build())
  825    816   
    }
  826    817   
}
         818  +
impl SpotFleetRequestConfigData {
         819  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         820  +
    pub fn deserialize_with_response(
         821  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         822  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         823  +
        _status: u16,
         824  +
        _body: &[u8],
         825  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         826  +
        Self::deserialize(deserializer)
         827  +
    }
         828  +
}
  827    829   
impl SpotFleetRequestConfigData {
  828    830   
    /// Creates a new builder-style object to manufacture [`SpotFleetRequestConfigData`](crate::types::SpotFleetRequestConfigData).
  829    831   
    pub fn builder() -> crate::types::builders::SpotFleetRequestConfigDataBuilder {
  830    832   
        crate::types::builders::SpotFleetRequestConfigDataBuilder::default()
  831    833   
    }
  832    834   
}
  833    835   
  834    836   
/// A builder for [`SpotFleetRequestConfigData`](crate::types::SpotFleetRequestConfigData).
  835    837   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  836    838   
#[non_exhaustive]

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

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

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

@@ -131,131 +380,380 @@
  151    151   
}
  152    152   
static SPOTINSTANCEREQUEST_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
  153    153   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotInstanceRequest", "com.amazonaws.ec2", "SpotInstanceRequest");
  154    154   
static SPOTINSTANCEREQUEST_MEMBER_ACTUAL_BLOCK_HOURLY_PRICE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  155    155   
    ::aws_smithy_schema::ShapeId::from_static(
  156    156   
        "com.amazonaws.ec2#SpotInstanceRequest$ActualBlockHourlyPrice",
  157    157   
        "com.amazonaws.ec2",
  158    158   
        "SpotInstanceRequest",
  159    159   
    ),
  160    160   
    ::aws_smithy_schema::ShapeType::String,
  161         -
    "actual_block_hourly_price",
         161  +
    "ActualBlockHourlyPrice",
  162    162   
    0,
  163    163   
)
  164    164   
.with_xml_name("actualBlockHourlyPrice");
  165    165   
static SPOTINSTANCEREQUEST_MEMBER_AVAILABILITY_ZONE_GROUP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  166    166   
    ::aws_smithy_schema::ShapeId::from_static(
  167    167   
        "com.amazonaws.ec2#SpotInstanceRequest$AvailabilityZoneGroup",
  168    168   
        "com.amazonaws.ec2",
  169    169   
        "SpotInstanceRequest",
  170    170   
    ),
  171    171   
    ::aws_smithy_schema::ShapeType::String,
  172         -
    "availability_zone_group",
         172  +
    "AvailabilityZoneGroup",
  173    173   
    1,
  174    174   
)
  175    175   
.with_xml_name("availabilityZoneGroup");
  176    176   
static SPOTINSTANCEREQUEST_MEMBER_BLOCK_DURATION_MINUTES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  177    177   
    ::aws_smithy_schema::ShapeId::from_static(
  178    178   
        "com.amazonaws.ec2#SpotInstanceRequest$BlockDurationMinutes",
  179    179   
        "com.amazonaws.ec2",
  180    180   
        "SpotInstanceRequest",
  181    181   
    ),
  182    182   
    ::aws_smithy_schema::ShapeType::Integer,
  183         -
    "block_duration_minutes",
         183  +
    "BlockDurationMinutes",
  184    184   
    2,
  185    185   
)
  186    186   
.with_xml_name("blockDurationMinutes");
  187    187   
static SPOTINSTANCEREQUEST_MEMBER_CREATE_TIME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  188    188   
    ::aws_smithy_schema::ShapeId::from_static(
  189    189   
        "com.amazonaws.ec2#SpotInstanceRequest$CreateTime",
  190    190   
        "com.amazonaws.ec2",
  191    191   
        "SpotInstanceRequest",
  192    192   
    ),
  193    193   
    ::aws_smithy_schema::ShapeType::Timestamp,
  194         -
    "create_time",
         194  +
    "CreateTime",
  195    195   
    3,
  196    196   
)
  197    197   
.with_xml_name("createTime");
  198    198   
static SPOTINSTANCEREQUEST_MEMBER_FAULT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  199    199   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotInstanceRequest$Fault", "com.amazonaws.ec2", "SpotInstanceRequest"),
  200    200   
    ::aws_smithy_schema::ShapeType::Structure,
  201         -
    "fault",
         201  +
    "Fault",
  202    202   
    4,
  203    203   
)
  204    204   
.with_xml_name("fault");
  205    205   
static SPOTINSTANCEREQUEST_MEMBER_INSTANCE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  206    206   
    ::aws_smithy_schema::ShapeId::from_static(
  207    207   
        "com.amazonaws.ec2#SpotInstanceRequest$InstanceId",
  208    208   
        "com.amazonaws.ec2",
  209    209   
        "SpotInstanceRequest",
  210    210   
    ),
  211    211   
    ::aws_smithy_schema::ShapeType::String,
  212         -
    "instance_id",
         212  +
    "InstanceId",
  213    213   
    5,
  214    214   
)
  215    215   
.with_xml_name("instanceId");
  216    216   
static SPOTINSTANCEREQUEST_MEMBER_LAUNCH_GROUP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  217    217   
    ::aws_smithy_schema::ShapeId::from_static(
  218    218   
        "com.amazonaws.ec2#SpotInstanceRequest$LaunchGroup",
  219    219   
        "com.amazonaws.ec2",
  220    220   
        "SpotInstanceRequest",
  221    221   
    ),
  222    222   
    ::aws_smithy_schema::ShapeType::String,
  223         -
    "launch_group",
         223  +
    "LaunchGroup",
  224    224   
    6,
  225    225   
)
  226    226   
.with_xml_name("launchGroup");
  227    227   
static SPOTINSTANCEREQUEST_MEMBER_LAUNCH_SPECIFICATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  228    228   
    ::aws_smithy_schema::ShapeId::from_static(
  229    229   
        "com.amazonaws.ec2#SpotInstanceRequest$LaunchSpecification",
  230    230   
        "com.amazonaws.ec2",
  231    231   
        "SpotInstanceRequest",
  232    232   
    ),
  233    233   
    ::aws_smithy_schema::ShapeType::Structure,
  234         -
    "launch_specification",
         234  +
    "LaunchSpecification",
  235    235   
    7,
  236    236   
)
  237    237   
.with_xml_name("launchSpecification");
  238    238   
static SPOTINSTANCEREQUEST_MEMBER_LAUNCHED_AVAILABILITY_ZONE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  239    239   
    ::aws_smithy_schema::ShapeId::from_static(
  240    240   
        "com.amazonaws.ec2#SpotInstanceRequest$LaunchedAvailabilityZone",
  241    241   
        "com.amazonaws.ec2",
  242    242   
        "SpotInstanceRequest",
  243    243   
    ),
  244    244   
    ::aws_smithy_schema::ShapeType::String,
  245         -
    "launched_availability_zone",
         245  +
    "LaunchedAvailabilityZone",
  246    246   
    8,
  247    247   
)
  248    248   
.with_xml_name("launchedAvailabilityZone");
  249    249   
static SPOTINSTANCEREQUEST_MEMBER_LAUNCHED_AVAILABILITY_ZONE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  250    250   
    ::aws_smithy_schema::ShapeId::from_static(
  251    251   
        "com.amazonaws.ec2#SpotInstanceRequest$LaunchedAvailabilityZoneId",
  252    252   
        "com.amazonaws.ec2",
  253    253   
        "SpotInstanceRequest",
  254    254   
    ),
  255    255   
    ::aws_smithy_schema::ShapeType::String,
  256         -
    "launched_availability_zone_id",
         256  +
    "LaunchedAvailabilityZoneId",
  257    257   
    9,
  258    258   
)
  259    259   
.with_xml_name("launchedAvailabilityZoneId");
  260    260   
static SPOTINSTANCEREQUEST_MEMBER_PRODUCT_DESCRIPTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  261    261   
    ::aws_smithy_schema::ShapeId::from_static(
  262    262   
        "com.amazonaws.ec2#SpotInstanceRequest$ProductDescription",
  263    263   
        "com.amazonaws.ec2",
  264    264   
        "SpotInstanceRequest",
  265    265   
    ),
  266    266   
    ::aws_smithy_schema::ShapeType::String,
  267         -
    "product_description",
         267  +
    "ProductDescription",
  268    268   
    10,
  269    269   
)
  270    270   
.with_xml_name("productDescription");
  271    271   
static SPOTINSTANCEREQUEST_MEMBER_SPOT_INSTANCE_REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  272    272   
    ::aws_smithy_schema::ShapeId::from_static(
  273    273   
        "com.amazonaws.ec2#SpotInstanceRequest$SpotInstanceRequestId",
  274    274   
        "com.amazonaws.ec2",
  275    275   
        "SpotInstanceRequest",
  276    276   
    ),
  277    277   
    ::aws_smithy_schema::ShapeType::String,
  278         -
    "spot_instance_request_id",
         278  +
    "SpotInstanceRequestId",
  279    279   
    11,
  280    280   
)
  281    281   
.with_xml_name("spotInstanceRequestId");
  282    282   
static SPOTINSTANCEREQUEST_MEMBER_SPOT_PRICE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  283    283   
    ::aws_smithy_schema::ShapeId::from_static(
  284    284   
        "com.amazonaws.ec2#SpotInstanceRequest$SpotPrice",
  285    285   
        "com.amazonaws.ec2",
  286    286   
        "SpotInstanceRequest",
  287    287   
    ),
  288    288   
    ::aws_smithy_schema::ShapeType::String,
  289         -
    "spot_price",
         289  +
    "SpotPrice",
  290    290   
    12,
  291    291   
)
  292    292   
.with_xml_name("spotPrice");
  293    293   
static SPOTINSTANCEREQUEST_MEMBER_STATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  294    294   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotInstanceRequest$State", "com.amazonaws.ec2", "SpotInstanceRequest"),
  295    295   
    ::aws_smithy_schema::ShapeType::String,
  296         -
    "state",
         296  +
    "State",
  297    297   
    13,
  298    298   
)
  299    299   
.with_xml_name("state");
  300    300   
static SPOTINSTANCEREQUEST_MEMBER_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  301    301   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotInstanceRequest$Status", "com.amazonaws.ec2", "SpotInstanceRequest"),
  302    302   
    ::aws_smithy_schema::ShapeType::Structure,
  303         -
    "status",
         303  +
    "Status",
  304    304   
    14,
  305    305   
)
  306    306   
.with_xml_name("status");
  307    307   
static SPOTINSTANCEREQUEST_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  308    308   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotInstanceRequest$Tags", "com.amazonaws.ec2", "SpotInstanceRequest"),
  309    309   
    ::aws_smithy_schema::ShapeType::List,
  310         -
    "tags",
         310  +
    "Tags",
  311    311   
    15,
  312    312   
)
  313    313   
.with_xml_name("tagSet");
  314    314   
static SPOTINSTANCEREQUEST_MEMBER_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  315    315   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotInstanceRequest$Type", "com.amazonaws.ec2", "SpotInstanceRequest"),
  316    316   
    ::aws_smithy_schema::ShapeType::String,
  317         -
    "r##type",
         317  +
    "Type",
  318    318   
    16,
  319    319   
)
  320    320   
.with_xml_name("type");
  321    321   
static SPOTINSTANCEREQUEST_MEMBER_VALID_FROM: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  322    322   
    ::aws_smithy_schema::ShapeId::from_static(
  323    323   
        "com.amazonaws.ec2#SpotInstanceRequest$ValidFrom",
  324    324   
        "com.amazonaws.ec2",
  325    325   
        "SpotInstanceRequest",
  326    326   
    ),
  327    327   
    ::aws_smithy_schema::ShapeType::Timestamp,
  328         -
    "valid_from",
         328  +
    "ValidFrom",
  329    329   
    17,
  330    330   
)
  331    331   
.with_xml_name("validFrom");
  332    332   
static SPOTINSTANCEREQUEST_MEMBER_VALID_UNTIL: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  333    333   
    ::aws_smithy_schema::ShapeId::from_static(
  334    334   
        "com.amazonaws.ec2#SpotInstanceRequest$ValidUntil",
  335    335   
        "com.amazonaws.ec2",
  336    336   
        "SpotInstanceRequest",
  337    337   
    ),
  338    338   
    ::aws_smithy_schema::ShapeType::Timestamp,
  339         -
    "valid_until",
         339  +
    "ValidUntil",
  340    340   
    18,
  341    341   
)
  342    342   
.with_xml_name("validUntil");
  343    343   
static SPOTINSTANCEREQUEST_MEMBER_INSTANCE_INTERRUPTION_BEHAVIOR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  344    344   
    ::aws_smithy_schema::ShapeId::from_static(
  345    345   
        "com.amazonaws.ec2#SpotInstanceRequest$InstanceInterruptionBehavior",
  346    346   
        "com.amazonaws.ec2",
  347    347   
        "SpotInstanceRequest",
  348    348   
    ),
  349    349   
    ::aws_smithy_schema::ShapeType::String,
  350         -
    "instance_interruption_behavior",
         350  +
    "InstanceInterruptionBehavior",
  351    351   
    19,
  352    352   
)
  353    353   
.with_xml_name("instanceInterruptionBehavior");
  354    354   
static SPOTINSTANCEREQUEST_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  355    355   
    SPOTINSTANCEREQUEST_SCHEMA_ID,
  356    356   
    ::aws_smithy_schema::ShapeType::Structure,
  357    357   
    &[
  358    358   
        &SPOTINSTANCEREQUEST_MEMBER_ACTUAL_BLOCK_HOURLY_PRICE,
  359    359   
        &SPOTINSTANCEREQUEST_MEMBER_AVAILABILITY_ZONE_GROUP,
  360    360   
        &SPOTINSTANCEREQUEST_MEMBER_BLOCK_DURATION_MINUTES,
@@ -433,433 +584,592 @@
  453    453   
            ser.write_timestamp(&SPOTINSTANCEREQUEST_MEMBER_VALID_UNTIL, val)?;
  454    454   
        }
  455    455   
        if let Some(ref val) = self.instance_interruption_behavior {
  456    456   
            ser.write_string(&SPOTINSTANCEREQUEST_MEMBER_INSTANCE_INTERRUPTION_BEHAVIOR, val.as_str())?;
  457    457   
        }
  458    458   
        Ok(())
  459    459   
    }
  460    460   
}
  461    461   
impl SpotInstanceRequest {
  462    462   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  463         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  464         -
        deserializer: &mut D,
         463  +
    pub fn deserialize(
         464  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  465    465   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  466    466   
        #[allow(unused_variables, unused_mut)]
  467    467   
        let mut builder = Self::builder();
  468    468   
        #[allow(
  469    469   
            unused_variables,
  470    470   
            unreachable_code,
  471    471   
            clippy::single_match,
  472    472   
            clippy::match_single_binding,
  473    473   
            clippy::diverging_sub_expression
  474    474   
        )]
  475         -
        deserializer.read_struct(&SPOTINSTANCEREQUEST_SCHEMA, (), |_, member, deser| {
         475  +
        deserializer.read_struct(&SPOTINSTANCEREQUEST_SCHEMA, &mut |member, deser| {
  476    476   
            match member.member_index() {
  477    477   
                Some(0) => {
  478    478   
                    builder.actual_block_hourly_price = Some(deser.read_string(member)?);
  479    479   
                }
  480    480   
                Some(1) => {
  481    481   
                    builder.availability_zone_group = Some(deser.read_string(member)?);
  482    482   
                }
  483    483   
                Some(2) => {
  484    484   
                    builder.block_duration_minutes = Some(deser.read_integer(member)?);
  485    485   
                }
  486    486   
                Some(3) => {
  487    487   
                    builder.create_time = Some(deser.read_timestamp(member)?);
  488    488   
                }
  489    489   
                Some(4) => {
  490    490   
                    builder.fault = Some(crate::types::SpotInstanceStateFault::deserialize(deser)?);
  491    491   
                }
  492    492   
                Some(5) => {
  493    493   
                    builder.instance_id = Some(deser.read_string(member)?);
  494    494   
                }
  495    495   
                Some(6) => {
  496    496   
                    builder.launch_group = Some(deser.read_string(member)?);
  497    497   
                }
  498    498   
                Some(7) => {
  499    499   
                    builder.launch_specification = Some(crate::types::LaunchSpecification::deserialize(deser)?);
  500    500   
                }
  501    501   
                Some(8) => {
  502    502   
                    builder.launched_availability_zone = Some(deser.read_string(member)?);
  503    503   
                }
  504    504   
                Some(9) => {
  505    505   
                    builder.launched_availability_zone_id = Some(deser.read_string(member)?);
  506    506   
                }
  507    507   
                Some(10) => {
  508    508   
                    builder.product_description = Some(crate::types::RiProductDescription::from(deser.read_string(member)?.as_str()));
  509    509   
                }
  510    510   
                Some(11) => {
  511    511   
                    builder.spot_instance_request_id = Some(deser.read_string(member)?);
  512    512   
                }
  513    513   
                Some(12) => {
  514    514   
                    builder.spot_price = Some(deser.read_string(member)?);
  515    515   
                }
  516    516   
                Some(13) => {
  517    517   
                    builder.state = Some(crate::types::SpotInstanceState::from(deser.read_string(member)?.as_str()));
  518    518   
                }
  519    519   
                Some(14) => {
  520    520   
                    builder.status = Some(crate::types::SpotInstanceStatus::deserialize(deser)?);
  521    521   
                }
  522    522   
                Some(15) => {
  523    523   
                    builder.tags = Some({
  524         -
                        let container = if let Some(cap) = deser.container_size() {
  525         -
                            Vec::with_capacity(cap)
  526         -
                        } else {
  527         -
                            Vec::new()
  528         -
                        };
  529         -
                        deser.read_list(member, container, |mut list, deser| {
  530         -
                            list.push(crate::types::Tag::deserialize(deser)?);
  531         -
                            Ok(list)
  532         -
                        })?
         524  +
                        let mut container = Vec::new();
         525  +
                        deser.read_list(member, &mut |deser| {
         526  +
                            container.push(crate::types::Tag::deserialize(deser)?);
         527  +
                            Ok(())
         528  +
                        })?;
         529  +
                        container
  533    530   
                    });
  534    531   
                }
  535    532   
                Some(16) => {
  536    533   
                    builder.r#type = Some(crate::types::SpotInstanceType::from(deser.read_string(member)?.as_str()));
  537    534   
                }
  538    535   
                Some(17) => {
  539    536   
                    builder.valid_from = Some(deser.read_timestamp(member)?);
  540    537   
                }
  541    538   
                Some(18) => {
  542    539   
                    builder.valid_until = Some(deser.read_timestamp(member)?);
  543    540   
                }
  544    541   
                Some(19) => {
  545    542   
                    builder.instance_interruption_behavior =
  546    543   
                        Some(crate::types::InstanceInterruptionBehavior::from(deser.read_string(member)?.as_str()));
  547    544   
                }
  548    545   
                _ => {}
  549    546   
            }
  550    547   
            Ok(())
  551    548   
        })?;
  552    549   
        Ok(builder.build())
  553    550   
    }
  554    551   
}
         552  +
impl SpotInstanceRequest {
         553  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         554  +
    pub fn deserialize_with_response(
         555  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         556  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         557  +
        _status: u16,
         558  +
        _body: &[u8],
         559  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         560  +
        Self::deserialize(deserializer)
         561  +
    }
         562  +
}
  555    563   
impl SpotInstanceRequest {
  556    564   
    /// Creates a new builder-style object to manufacture [`SpotInstanceRequest`](crate::types::SpotInstanceRequest).
  557    565   
    pub fn builder() -> crate::types::builders::SpotInstanceRequestBuilder {
  558    566   
        crate::types::builders::SpotInstanceRequestBuilder::default()
  559    567   
    }
  560    568   
}
  561    569   
  562    570   
/// A builder for [`SpotInstanceRequest`](crate::types::SpotInstanceRequest).
  563    571   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  564    572   
#[non_exhaustive]

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

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

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

@@ -3,3 +147,158 @@
   23     23   
    /// <p>The date and time of the most recent status update, in UTC format (for example, <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
   24     24   
    pub fn update_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
   25     25   
        self.update_time.as_ref()
   26     26   
    }
   27     27   
}
   28     28   
static SPOTINSTANCESTATUS_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   29     29   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotInstanceStatus", "com.amazonaws.ec2", "SpotInstanceStatus");
   30     30   
static SPOTINSTANCESTATUS_MEMBER_CODE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   31     31   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotInstanceStatus$Code", "com.amazonaws.ec2", "SpotInstanceStatus"),
   32     32   
    ::aws_smithy_schema::ShapeType::String,
   33         -
    "code",
          33  +
    "Code",
   34     34   
    0,
   35     35   
)
   36     36   
.with_xml_name("code");
   37     37   
static SPOTINSTANCESTATUS_MEMBER_MESSAGE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   38     38   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotInstanceStatus$Message", "com.amazonaws.ec2", "SpotInstanceStatus"),
   39     39   
    ::aws_smithy_schema::ShapeType::String,
   40         -
    "message",
          40  +
    "Message",
   41     41   
    1,
   42     42   
)
   43     43   
.with_xml_name("message");
   44     44   
static SPOTINSTANCESTATUS_MEMBER_UPDATE_TIME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   45     45   
    ::aws_smithy_schema::ShapeId::from_static(
   46     46   
        "com.amazonaws.ec2#SpotInstanceStatus$UpdateTime",
   47     47   
        "com.amazonaws.ec2",
   48     48   
        "SpotInstanceStatus",
   49     49   
    ),
   50     50   
    ::aws_smithy_schema::ShapeType::Timestamp,
   51         -
    "update_time",
          51  +
    "UpdateTime",
   52     52   
    2,
   53     53   
)
   54     54   
.with_xml_name("updateTime");
   55     55   
static SPOTINSTANCESTATUS_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   56     56   
    SPOTINSTANCESTATUS_SCHEMA_ID,
   57     57   
    ::aws_smithy_schema::ShapeType::Structure,
   58     58   
    &[
   59     59   
        &SPOTINSTANCESTATUS_MEMBER_CODE,
   60     60   
        &SPOTINSTANCESTATUS_MEMBER_MESSAGE,
   61     61   
        &SPOTINSTANCESTATUS_MEMBER_UPDATE_TIME,
   62     62   
    ],
   63     63   
);
   64     64   
impl SpotInstanceStatus {
   65     65   
    /// The schema for this shape.
   66     66   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &SPOTINSTANCESTATUS_SCHEMA;
   67     67   
}
   68     68   
impl ::aws_smithy_schema::serde::SerializableStruct for SpotInstanceStatus {
   69     69   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   70     70   
    fn serialize_members(
   71     71   
        &self,
   72     72   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   73     73   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   74     74   
        if let Some(ref val) = self.code {
   75     75   
            ser.write_string(&SPOTINSTANCESTATUS_MEMBER_CODE, val)?;
   76     76   
        }
   77     77   
        if let Some(ref val) = self.message {
   78     78   
            ser.write_string(&SPOTINSTANCESTATUS_MEMBER_MESSAGE, val)?;
   79     79   
        }
   80     80   
        if let Some(ref val) = self.update_time {
   81     81   
            ser.write_timestamp(&SPOTINSTANCESTATUS_MEMBER_UPDATE_TIME, val)?;
   82     82   
        }
   83     83   
        Ok(())
   84     84   
    }
   85     85   
}
   86     86   
impl SpotInstanceStatus {
   87     87   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   88         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   89         -
        deserializer: &mut D,
          88  +
    pub fn deserialize(
          89  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   90     90   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   91     91   
        #[allow(unused_variables, unused_mut)]
   92     92   
        let mut builder = Self::builder();
   93     93   
        #[allow(
   94     94   
            unused_variables,
   95     95   
            unreachable_code,
   96     96   
            clippy::single_match,
   97     97   
            clippy::match_single_binding,
   98     98   
            clippy::diverging_sub_expression
   99     99   
        )]
  100         -
        deserializer.read_struct(&SPOTINSTANCESTATUS_SCHEMA, (), |_, member, deser| {
         100  +
        deserializer.read_struct(&SPOTINSTANCESTATUS_SCHEMA, &mut |member, deser| {
  101    101   
            match member.member_index() {
  102    102   
                Some(0) => {
  103    103   
                    builder.code = Some(deser.read_string(member)?);
  104    104   
                }
  105    105   
                Some(1) => {
  106    106   
                    builder.message = Some(deser.read_string(member)?);
  107    107   
                }
  108    108   
                Some(2) => {
  109    109   
                    builder.update_time = Some(deser.read_timestamp(member)?);
  110    110   
                }
  111    111   
                _ => {}
  112    112   
            }
  113    113   
            Ok(())
  114    114   
        })?;
  115    115   
        Ok(builder.build())
  116    116   
    }
  117    117   
}
         118  +
impl SpotInstanceStatus {
         119  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         120  +
    pub fn deserialize_with_response(
         121  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         122  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         123  +
        _status: u16,
         124  +
        _body: &[u8],
         125  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         126  +
        Self::deserialize(deserializer)
         127  +
    }
         128  +
}
  118    129   
impl SpotInstanceStatus {
  119    130   
    /// Creates a new builder-style object to manufacture [`SpotInstanceStatus`](crate::types::SpotInstanceStatus).
  120    131   
    pub fn builder() -> crate::types::builders::SpotInstanceStatusBuilder {
  121    132   
        crate::types::builders::SpotInstanceStatusBuilder::default()
  122    133   
    }
  123    134   
}
  124    135   
  125    136   
/// A builder for [`SpotInstanceStatus`](crate::types::SpotInstanceStatus).
  126    137   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  127    138   
#[non_exhaustive]

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

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

@@ -39,39 +215,226 @@
   59     59   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/interruption-behavior.html">Interruption behavior</a> in the <i>Amazon EC2 User Guide</i>.</p>
   60     60   
    pub fn instance_interruption_behavior(&self) -> ::std::option::Option<&crate::types::InstanceInterruptionBehavior> {
   61     61   
        self.instance_interruption_behavior.as_ref()
   62     62   
    }
   63     63   
}
   64     64   
static SPOTMARKETOPTIONS_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   65     65   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotMarketOptions", "com.amazonaws.ec2", "SpotMarketOptions");
   66     66   
static SPOTMARKETOPTIONS_MEMBER_MAX_PRICE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   67     67   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotMarketOptions$MaxPrice", "com.amazonaws.ec2", "SpotMarketOptions"),
   68     68   
    ::aws_smithy_schema::ShapeType::String,
   69         -
    "max_price",
          69  +
    "MaxPrice",
   70     70   
    0,
   71     71   
);
   72     72   
static SPOTMARKETOPTIONS_MEMBER_SPOT_INSTANCE_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   73     73   
    ::aws_smithy_schema::ShapeId::from_static(
   74     74   
        "com.amazonaws.ec2#SpotMarketOptions$SpotInstanceType",
   75     75   
        "com.amazonaws.ec2",
   76     76   
        "SpotMarketOptions",
   77     77   
    ),
   78     78   
    ::aws_smithy_schema::ShapeType::String,
   79         -
    "spot_instance_type",
          79  +
    "SpotInstanceType",
   80     80   
    1,
   81     81   
);
   82     82   
static SPOTMARKETOPTIONS_MEMBER_BLOCK_DURATION_MINUTES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   83     83   
    ::aws_smithy_schema::ShapeId::from_static(
   84     84   
        "com.amazonaws.ec2#SpotMarketOptions$BlockDurationMinutes",
   85     85   
        "com.amazonaws.ec2",
   86     86   
        "SpotMarketOptions",
   87     87   
    ),
   88     88   
    ::aws_smithy_schema::ShapeType::Integer,
   89         -
    "block_duration_minutes",
          89  +
    "BlockDurationMinutes",
   90     90   
    2,
   91     91   
);
   92     92   
static SPOTMARKETOPTIONS_MEMBER_VALID_UNTIL: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   93     93   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotMarketOptions$ValidUntil", "com.amazonaws.ec2", "SpotMarketOptions"),
   94     94   
    ::aws_smithy_schema::ShapeType::Timestamp,
   95         -
    "valid_until",
          95  +
    "ValidUntil",
   96     96   
    3,
   97     97   
);
   98     98   
static SPOTMARKETOPTIONS_MEMBER_INSTANCE_INTERRUPTION_BEHAVIOR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   99     99   
    ::aws_smithy_schema::ShapeId::from_static(
  100    100   
        "com.amazonaws.ec2#SpotMarketOptions$InstanceInterruptionBehavior",
  101    101   
        "com.amazonaws.ec2",
  102    102   
        "SpotMarketOptions",
  103    103   
    ),
  104    104   
    ::aws_smithy_schema::ShapeType::String,
  105         -
    "instance_interruption_behavior",
         105  +
    "InstanceInterruptionBehavior",
  106    106   
    4,
  107    107   
);
  108    108   
static SPOTMARKETOPTIONS_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  109    109   
    SPOTMARKETOPTIONS_SCHEMA_ID,
  110    110   
    ::aws_smithy_schema::ShapeType::Structure,
  111    111   
    &[
  112    112   
        &SPOTMARKETOPTIONS_MEMBER_MAX_PRICE,
  113    113   
        &SPOTMARKETOPTIONS_MEMBER_SPOT_INSTANCE_TYPE,
  114    114   
        &SPOTMARKETOPTIONS_MEMBER_BLOCK_DURATION_MINUTES,
  115    115   
        &SPOTMARKETOPTIONS_MEMBER_VALID_UNTIL,
  116    116   
        &SPOTMARKETOPTIONS_MEMBER_INSTANCE_INTERRUPTION_BEHAVIOR,
  117    117   
    ],
  118    118   
);
  119    119   
impl SpotMarketOptions {
  120    120   
    /// The schema for this shape.
  121    121   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &SPOTMARKETOPTIONS_SCHEMA;
  122    122   
}
  123    123   
impl ::aws_smithy_schema::serde::SerializableStruct for SpotMarketOptions {
  124    124   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  125    125   
    fn serialize_members(
  126    126   
        &self,
  127    127   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  128    128   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  129    129   
        if let Some(ref val) = self.max_price {
  130    130   
            ser.write_string(&SPOTMARKETOPTIONS_MEMBER_MAX_PRICE, val)?;
  131    131   
        }
  132    132   
        if let Some(ref val) = self.spot_instance_type {
  133    133   
            ser.write_string(&SPOTMARKETOPTIONS_MEMBER_SPOT_INSTANCE_TYPE, val.as_str())?;
  134    134   
        }
  135    135   
        if let Some(ref val) = self.block_duration_minutes {
  136    136   
            ser.write_integer(&SPOTMARKETOPTIONS_MEMBER_BLOCK_DURATION_MINUTES, *val)?;
  137    137   
        }
  138    138   
        if let Some(ref val) = self.valid_until {
  139    139   
            ser.write_timestamp(&SPOTMARKETOPTIONS_MEMBER_VALID_UNTIL, val)?;
  140    140   
        }
  141    141   
        if let Some(ref val) = self.instance_interruption_behavior {
  142    142   
            ser.write_string(&SPOTMARKETOPTIONS_MEMBER_INSTANCE_INTERRUPTION_BEHAVIOR, val.as_str())?;
  143    143   
        }
  144    144   
        Ok(())
  145    145   
    }
  146    146   
}
  147    147   
impl SpotMarketOptions {
  148    148   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  149         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  150         -
        deserializer: &mut D,
         149  +
    pub fn deserialize(
         150  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  151    151   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  152    152   
        #[allow(unused_variables, unused_mut)]
  153    153   
        let mut builder = Self::builder();
  154    154   
        #[allow(
  155    155   
            unused_variables,
  156    156   
            unreachable_code,
  157    157   
            clippy::single_match,
  158    158   
            clippy::match_single_binding,
  159    159   
            clippy::diverging_sub_expression
  160    160   
        )]
  161         -
        deserializer.read_struct(&SPOTMARKETOPTIONS_SCHEMA, (), |_, member, deser| {
         161  +
        deserializer.read_struct(&SPOTMARKETOPTIONS_SCHEMA, &mut |member, deser| {
  162    162   
            match member.member_index() {
  163    163   
                Some(0) => {
  164    164   
                    builder.max_price = Some(deser.read_string(member)?);
  165    165   
                }
  166    166   
                Some(1) => {
  167    167   
                    builder.spot_instance_type = Some(crate::types::SpotInstanceType::from(deser.read_string(member)?.as_str()));
  168    168   
                }
  169    169   
                Some(2) => {
  170    170   
                    builder.block_duration_minutes = Some(deser.read_integer(member)?);
  171    171   
                }
  172    172   
                Some(3) => {
  173    173   
                    builder.valid_until = Some(deser.read_timestamp(member)?);
  174    174   
                }
  175    175   
                Some(4) => {
  176    176   
                    builder.instance_interruption_behavior =
  177    177   
                        Some(crate::types::InstanceInterruptionBehavior::from(deser.read_string(member)?.as_str()));
  178    178   
                }
  179    179   
                _ => {}
  180    180   
            }
  181    181   
            Ok(())
  182    182   
        })?;
  183    183   
        Ok(builder.build())
  184    184   
    }
  185    185   
}
         186  +
impl SpotMarketOptions {
         187  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         188  +
    pub fn deserialize_with_response(
         189  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         190  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         191  +
        _status: u16,
         192  +
        _body: &[u8],
         193  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         194  +
        Self::deserialize(deserializer)
         195  +
    }
         196  +
}
  186    197   
impl SpotMarketOptions {
  187    198   
    /// Creates a new builder-style object to manufacture [`SpotMarketOptions`](crate::types::SpotMarketOptions).
  188    199   
    pub fn builder() -> crate::types::builders::SpotMarketOptionsBuilder {
  189    200   
        crate::types::builders::SpotMarketOptionsBuilder::default()
  190    201   
    }
  191    202   
}
  192    203   
  193    204   
/// A builder for [`SpotMarketOptions`](crate::types::SpotMarketOptions).
  194    205   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  195    206   
#[non_exhaustive]

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

@@ -113,113 +332,343 @@
  133    133   
    /// </note>
  134    134   
    pub fn max_total_price(&self) -> ::std::option::Option<&str> {
  135    135   
        self.max_total_price.as_deref()
  136    136   
    }
  137    137   
}
  138    138   
static SPOTOPTIONS_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
  139    139   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotOptions", "com.amazonaws.ec2", "SpotOptions");
  140    140   
static SPOTOPTIONS_MEMBER_ALLOCATION_STRATEGY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  141    141   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotOptions$AllocationStrategy", "com.amazonaws.ec2", "SpotOptions"),
  142    142   
    ::aws_smithy_schema::ShapeType::String,
  143         -
    "allocation_strategy",
         143  +
    "AllocationStrategy",
  144    144   
    0,
  145    145   
)
  146    146   
.with_xml_name("allocationStrategy");
  147    147   
static SPOTOPTIONS_MEMBER_MAINTENANCE_STRATEGIES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  148    148   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotOptions$MaintenanceStrategies", "com.amazonaws.ec2", "SpotOptions"),
  149    149   
    ::aws_smithy_schema::ShapeType::Structure,
  150         -
    "maintenance_strategies",
         150  +
    "MaintenanceStrategies",
  151    151   
    1,
  152    152   
)
  153    153   
.with_xml_name("maintenanceStrategies");
  154    154   
static SPOTOPTIONS_MEMBER_INSTANCE_INTERRUPTION_BEHAVIOR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  155    155   
    ::aws_smithy_schema::ShapeId::from_static(
  156    156   
        "com.amazonaws.ec2#SpotOptions$InstanceInterruptionBehavior",
  157    157   
        "com.amazonaws.ec2",
  158    158   
        "SpotOptions",
  159    159   
    ),
  160    160   
    ::aws_smithy_schema::ShapeType::String,
  161         -
    "instance_interruption_behavior",
         161  +
    "InstanceInterruptionBehavior",
  162    162   
    2,
  163    163   
)
  164    164   
.with_xml_name("instanceInterruptionBehavior");
  165    165   
static SPOTOPTIONS_MEMBER_INSTANCE_POOLS_TO_USE_COUNT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  166    166   
    ::aws_smithy_schema::ShapeId::from_static(
  167    167   
        "com.amazonaws.ec2#SpotOptions$InstancePoolsToUseCount",
  168    168   
        "com.amazonaws.ec2",
  169    169   
        "SpotOptions",
  170    170   
    ),
  171    171   
    ::aws_smithy_schema::ShapeType::Integer,
  172         -
    "instance_pools_to_use_count",
         172  +
    "InstancePoolsToUseCount",
  173    173   
    3,
  174    174   
)
  175    175   
.with_xml_name("instancePoolsToUseCount");
  176    176   
static SPOTOPTIONS_MEMBER_SINGLE_INSTANCE_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  177    177   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotOptions$SingleInstanceType", "com.amazonaws.ec2", "SpotOptions"),
  178    178   
    ::aws_smithy_schema::ShapeType::Boolean,
  179         -
    "single_instance_type",
         179  +
    "SingleInstanceType",
  180    180   
    4,
  181    181   
)
  182    182   
.with_xml_name("singleInstanceType");
  183    183   
static SPOTOPTIONS_MEMBER_SINGLE_AVAILABILITY_ZONE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  184    184   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotOptions$SingleAvailabilityZone", "com.amazonaws.ec2", "SpotOptions"),
  185    185   
    ::aws_smithy_schema::ShapeType::Boolean,
  186         -
    "single_availability_zone",
         186  +
    "SingleAvailabilityZone",
  187    187   
    5,
  188    188   
)
  189    189   
.with_xml_name("singleAvailabilityZone");
  190    190   
static SPOTOPTIONS_MEMBER_MIN_TARGET_CAPACITY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  191    191   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotOptions$MinTargetCapacity", "com.amazonaws.ec2", "SpotOptions"),
  192    192   
    ::aws_smithy_schema::ShapeType::Integer,
  193         -
    "min_target_capacity",
         193  +
    "MinTargetCapacity",
  194    194   
    6,
  195    195   
)
  196    196   
.with_xml_name("minTargetCapacity");
  197    197   
static SPOTOPTIONS_MEMBER_MAX_TOTAL_PRICE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  198    198   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotOptions$MaxTotalPrice", "com.amazonaws.ec2", "SpotOptions"),
  199    199   
    ::aws_smithy_schema::ShapeType::String,
  200         -
    "max_total_price",
         200  +
    "MaxTotalPrice",
  201    201   
    7,
  202    202   
)
  203    203   
.with_xml_name("maxTotalPrice");
  204    204   
static SPOTOPTIONS_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  205    205   
    SPOTOPTIONS_SCHEMA_ID,
  206    206   
    ::aws_smithy_schema::ShapeType::Structure,
  207    207   
    &[
  208    208   
        &SPOTOPTIONS_MEMBER_ALLOCATION_STRATEGY,
  209    209   
        &SPOTOPTIONS_MEMBER_MAINTENANCE_STRATEGIES,
  210    210   
        &SPOTOPTIONS_MEMBER_INSTANCE_INTERRUPTION_BEHAVIOR,
  211    211   
        &SPOTOPTIONS_MEMBER_INSTANCE_POOLS_TO_USE_COUNT,
  212    212   
        &SPOTOPTIONS_MEMBER_SINGLE_INSTANCE_TYPE,
  213    213   
        &SPOTOPTIONS_MEMBER_SINGLE_AVAILABILITY_ZONE,
  214    214   
        &SPOTOPTIONS_MEMBER_MIN_TARGET_CAPACITY,
  215    215   
        &SPOTOPTIONS_MEMBER_MAX_TOTAL_PRICE,
  216    216   
    ],
  217    217   
);
  218    218   
impl SpotOptions {
  219    219   
    /// The schema for this shape.
  220    220   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &SPOTOPTIONS_SCHEMA;
  221    221   
}
  222    222   
impl ::aws_smithy_schema::serde::SerializableStruct for SpotOptions {
  223    223   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  224    224   
    fn serialize_members(
  225    225   
        &self,
  226    226   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  227    227   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  228    228   
        if let Some(ref val) = self.allocation_strategy {
  229    229   
            ser.write_string(&SPOTOPTIONS_MEMBER_ALLOCATION_STRATEGY, val.as_str())?;
  230    230   
        }
  231    231   
        if let Some(ref val) = self.maintenance_strategies {
  232    232   
            ser.write_struct(&SPOTOPTIONS_MEMBER_MAINTENANCE_STRATEGIES, val)?;
  233    233   
        }
  234    234   
        if let Some(ref val) = self.instance_interruption_behavior {
  235    235   
            ser.write_string(&SPOTOPTIONS_MEMBER_INSTANCE_INTERRUPTION_BEHAVIOR, val.as_str())?;
  236    236   
        }
  237    237   
        if let Some(ref val) = self.instance_pools_to_use_count {
  238    238   
            ser.write_integer(&SPOTOPTIONS_MEMBER_INSTANCE_POOLS_TO_USE_COUNT, *val)?;
  239    239   
        }
  240    240   
        if let Some(ref val) = self.single_instance_type {
  241    241   
            ser.write_boolean(&SPOTOPTIONS_MEMBER_SINGLE_INSTANCE_TYPE, *val)?;
  242    242   
        }
  243    243   
        if let Some(ref val) = self.single_availability_zone {
  244    244   
            ser.write_boolean(&SPOTOPTIONS_MEMBER_SINGLE_AVAILABILITY_ZONE, *val)?;
  245    245   
        }
  246    246   
        if let Some(ref val) = self.min_target_capacity {
  247    247   
            ser.write_integer(&SPOTOPTIONS_MEMBER_MIN_TARGET_CAPACITY, *val)?;
  248    248   
        }
  249    249   
        if let Some(ref val) = self.max_total_price {
  250    250   
            ser.write_string(&SPOTOPTIONS_MEMBER_MAX_TOTAL_PRICE, val)?;
  251    251   
        }
  252    252   
        Ok(())
  253    253   
    }
  254    254   
}
  255    255   
impl SpotOptions {
  256    256   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  257         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  258         -
        deserializer: &mut D,
         257  +
    pub fn deserialize(
         258  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  259    259   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  260    260   
        #[allow(unused_variables, unused_mut)]
  261    261   
        let mut builder = Self::builder();
  262    262   
        #[allow(
  263    263   
            unused_variables,
  264    264   
            unreachable_code,
  265    265   
            clippy::single_match,
  266    266   
            clippy::match_single_binding,
  267    267   
            clippy::diverging_sub_expression
  268    268   
        )]
  269         -
        deserializer.read_struct(&SPOTOPTIONS_SCHEMA, (), |_, member, deser| {
         269  +
        deserializer.read_struct(&SPOTOPTIONS_SCHEMA, &mut |member, deser| {
  270    270   
            match member.member_index() {
  271    271   
                Some(0) => {
  272    272   
                    builder.allocation_strategy = Some(crate::types::SpotAllocationStrategy::from(deser.read_string(member)?.as_str()));
  273    273   
                }
  274    274   
                Some(1) => {
  275    275   
                    builder.maintenance_strategies = Some(crate::types::FleetSpotMaintenanceStrategies::deserialize(deser)?);
  276    276   
                }
  277    277   
                Some(2) => {
  278    278   
                    builder.instance_interruption_behavior =
  279    279   
                        Some(crate::types::SpotInstanceInterruptionBehavior::from(deser.read_string(member)?.as_str()));
  280    280   
                }
  281    281   
                Some(3) => {
  282    282   
                    builder.instance_pools_to_use_count = Some(deser.read_integer(member)?);
  283    283   
                }
  284    284   
                Some(4) => {
  285    285   
                    builder.single_instance_type = Some(deser.read_boolean(member)?);
  286    286   
                }
  287    287   
                Some(5) => {
  288    288   
                    builder.single_availability_zone = Some(deser.read_boolean(member)?);
  289    289   
                }
  290    290   
                Some(6) => {
  291    291   
                    builder.min_target_capacity = Some(deser.read_integer(member)?);
  292    292   
                }
  293    293   
                Some(7) => {
  294    294   
                    builder.max_total_price = Some(deser.read_string(member)?);
  295    295   
                }
  296    296   
                _ => {}
  297    297   
            }
  298    298   
            Ok(())
  299    299   
        })?;
  300    300   
        Ok(builder.build())
  301    301   
    }
  302    302   
}
         303  +
impl SpotOptions {
         304  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         305  +
    pub fn deserialize_with_response(
         306  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         307  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         308  +
        _status: u16,
         309  +
        _body: &[u8],
         310  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         311  +
        Self::deserialize(deserializer)
         312  +
    }
         313  +
}
  303    314   
impl SpotOptions {
  304    315   
    /// Creates a new builder-style object to manufacture [`SpotOptions`](crate::types::SpotOptions).
  305    316   
    pub fn builder() -> crate::types::builders::SpotOptionsBuilder {
  306    317   
        crate::types::builders::SpotOptionsBuilder::default()
  307    318   
    }
  308    319   
}
  309    320   
  310    321   
/// A builder for [`SpotOptions`](crate::types::SpotOptions).
  311    322   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  312    323   
#[non_exhaustive]

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

@@ -117,117 +348,359 @@
  137    137   
}
  138    138   
static SPOTOPTIONSREQUEST_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
  139    139   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotOptionsRequest", "com.amazonaws.ec2", "SpotOptionsRequest");
  140    140   
static SPOTOPTIONSREQUEST_MEMBER_ALLOCATION_STRATEGY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  141    141   
    ::aws_smithy_schema::ShapeId::from_static(
  142    142   
        "com.amazonaws.ec2#SpotOptionsRequest$AllocationStrategy",
  143    143   
        "com.amazonaws.ec2",
  144    144   
        "SpotOptionsRequest",
  145    145   
    ),
  146    146   
    ::aws_smithy_schema::ShapeType::String,
  147         -
    "allocation_strategy",
         147  +
    "AllocationStrategy",
  148    148   
    0,
  149    149   
);
  150    150   
static SPOTOPTIONSREQUEST_MEMBER_MAINTENANCE_STRATEGIES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  151    151   
    ::aws_smithy_schema::ShapeId::from_static(
  152    152   
        "com.amazonaws.ec2#SpotOptionsRequest$MaintenanceStrategies",
  153    153   
        "com.amazonaws.ec2",
  154    154   
        "SpotOptionsRequest",
  155    155   
    ),
  156    156   
    ::aws_smithy_schema::ShapeType::Structure,
  157         -
    "maintenance_strategies",
         157  +
    "MaintenanceStrategies",
  158    158   
    1,
  159    159   
);
  160    160   
static SPOTOPTIONSREQUEST_MEMBER_INSTANCE_INTERRUPTION_BEHAVIOR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  161    161   
    ::aws_smithy_schema::ShapeId::from_static(
  162    162   
        "com.amazonaws.ec2#SpotOptionsRequest$InstanceInterruptionBehavior",
  163    163   
        "com.amazonaws.ec2",
  164    164   
        "SpotOptionsRequest",
  165    165   
    ),
  166    166   
    ::aws_smithy_schema::ShapeType::String,
  167         -
    "instance_interruption_behavior",
         167  +
    "InstanceInterruptionBehavior",
  168    168   
    2,
  169    169   
);
  170    170   
static SPOTOPTIONSREQUEST_MEMBER_INSTANCE_POOLS_TO_USE_COUNT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  171    171   
    ::aws_smithy_schema::ShapeId::from_static(
  172    172   
        "com.amazonaws.ec2#SpotOptionsRequest$InstancePoolsToUseCount",
  173    173   
        "com.amazonaws.ec2",
  174    174   
        "SpotOptionsRequest",
  175    175   
    ),
  176    176   
    ::aws_smithy_schema::ShapeType::Integer,
  177         -
    "instance_pools_to_use_count",
         177  +
    "InstancePoolsToUseCount",
  178    178   
    3,
  179    179   
);
  180    180   
static SPOTOPTIONSREQUEST_MEMBER_SINGLE_INSTANCE_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  181    181   
    ::aws_smithy_schema::ShapeId::from_static(
  182    182   
        "com.amazonaws.ec2#SpotOptionsRequest$SingleInstanceType",
  183    183   
        "com.amazonaws.ec2",
  184    184   
        "SpotOptionsRequest",
  185    185   
    ),
  186    186   
    ::aws_smithy_schema::ShapeType::Boolean,
  187         -
    "single_instance_type",
         187  +
    "SingleInstanceType",
  188    188   
    4,
  189    189   
);
  190    190   
static SPOTOPTIONSREQUEST_MEMBER_SINGLE_AVAILABILITY_ZONE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  191    191   
    ::aws_smithy_schema::ShapeId::from_static(
  192    192   
        "com.amazonaws.ec2#SpotOptionsRequest$SingleAvailabilityZone",
  193    193   
        "com.amazonaws.ec2",
  194    194   
        "SpotOptionsRequest",
  195    195   
    ),
  196    196   
    ::aws_smithy_schema::ShapeType::Boolean,
  197         -
    "single_availability_zone",
         197  +
    "SingleAvailabilityZone",
  198    198   
    5,
  199    199   
);
  200    200   
static SPOTOPTIONSREQUEST_MEMBER_MIN_TARGET_CAPACITY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  201    201   
    ::aws_smithy_schema::ShapeId::from_static(
  202    202   
        "com.amazonaws.ec2#SpotOptionsRequest$MinTargetCapacity",
  203    203   
        "com.amazonaws.ec2",
  204    204   
        "SpotOptionsRequest",
  205    205   
    ),
  206    206   
    ::aws_smithy_schema::ShapeType::Integer,
  207         -
    "min_target_capacity",
         207  +
    "MinTargetCapacity",
  208    208   
    6,
  209    209   
);
  210    210   
static SPOTOPTIONSREQUEST_MEMBER_MAX_TOTAL_PRICE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  211    211   
    ::aws_smithy_schema::ShapeId::from_static(
  212    212   
        "com.amazonaws.ec2#SpotOptionsRequest$MaxTotalPrice",
  213    213   
        "com.amazonaws.ec2",
  214    214   
        "SpotOptionsRequest",
  215    215   
    ),
  216    216   
    ::aws_smithy_schema::ShapeType::String,
  217         -
    "max_total_price",
         217  +
    "MaxTotalPrice",
  218    218   
    7,
  219    219   
);
  220    220   
static SPOTOPTIONSREQUEST_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  221    221   
    SPOTOPTIONSREQUEST_SCHEMA_ID,
  222    222   
    ::aws_smithy_schema::ShapeType::Structure,
  223    223   
    &[
  224    224   
        &SPOTOPTIONSREQUEST_MEMBER_ALLOCATION_STRATEGY,
  225    225   
        &SPOTOPTIONSREQUEST_MEMBER_MAINTENANCE_STRATEGIES,
  226    226   
        &SPOTOPTIONSREQUEST_MEMBER_INSTANCE_INTERRUPTION_BEHAVIOR,
  227    227   
        &SPOTOPTIONSREQUEST_MEMBER_INSTANCE_POOLS_TO_USE_COUNT,
  228    228   
        &SPOTOPTIONSREQUEST_MEMBER_SINGLE_INSTANCE_TYPE,
  229    229   
        &SPOTOPTIONSREQUEST_MEMBER_SINGLE_AVAILABILITY_ZONE,
  230    230   
        &SPOTOPTIONSREQUEST_MEMBER_MIN_TARGET_CAPACITY,
  231    231   
        &SPOTOPTIONSREQUEST_MEMBER_MAX_TOTAL_PRICE,
  232    232   
    ],
  233    233   
);
  234    234   
impl SpotOptionsRequest {
  235    235   
    /// The schema for this shape.
  236    236   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &SPOTOPTIONSREQUEST_SCHEMA;
  237    237   
}
  238    238   
impl ::aws_smithy_schema::serde::SerializableStruct for SpotOptionsRequest {
  239    239   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  240    240   
    fn serialize_members(
  241    241   
        &self,
  242    242   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  243    243   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  244    244   
        if let Some(ref val) = self.allocation_strategy {
  245    245   
            ser.write_string(&SPOTOPTIONSREQUEST_MEMBER_ALLOCATION_STRATEGY, val.as_str())?;
  246    246   
        }
  247    247   
        if let Some(ref val) = self.maintenance_strategies {
  248    248   
            ser.write_struct(&SPOTOPTIONSREQUEST_MEMBER_MAINTENANCE_STRATEGIES, val)?;
  249    249   
        }
  250    250   
        if let Some(ref val) = self.instance_interruption_behavior {
  251    251   
            ser.write_string(&SPOTOPTIONSREQUEST_MEMBER_INSTANCE_INTERRUPTION_BEHAVIOR, val.as_str())?;
  252    252   
        }
  253    253   
        if let Some(ref val) = self.instance_pools_to_use_count {
  254    254   
            ser.write_integer(&SPOTOPTIONSREQUEST_MEMBER_INSTANCE_POOLS_TO_USE_COUNT, *val)?;
  255    255   
        }
  256    256   
        if let Some(ref val) = self.single_instance_type {
  257    257   
            ser.write_boolean(&SPOTOPTIONSREQUEST_MEMBER_SINGLE_INSTANCE_TYPE, *val)?;
  258    258   
        }
  259    259   
        if let Some(ref val) = self.single_availability_zone {
  260    260   
            ser.write_boolean(&SPOTOPTIONSREQUEST_MEMBER_SINGLE_AVAILABILITY_ZONE, *val)?;
  261    261   
        }
  262    262   
        if let Some(ref val) = self.min_target_capacity {
  263    263   
            ser.write_integer(&SPOTOPTIONSREQUEST_MEMBER_MIN_TARGET_CAPACITY, *val)?;
  264    264   
        }
  265    265   
        if let Some(ref val) = self.max_total_price {
  266    266   
            ser.write_string(&SPOTOPTIONSREQUEST_MEMBER_MAX_TOTAL_PRICE, val)?;
  267    267   
        }
  268    268   
        Ok(())
  269    269   
    }
  270    270   
}
  271    271   
impl SpotOptionsRequest {
  272    272   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  273         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  274         -
        deserializer: &mut D,
         273  +
    pub fn deserialize(
         274  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  275    275   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  276    276   
        #[allow(unused_variables, unused_mut)]
  277    277   
        let mut builder = Self::builder();
  278    278   
        #[allow(
  279    279   
            unused_variables,
  280    280   
            unreachable_code,
  281    281   
            clippy::single_match,
  282    282   
            clippy::match_single_binding,
  283    283   
            clippy::diverging_sub_expression
  284    284   
        )]
  285         -
        deserializer.read_struct(&SPOTOPTIONSREQUEST_SCHEMA, (), |_, member, deser| {
         285  +
        deserializer.read_struct(&SPOTOPTIONSREQUEST_SCHEMA, &mut |member, deser| {
  286    286   
            match member.member_index() {
  287    287   
                Some(0) => {
  288    288   
                    builder.allocation_strategy = Some(crate::types::SpotAllocationStrategy::from(deser.read_string(member)?.as_str()));
  289    289   
                }
  290    290   
                Some(1) => {
  291    291   
                    builder.maintenance_strategies = Some(crate::types::FleetSpotMaintenanceStrategiesRequest::deserialize(deser)?);
  292    292   
                }
  293    293   
                Some(2) => {
  294    294   
                    builder.instance_interruption_behavior =
  295    295   
                        Some(crate::types::SpotInstanceInterruptionBehavior::from(deser.read_string(member)?.as_str()));
  296    296   
                }
  297    297   
                Some(3) => {
  298    298   
                    builder.instance_pools_to_use_count = Some(deser.read_integer(member)?);
  299    299   
                }
  300    300   
                Some(4) => {
  301    301   
                    builder.single_instance_type = Some(deser.read_boolean(member)?);
  302    302   
                }
  303    303   
                Some(5) => {
  304    304   
                    builder.single_availability_zone = Some(deser.read_boolean(member)?);
  305    305   
                }
  306    306   
                Some(6) => {
  307    307   
                    builder.min_target_capacity = Some(deser.read_integer(member)?);
  308    308   
                }
  309    309   
                Some(7) => {
  310    310   
                    builder.max_total_price = Some(deser.read_string(member)?);
  311    311   
                }
  312    312   
                _ => {}
  313    313   
            }
  314    314   
            Ok(())
  315    315   
        })?;
  316    316   
        Ok(builder.build())
  317    317   
    }
  318    318   
}
         319  +
impl SpotOptionsRequest {
         320  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         321  +
    pub fn deserialize_with_response(
         322  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         323  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         324  +
        _status: u16,
         325  +
        _body: &[u8],
         326  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         327  +
        Self::deserialize(deserializer)
         328  +
    }
         329  +
}
  319    330   
impl SpotOptionsRequest {
  320    331   
    /// Creates a new builder-style object to manufacture [`SpotOptionsRequest`](crate::types::SpotOptionsRequest).
  321    332   
    pub fn builder() -> crate::types::builders::SpotOptionsRequestBuilder {
  322    333   
        crate::types::builders::SpotOptionsRequestBuilder::default()
  323    334   
    }
  324    335   
}
  325    336   
  326    337   
/// A builder for [`SpotOptionsRequest`](crate::types::SpotOptionsRequest).
  327    338   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  328    339   
#[non_exhaustive]

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

@@ -5,5 +145,156 @@
   25     25   
    /// <p>The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of <code>dedicated</code> runs on single-tenant hardware. The <code>host</code> tenancy is not supported for Spot Instances.</p>
   26     26   
    pub fn tenancy(&self) -> ::std::option::Option<&crate::types::Tenancy> {
   27     27   
        self.tenancy.as_ref()
   28     28   
    }
   29     29   
}
   30     30   
static SPOTPLACEMENT_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   31     31   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotPlacement", "com.amazonaws.ec2", "SpotPlacement");
   32     32   
static SPOTPLACEMENT_MEMBER_AVAILABILITY_ZONE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   33     33   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotPlacement$AvailabilityZone", "com.amazonaws.ec2", "SpotPlacement"),
   34     34   
    ::aws_smithy_schema::ShapeType::String,
   35         -
    "availability_zone",
          35  +
    "AvailabilityZone",
   36     36   
    0,
   37     37   
)
   38     38   
.with_xml_name("availabilityZone");
   39     39   
static SPOTPLACEMENT_MEMBER_GROUP_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   40     40   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotPlacement$GroupName", "com.amazonaws.ec2", "SpotPlacement"),
   41     41   
    ::aws_smithy_schema::ShapeType::String,
   42         -
    "group_name",
          42  +
    "GroupName",
   43     43   
    1,
   44     44   
)
   45     45   
.with_xml_name("groupName");
   46     46   
static SPOTPLACEMENT_MEMBER_TENANCY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   47     47   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotPlacement$Tenancy", "com.amazonaws.ec2", "SpotPlacement"),
   48     48   
    ::aws_smithy_schema::ShapeType::String,
   49         -
    "tenancy",
          49  +
    "Tenancy",
   50     50   
    2,
   51     51   
)
   52     52   
.with_xml_name("tenancy");
   53     53   
static SPOTPLACEMENT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   54     54   
    SPOTPLACEMENT_SCHEMA_ID,
   55     55   
    ::aws_smithy_schema::ShapeType::Structure,
   56     56   
    &[
   57     57   
        &SPOTPLACEMENT_MEMBER_AVAILABILITY_ZONE,
   58     58   
        &SPOTPLACEMENT_MEMBER_GROUP_NAME,
   59     59   
        &SPOTPLACEMENT_MEMBER_TENANCY,
   60     60   
    ],
   61     61   
);
   62     62   
impl SpotPlacement {
   63     63   
    /// The schema for this shape.
   64     64   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &SPOTPLACEMENT_SCHEMA;
   65     65   
}
   66     66   
impl ::aws_smithy_schema::serde::SerializableStruct for SpotPlacement {
   67     67   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   68     68   
    fn serialize_members(
   69     69   
        &self,
   70     70   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   71     71   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   72     72   
        if let Some(ref val) = self.availability_zone {
   73     73   
            ser.write_string(&SPOTPLACEMENT_MEMBER_AVAILABILITY_ZONE, val)?;
   74     74   
        }
   75     75   
        if let Some(ref val) = self.group_name {
   76     76   
            ser.write_string(&SPOTPLACEMENT_MEMBER_GROUP_NAME, val)?;
   77     77   
        }
   78     78   
        if let Some(ref val) = self.tenancy {
   79     79   
            ser.write_string(&SPOTPLACEMENT_MEMBER_TENANCY, val.as_str())?;
   80     80   
        }
   81     81   
        Ok(())
   82     82   
    }
   83     83   
}
   84     84   
impl SpotPlacement {
   85     85   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   86         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   87         -
        deserializer: &mut D,
          86  +
    pub fn deserialize(
          87  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   88     88   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   89     89   
        #[allow(unused_variables, unused_mut)]
   90     90   
        let mut builder = Self::builder();
   91     91   
        #[allow(
   92     92   
            unused_variables,
   93     93   
            unreachable_code,
   94     94   
            clippy::single_match,
   95     95   
            clippy::match_single_binding,
   96     96   
            clippy::diverging_sub_expression
   97     97   
        )]
   98         -
        deserializer.read_struct(&SPOTPLACEMENT_SCHEMA, (), |_, member, deser| {
          98  +
        deserializer.read_struct(&SPOTPLACEMENT_SCHEMA, &mut |member, deser| {
   99     99   
            match member.member_index() {
  100    100   
                Some(0) => {
  101    101   
                    builder.availability_zone = Some(deser.read_string(member)?);
  102    102   
                }
  103    103   
                Some(1) => {
  104    104   
                    builder.group_name = Some(deser.read_string(member)?);
  105    105   
                }
  106    106   
                Some(2) => {
  107    107   
                    builder.tenancy = Some(crate::types::Tenancy::from(deser.read_string(member)?.as_str()));
  108    108   
                }
  109    109   
                _ => {}
  110    110   
            }
  111    111   
            Ok(())
  112    112   
        })?;
  113    113   
        Ok(builder.build())
  114    114   
    }
  115    115   
}
         116  +
impl SpotPlacement {
         117  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         118  +
    pub fn deserialize_with_response(
         119  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         120  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         121  +
        _status: u16,
         122  +
        _body: &[u8],
         123  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         124  +
        Self::deserialize(deserializer)
         125  +
    }
         126  +
}
  116    127   
impl SpotPlacement {
  117    128   
    /// Creates a new builder-style object to manufacture [`SpotPlacement`](crate::types::SpotPlacement).
  118    129   
    pub fn builder() -> crate::types::builders::SpotPlacementBuilder {
  119    130   
        crate::types::builders::SpotPlacementBuilder::default()
  120    131   
    }
  121    132   
}
  122    133   
  123    134   
/// A builder for [`SpotPlacement`](crate::types::SpotPlacement).
  124    135   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  125    136   
#[non_exhaustive]

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

@@ -3,3 +147,158 @@
   23     23   
    /// <p>The placement score, on a scale from <code>1</code> to <code>10</code>. A score of <code>10</code> indicates that your Spot request is highly likely to succeed in this Region or Availability Zone. A score of <code>1</code> indicates that your Spot request is not likely to succeed.</p>
   24     24   
    pub fn score(&self) -> ::std::option::Option<i32> {
   25     25   
        self.score
   26     26   
    }
   27     27   
}
   28     28   
static SPOTPLACEMENTSCORE_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   29     29   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotPlacementScore", "com.amazonaws.ec2", "SpotPlacementScore");
   30     30   
static SPOTPLACEMENTSCORE_MEMBER_REGION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   31     31   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotPlacementScore$Region", "com.amazonaws.ec2", "SpotPlacementScore"),
   32     32   
    ::aws_smithy_schema::ShapeType::String,
   33         -
    "region",
          33  +
    "Region",
   34     34   
    0,
   35     35   
)
   36     36   
.with_xml_name("region");
   37     37   
static SPOTPLACEMENTSCORE_MEMBER_AVAILABILITY_ZONE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   38     38   
    ::aws_smithy_schema::ShapeId::from_static(
   39     39   
        "com.amazonaws.ec2#SpotPlacementScore$AvailabilityZoneId",
   40     40   
        "com.amazonaws.ec2",
   41     41   
        "SpotPlacementScore",
   42     42   
    ),
   43     43   
    ::aws_smithy_schema::ShapeType::String,
   44         -
    "availability_zone_id",
          44  +
    "AvailabilityZoneId",
   45     45   
    1,
   46     46   
)
   47     47   
.with_xml_name("availabilityZoneId");
   48     48   
static SPOTPLACEMENTSCORE_MEMBER_SCORE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   49     49   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotPlacementScore$Score", "com.amazonaws.ec2", "SpotPlacementScore"),
   50     50   
    ::aws_smithy_schema::ShapeType::Integer,
   51         -
    "score",
          51  +
    "Score",
   52     52   
    2,
   53     53   
)
   54     54   
.with_xml_name("score");
   55     55   
static SPOTPLACEMENTSCORE_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   56     56   
    SPOTPLACEMENTSCORE_SCHEMA_ID,
   57     57   
    ::aws_smithy_schema::ShapeType::Structure,
   58     58   
    &[
   59     59   
        &SPOTPLACEMENTSCORE_MEMBER_REGION,
   60     60   
        &SPOTPLACEMENTSCORE_MEMBER_AVAILABILITY_ZONE_ID,
   61     61   
        &SPOTPLACEMENTSCORE_MEMBER_SCORE,
   62     62   
    ],
   63     63   
);
   64     64   
impl SpotPlacementScore {
   65     65   
    /// The schema for this shape.
   66     66   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &SPOTPLACEMENTSCORE_SCHEMA;
   67     67   
}
   68     68   
impl ::aws_smithy_schema::serde::SerializableStruct for SpotPlacementScore {
   69     69   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   70     70   
    fn serialize_members(
   71     71   
        &self,
   72     72   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   73     73   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   74     74   
        if let Some(ref val) = self.region {
   75     75   
            ser.write_string(&SPOTPLACEMENTSCORE_MEMBER_REGION, val)?;
   76     76   
        }
   77     77   
        if let Some(ref val) = self.availability_zone_id {
   78     78   
            ser.write_string(&SPOTPLACEMENTSCORE_MEMBER_AVAILABILITY_ZONE_ID, val)?;
   79     79   
        }
   80     80   
        if let Some(ref val) = self.score {
   81     81   
            ser.write_integer(&SPOTPLACEMENTSCORE_MEMBER_SCORE, *val)?;
   82     82   
        }
   83     83   
        Ok(())
   84     84   
    }
   85     85   
}
   86     86   
impl SpotPlacementScore {
   87     87   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   88         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   89         -
        deserializer: &mut D,
          88  +
    pub fn deserialize(
          89  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   90     90   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   91     91   
        #[allow(unused_variables, unused_mut)]
   92     92   
        let mut builder = Self::builder();
   93     93   
        #[allow(
   94     94   
            unused_variables,
   95     95   
            unreachable_code,
   96     96   
            clippy::single_match,
   97     97   
            clippy::match_single_binding,
   98     98   
            clippy::diverging_sub_expression
   99     99   
        )]
  100         -
        deserializer.read_struct(&SPOTPLACEMENTSCORE_SCHEMA, (), |_, member, deser| {
         100  +
        deserializer.read_struct(&SPOTPLACEMENTSCORE_SCHEMA, &mut |member, deser| {
  101    101   
            match member.member_index() {
  102    102   
                Some(0) => {
  103    103   
                    builder.region = Some(deser.read_string(member)?);
  104    104   
                }
  105    105   
                Some(1) => {
  106    106   
                    builder.availability_zone_id = Some(deser.read_string(member)?);
  107    107   
                }
  108    108   
                Some(2) => {
  109    109   
                    builder.score = Some(deser.read_integer(member)?);
  110    110   
                }
  111    111   
                _ => {}
  112    112   
            }
  113    113   
            Ok(())
  114    114   
        })?;
  115    115   
        Ok(builder.build())
  116    116   
    }
  117    117   
}
         118  +
impl SpotPlacementScore {
         119  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         120  +
    pub fn deserialize_with_response(
         121  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         122  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         123  +
        _status: u16,
         124  +
        _body: &[u8],
         125  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         126  +
        Self::deserialize(deserializer)
         127  +
    }
         128  +
}
  118    129   
impl SpotPlacementScore {
  119    130   
    /// Creates a new builder-style object to manufacture [`SpotPlacementScore`](crate::types::SpotPlacementScore).
  120    131   
    pub fn builder() -> crate::types::builders::SpotPlacementScoreBuilder {
  121    132   
        crate::types::builders::SpotPlacementScoreBuilder::default()
  122    133   
    }
  123    134   
}
  124    135   
  125    136   
/// A builder for [`SpotPlacementScore`](crate::types::SpotPlacementScore).
  126    137   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  127    138   
#[non_exhaustive]

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

@@ -27,27 +209,220 @@
   47     47   
    /// <p>The date and time the request was created, in UTC format (for example, <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
   48     48   
    pub fn timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
   49     49   
        self.timestamp.as_ref()
   50     50   
    }
   51     51   
}
   52     52   
static SPOTPRICE_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   53     53   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotPrice", "com.amazonaws.ec2", "SpotPrice");
   54     54   
static SPOTPRICE_MEMBER_AVAILABILITY_ZONE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   55     55   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotPrice$AvailabilityZone", "com.amazonaws.ec2", "SpotPrice"),
   56     56   
    ::aws_smithy_schema::ShapeType::String,
   57         -
    "availability_zone",
          57  +
    "AvailabilityZone",
   58     58   
    0,
   59     59   
)
   60     60   
.with_xml_name("availabilityZone");
   61     61   
static SPOTPRICE_MEMBER_AVAILABILITY_ZONE_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   62     62   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotPrice$AvailabilityZoneId", "com.amazonaws.ec2", "SpotPrice"),
   63     63   
    ::aws_smithy_schema::ShapeType::String,
   64         -
    "availability_zone_id",
          64  +
    "AvailabilityZoneId",
   65     65   
    1,
   66     66   
)
   67     67   
.with_xml_name("availabilityZoneId");
   68     68   
static SPOTPRICE_MEMBER_INSTANCE_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   69     69   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotPrice$InstanceType", "com.amazonaws.ec2", "SpotPrice"),
   70     70   
    ::aws_smithy_schema::ShapeType::String,
   71         -
    "instance_type",
          71  +
    "InstanceType",
   72     72   
    2,
   73     73   
)
   74     74   
.with_xml_name("instanceType");
   75     75   
static SPOTPRICE_MEMBER_PRODUCT_DESCRIPTION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   76     76   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotPrice$ProductDescription", "com.amazonaws.ec2", "SpotPrice"),
   77     77   
    ::aws_smithy_schema::ShapeType::String,
   78         -
    "product_description",
          78  +
    "ProductDescription",
   79     79   
    3,
   80     80   
)
   81     81   
.with_xml_name("productDescription");
   82     82   
static SPOTPRICE_MEMBER_SPOT_PRICE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   83     83   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotPrice$SpotPrice", "com.amazonaws.ec2", "SpotPrice"),
   84     84   
    ::aws_smithy_schema::ShapeType::String,
   85         -
    "spot_price",
          85  +
    "SpotPrice",
   86     86   
    4,
   87     87   
)
   88     88   
.with_xml_name("spotPrice");
   89     89   
static SPOTPRICE_MEMBER_TIMESTAMP: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   90     90   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#SpotPrice$Timestamp", "com.amazonaws.ec2", "SpotPrice"),
   91     91   
    ::aws_smithy_schema::ShapeType::Timestamp,
   92         -
    "timestamp",
          92  +
    "Timestamp",
   93     93   
    5,
   94     94   
)
   95     95   
.with_xml_name("timestamp");
   96     96   
static SPOTPRICE_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   97     97   
    SPOTPRICE_SCHEMA_ID,
   98     98   
    ::aws_smithy_schema::ShapeType::Structure,
   99     99   
    &[
  100    100   
        &SPOTPRICE_MEMBER_AVAILABILITY_ZONE,
  101    101   
        &SPOTPRICE_MEMBER_AVAILABILITY_ZONE_ID,
  102    102   
        &SPOTPRICE_MEMBER_INSTANCE_TYPE,
  103    103   
        &SPOTPRICE_MEMBER_PRODUCT_DESCRIPTION,
  104    104   
        &SPOTPRICE_MEMBER_SPOT_PRICE,
  105    105   
        &SPOTPRICE_MEMBER_TIMESTAMP,
  106    106   
    ],
  107    107   
);
  108    108   
impl SpotPrice {
  109    109   
    /// The schema for this shape.
  110    110   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &SPOTPRICE_SCHEMA;
  111    111   
}
  112    112   
impl ::aws_smithy_schema::serde::SerializableStruct for SpotPrice {
  113    113   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  114    114   
    fn serialize_members(
  115    115   
        &self,
  116    116   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  117    117   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  118    118   
        if let Some(ref val) = self.availability_zone {
  119    119   
            ser.write_string(&SPOTPRICE_MEMBER_AVAILABILITY_ZONE, val)?;
  120    120   
        }
  121    121   
        if let Some(ref val) = self.availability_zone_id {
  122    122   
            ser.write_string(&SPOTPRICE_MEMBER_AVAILABILITY_ZONE_ID, val)?;
  123    123   
        }
  124    124   
        if let Some(ref val) = self.instance_type {
  125    125   
            ser.write_string(&SPOTPRICE_MEMBER_INSTANCE_TYPE, val.as_str())?;
  126    126   
        }
  127    127   
        if let Some(ref val) = self.product_description {
  128    128   
            ser.write_string(&SPOTPRICE_MEMBER_PRODUCT_DESCRIPTION, val.as_str())?;
  129    129   
        }
  130    130   
        if let Some(ref val) = self.spot_price {
  131    131   
            ser.write_string(&SPOTPRICE_MEMBER_SPOT_PRICE, val)?;
  132    132   
        }
  133    133   
        if let Some(ref val) = self.timestamp {
  134    134   
            ser.write_timestamp(&SPOTPRICE_MEMBER_TIMESTAMP, val)?;
  135    135   
        }
  136    136   
        Ok(())
  137    137   
    }
  138    138   
}
  139    139   
impl SpotPrice {
  140    140   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  141         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  142         -
        deserializer: &mut D,
         141  +
    pub fn deserialize(
         142  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  143    143   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  144    144   
        #[allow(unused_variables, unused_mut)]
  145    145   
        let mut builder = Self::builder();
  146    146   
        #[allow(
  147    147   
            unused_variables,
  148    148   
            unreachable_code,
  149    149   
            clippy::single_match,
  150    150   
            clippy::match_single_binding,
  151    151   
            clippy::diverging_sub_expression
  152    152   
        )]
  153         -
        deserializer.read_struct(&SPOTPRICE_SCHEMA, (), |_, member, deser| {
         153  +
        deserializer.read_struct(&SPOTPRICE_SCHEMA, &mut |member, deser| {
  154    154   
            match member.member_index() {
  155    155   
                Some(0) => {
  156    156   
                    builder.availability_zone = Some(deser.read_string(member)?);
  157    157   
                }
  158    158   
                Some(1) => {
  159    159   
                    builder.availability_zone_id = Some(deser.read_string(member)?);
  160    160   
                }
  161    161   
                Some(2) => {
  162    162   
                    builder.instance_type = Some(crate::types::InstanceType::from(deser.read_string(member)?.as_str()));
  163    163   
                }
  164    164   
                Some(3) => {
  165    165   
                    builder.product_description = Some(crate::types::RiProductDescription::from(deser.read_string(member)?.as_str()));
  166    166   
                }
  167    167   
                Some(4) => {
  168    168   
                    builder.spot_price = Some(deser.read_string(member)?);
  169    169   
                }
  170    170   
                Some(5) => {
  171    171   
                    builder.timestamp = Some(deser.read_timestamp(member)?);
  172    172   
                }
  173    173   
                _ => {}
  174    174   
            }
  175    175   
            Ok(())
  176    176   
        })?;
  177    177   
        Ok(builder.build())
  178    178   
    }
  179    179   
}
         180  +
impl SpotPrice {
         181  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         182  +
    pub fn deserialize_with_response(
         183  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         184  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         185  +
        _status: u16,
         186  +
        _body: &[u8],
         187  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         188  +
        Self::deserialize(deserializer)
         189  +
    }
         190  +
}
  180    191   
impl SpotPrice {
  181    192   
    /// Creates a new builder-style object to manufacture [`SpotPrice`](crate::types::SpotPrice).
  182    193   
    pub fn builder() -> crate::types::builders::SpotPriceBuilder {
  183    194   
        crate::types::builders::SpotPriceBuilder::default()
  184    195   
    }
  185    196   
}
  186    197   
  187    198   
/// A builder for [`SpotPrice`](crate::types::SpotPrice).
  188    199   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  189    200   
#[non_exhaustive]

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

@@ -27,27 +130,130 @@
   47     47   
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.user_id_group_pairs.is_none()`.
   48     48   
    pub fn user_id_group_pairs(&self) -> &[crate::types::UserIdGroupPair] {
   49     49   
        self.user_id_group_pairs.as_deref().unwrap_or_default()
   50     50   
    }
   51     51   
}
   52     52   
static STALEIPPERMISSION_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
   53     53   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#StaleIpPermission", "com.amazonaws.ec2", "StaleIpPermission");
   54     54   
static STALEIPPERMISSION_MEMBER_FROM_PORT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   55     55   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#StaleIpPermission$FromPort", "com.amazonaws.ec2", "StaleIpPermission"),
   56     56   
    ::aws_smithy_schema::ShapeType::Integer,
   57         -
    "from_port",
          57  +
    "FromPort",
   58     58   
    0,
   59     59   
)
   60     60   
.with_xml_name("fromPort");
   61     61   
static STALEIPPERMISSION_MEMBER_IP_PROTOCOL: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   62     62   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#StaleIpPermission$IpProtocol", "com.amazonaws.ec2", "StaleIpPermission"),
   63     63   
    ::aws_smithy_schema::ShapeType::String,
   64         -
    "ip_protocol",
          64  +
    "IpProtocol",
   65     65   
    1,
   66     66   
)
   67     67   
.with_xml_name("ipProtocol");
   68     68   
static STALEIPPERMISSION_MEMBER_IP_RANGES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   69     69   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#StaleIpPermission$IpRanges", "com.amazonaws.ec2", "StaleIpPermission"),
   70     70   
    ::aws_smithy_schema::ShapeType::List,
   71         -
    "ip_ranges",
          71  +
    "IpRanges",
   72     72   
    2,
   73     73   
)
   74     74   
.with_xml_name("ipRanges");
   75     75   
static STALEIPPERMISSION_MEMBER_PREFIX_LIST_IDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   76     76   
    ::aws_smithy_schema::ShapeId::from_static(
   77     77   
        "com.amazonaws.ec2#StaleIpPermission$PrefixListIds",
   78     78   
        "com.amazonaws.ec2",
   79     79   
        "StaleIpPermission",
   80     80   
    ),
   81     81   
    ::aws_smithy_schema::ShapeType::List,
   82         -
    "prefix_list_ids",
          82  +
    "PrefixListIds",
   83     83   
    3,
   84     84   
)
   85     85   
.with_xml_name("prefixListIds");
   86     86   
static STALEIPPERMISSION_MEMBER_TO_PORT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   87     87   
    ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.ec2#StaleIpPermission$ToPort", "com.amazonaws.ec2", "StaleIpPermission"),
   88     88   
    ::aws_smithy_schema::ShapeType::Integer,
   89         -
    "to_port",
          89  +
    "ToPort",
   90     90   
    4,
   91     91   
)
   92     92   
.with_xml_name("toPort");
   93     93   
static STALEIPPERMISSION_MEMBER_USER_ID_GROUP_PAIRS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   94     94   
    ::aws_smithy_schema::ShapeId::from_static(
   95     95   
        "com.amazonaws.ec2#StaleIpPermission$UserIdGroupPairs",
   96     96   
        "com.amazonaws.ec2",
   97     97   
        "StaleIpPermission",
   98     98   
    ),
   99     99   
    ::aws_smithy_schema::ShapeType::List,
  100         -
    "user_id_group_pairs",
         100  +
    "UserIdGroupPairs",
  101    101   
    5,
  102    102   
)
  103    103   
.with_xml_name("groups");
  104    104   
static STALEIPPERMISSION_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  105    105   
    STALEIPPERMISSION_SCHEMA_ID,
  106    106   
    ::aws_smithy_schema::ShapeType::Structure,
  107    107   
    &[
  108    108   
        &STALEIPPERMISSION_MEMBER_FROM_PORT,
  109    109   
        &STALEIPPERMISSION_MEMBER_IP_PROTOCOL,
  110    110   
        &STALEIPPERMISSION_MEMBER_IP_RANGES,
@@ -143,143 +271,259 @@
  163    163   
                    }
  164    164   
                    Ok(())
  165    165   
                },
  166    166   
            )?;
  167    167   
        }
  168    168   
        Ok(())
  169    169   
    }
  170    170   
}
  171    171   
impl StaleIpPermission {
  172    172   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  173         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  174         -
        deserializer: &mut D,
         173  +
    pub fn deserialize(
         174  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  175    175   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  176    176   
        #[allow(unused_variables, unused_mut)]
  177    177   
        let mut builder = Self::builder();
  178    178   
        #[allow(
  179    179   
            unused_variables,
  180    180   
            unreachable_code,
  181    181   
            clippy::single_match,
  182    182   
            clippy::match_single_binding,
  183    183   
            clippy::diverging_sub_expression
  184    184   
        )]
  185         -
        deserializer.read_struct(&STALEIPPERMISSION_SCHEMA, (), |_, member, deser| {
         185  +
        deserializer.read_struct(&STALEIPPERMISSION_SCHEMA, &mut |member, deser| {
  186    186   
            match member.member_index() {
  187    187   
                Some(0) => {
  188    188   
                    builder.from_port = Some(deser.read_integer(member)?);
  189    189   
                }
  190    190   
                Some(1) => {
  191    191   
                    builder.ip_protocol = Some(deser.read_string(member)?);
  192    192   
                }
  193    193   
                Some(2) => {
  194         -
                    builder.ip_ranges = Some({
  195         -
                        let container = if let Some(cap) = deser.container_size() {
  196         -
                            Vec::with_capacity(cap)
  197         -
                        } else {
  198         -
                            Vec::new()
  199         -
                        };
  200         -
                        deser.read_list(member, container, |mut list, deser| {
  201         -
                            list.push(deser.read_string(member)?);
  202         -
                            Ok(list)
  203         -
                        })?
  204         -
                    });
         194  +
                    builder.ip_ranges = Some(deser.read_string_list(member)?);
  205    195   
                }
  206    196   
                Some(3) => {
  207         -
                    builder.prefix_list_ids = Some({
  208         -
                        let container = if let Some(cap) = deser.container_size() {
  209         -
                            Vec::with_capacity(cap)
  210         -
                        } else {
  211         -
                            Vec::new()
  212         -
                        };
  213         -
                        deser.read_list(member, container, |mut list, deser| {
  214         -
                            list.push(deser.read_string(member)?);
  215         -
                            Ok(list)
  216         -
                        })?
  217         -
                    });
         197  +
                    builder.prefix_list_ids = Some(deser.read_string_list(member)?);
  218    198   
                }
  219    199   
                Some(4) => {
  220    200   
                    builder.to_port = Some(deser.read_integer(member)?);
  221    201   
                }
  222    202   
                Some(5) => {
  223    203   
                    builder.user_id_group_pairs = Some({
  224         -
                        let container = if let Some(cap) = deser.container_size() {
  225         -
                            Vec::with_capacity(cap)
  226         -
                        } else {
  227         -
                            Vec::new()
  228         -
                        };
  229         -
                        deser.read_list(member, container, |mut list, deser| {
  230         -
                            list.push(crate::types::UserIdGroupPair::deserialize(deser)?);
  231         -
                            Ok(list)
  232         -
                        })?
         204  +
                        let mut container = Vec::new();
         205  +
                        deser.read_list(member, &mut |deser| {
         206  +
                            container.push(crate::types::UserIdGroupPair::deserialize(deser)?);
         207  +
                            Ok(())
         208  +
                        })?;
         209  +
                        container
  233    210   
                    });
  234    211   
                }
  235    212   
                _ => {}
  236    213   
            }
  237    214   
            Ok(())
  238    215   
        })?;
  239    216   
        Ok(builder.build())
  240    217   
    }
  241    218   
}
         219  +
impl StaleIpPermission {
         220  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         221  +
    pub fn deserialize_with_response(
         222  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         223  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         224  +
        _status: u16,
         225  +
        _body: &[u8],
         226  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         227  +
        Self::deserialize(deserializer)
         228  +
    }
         229  +
}
  242    230   
impl StaleIpPermission {
  243    231   
    /// Creates a new builder-style object to manufacture [`StaleIpPermission`](crate::types::StaleIpPermission).
  244    232   
    pub fn builder() -> crate::types::builders::StaleIpPermissionBuilder {
  245    233   
        crate::types::builders::StaleIpPermissionBuilder::default()
  246    234   
    }
  247    235   
}
  248    236   
  249    237   
/// A builder for [`StaleIpPermission`](crate::types::StaleIpPermission).
  250    238   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  251    239   
#[non_exhaustive]