aws_sdk_ec2/protocol_serde/
shape_request_spot_instances_input.rs1pub fn ser_request_spot_instances_input_input_input(
3 input: &crate::operation::request_spot_instances::RequestSpotInstancesInput,
4) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
5 let mut out = String::new();
6 #[allow(unused_mut)]
7 let mut writer = ::aws_smithy_query::QueryWriter::new(&mut out, "RequestSpotInstances", "2016-11-15");
8 #[allow(unused_mut)]
9 let mut scope_1 = writer.prefix("LaunchSpecification");
10 if let Some(var_2) = &input.launch_specification {
11 crate::protocol_serde::shape_request_spot_launch_specification::ser_request_spot_launch_specification(scope_1, var_2)?;
12 }
13 #[allow(unused_mut)]
14 let mut scope_3 = writer.prefix("TagSpecification");
15 if let Some(var_4) = &input.tag_specifications {
16 if !var_4.is_empty() {
17 let mut list_6 = scope_3.start_list(true, Some("item"));
18 for item_5 in var_4 {
19 #[allow(unused_mut)]
20 let mut entry_7 = list_6.entry();
21 crate::protocol_serde::shape_tag_specification::ser_tag_specification(entry_7, item_5)?;
22 }
23 list_6.finish();
24 }
25 }
26 #[allow(unused_mut)]
27 let mut scope_8 = writer.prefix("InstanceInterruptionBehavior");
28 if let Some(var_9) = &input.instance_interruption_behavior {
29 scope_8.string(var_9.as_str());
30 }
31 #[allow(unused_mut)]
32 let mut scope_10 = writer.prefix("DryRun");
33 if let Some(var_11) = &input.dry_run {
34 scope_10.boolean(*var_11);
35 }
36 #[allow(unused_mut)]
37 let mut scope_12 = writer.prefix("SpotPrice");
38 if let Some(var_13) = &input.spot_price {
39 scope_12.string(var_13);
40 }
41 #[allow(unused_mut)]
42 let mut scope_14 = writer.prefix("ClientToken");
43 if let Some(var_15) = &input.client_token {
44 scope_14.string(var_15);
45 }
46 #[allow(unused_mut)]
47 let mut scope_16 = writer.prefix("InstanceCount");
48 if let Some(var_17) = &input.instance_count {
49 scope_16.number(
50 #[allow(clippy::useless_conversion)]
51 ::aws_smithy_types::Number::NegInt((*var_17).into()),
52 );
53 }
54 #[allow(unused_mut)]
55 let mut scope_18 = writer.prefix("Type");
56 if let Some(var_19) = &input.r#type {
57 scope_18.string(var_19.as_str());
58 }
59 #[allow(unused_mut)]
60 let mut scope_20 = writer.prefix("ValidFrom");
61 if let Some(var_21) = &input.valid_from {
62 scope_20.date_time(var_21, ::aws_smithy_types::date_time::Format::DateTime)?;
63 }
64 #[allow(unused_mut)]
65 let mut scope_22 = writer.prefix("ValidUntil");
66 if let Some(var_23) = &input.valid_until {
67 scope_22.date_time(var_23, ::aws_smithy_types::date_time::Format::DateTime)?;
68 }
69 #[allow(unused_mut)]
70 let mut scope_24 = writer.prefix("LaunchGroup");
71 if let Some(var_25) = &input.launch_group {
72 scope_24.string(var_25);
73 }
74 #[allow(unused_mut)]
75 let mut scope_26 = writer.prefix("AvailabilityZoneGroup");
76 if let Some(var_27) = &input.availability_zone_group {
77 scope_26.string(var_27);
78 }
79 #[allow(unused_mut)]
80 let mut scope_28 = writer.prefix("BlockDurationMinutes");
81 if let Some(var_29) = &input.block_duration_minutes {
82 scope_28.number(
83 #[allow(clippy::useless_conversion)]
84 ::aws_smithy_types::Number::NegInt((*var_29).into()),
85 );
86 }
87 writer.finish();
88 Ok(::aws_smithy_types::body::SdkBody::from(out))
89}