aws_sdk_ec2/protocol_serde/
shape_modify_instance_attribute_input.rs1pub fn ser_modify_instance_attribute_input_input_input(
3 input: &crate::operation::modify_instance_attribute::ModifyInstanceAttributeInput,
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, "ModifyInstanceAttribute", "2016-11-15");
8 #[allow(unused_mut)]
9 let mut scope_1 = writer.prefix("SourceDestCheck");
10 if let Some(var_2) = &input.source_dest_check {
11 crate::protocol_serde::shape_attribute_boolean_value::ser_attribute_boolean_value(scope_1, var_2)?;
12 }
13 #[allow(unused_mut)]
14 let mut scope_3 = writer.prefix("DisableApiStop");
15 if let Some(var_4) = &input.disable_api_stop {
16 crate::protocol_serde::shape_attribute_boolean_value::ser_attribute_boolean_value(scope_3, var_4)?;
17 }
18 #[allow(unused_mut)]
19 let mut scope_5 = writer.prefix("DryRun");
20 if let Some(var_6) = &input.dry_run {
21 scope_5.boolean(*var_6);
22 }
23 #[allow(unused_mut)]
24 let mut scope_7 = writer.prefix("InstanceId");
25 if let Some(var_8) = &input.instance_id {
26 scope_7.string(var_8);
27 }
28 #[allow(unused_mut)]
29 let mut scope_9 = writer.prefix("Attribute");
30 if let Some(var_10) = &input.attribute {
31 scope_9.string(var_10.as_str());
32 }
33 #[allow(unused_mut)]
34 let mut scope_11 = writer.prefix("Value");
35 if let Some(var_12) = &input.value {
36 scope_11.string(var_12);
37 }
38 #[allow(unused_mut)]
39 let mut scope_13 = writer.prefix("BlockDeviceMapping");
40 if let Some(var_14) = &input.block_device_mappings {
41 if !var_14.is_empty() {
42 let mut list_16 = scope_13.start_list(true, Some("item"));
43 for item_15 in var_14 {
44 #[allow(unused_mut)]
45 let mut entry_17 = list_16.entry();
46 crate::protocol_serde::shape_instance_block_device_mapping_specification::ser_instance_block_device_mapping_specification(
47 entry_17, item_15,
48 )?;
49 }
50 list_16.finish();
51 }
52 }
53 #[allow(unused_mut)]
54 let mut scope_18 = writer.prefix("DisableApiTermination");
55 if let Some(var_19) = &input.disable_api_termination {
56 crate::protocol_serde::shape_attribute_boolean_value::ser_attribute_boolean_value(scope_18, var_19)?;
57 }
58 #[allow(unused_mut)]
59 let mut scope_20 = writer.prefix("InstanceType");
60 if let Some(var_21) = &input.instance_type {
61 crate::protocol_serde::shape_attribute_value::ser_attribute_value(scope_20, var_21)?;
62 }
63 #[allow(unused_mut)]
64 let mut scope_22 = writer.prefix("Kernel");
65 if let Some(var_23) = &input.kernel {
66 crate::protocol_serde::shape_attribute_value::ser_attribute_value(scope_22, var_23)?;
67 }
68 #[allow(unused_mut)]
69 let mut scope_24 = writer.prefix("Ramdisk");
70 if let Some(var_25) = &input.ramdisk {
71 crate::protocol_serde::shape_attribute_value::ser_attribute_value(scope_24, var_25)?;
72 }
73 #[allow(unused_mut)]
74 let mut scope_26 = writer.prefix("UserData");
75 if let Some(var_27) = &input.user_data {
76 crate::protocol_serde::shape_blob_attribute_value::ser_blob_attribute_value(scope_26, var_27)?;
77 }
78 #[allow(unused_mut)]
79 let mut scope_28 = writer.prefix("InstanceInitiatedShutdownBehavior");
80 if let Some(var_29) = &input.instance_initiated_shutdown_behavior {
81 crate::protocol_serde::shape_attribute_value::ser_attribute_value(scope_28, var_29)?;
82 }
83 #[allow(unused_mut)]
84 let mut scope_30 = writer.prefix("GroupId");
85 if let Some(var_31) = &input.groups {
86 if !var_31.is_empty() {
87 let mut list_33 = scope_30.start_list(true, Some("groupId"));
88 for item_32 in var_31 {
89 #[allow(unused_mut)]
90 let mut entry_34 = list_33.entry();
91 entry_34.string(item_32);
92 }
93 list_33.finish();
94 }
95 }
96 #[allow(unused_mut)]
97 let mut scope_35 = writer.prefix("EbsOptimized");
98 if let Some(var_36) = &input.ebs_optimized {
99 crate::protocol_serde::shape_attribute_boolean_value::ser_attribute_boolean_value(scope_35, var_36)?;
100 }
101 #[allow(unused_mut)]
102 let mut scope_37 = writer.prefix("SriovNetSupport");
103 if let Some(var_38) = &input.sriov_net_support {
104 crate::protocol_serde::shape_attribute_value::ser_attribute_value(scope_37, var_38)?;
105 }
106 #[allow(unused_mut)]
107 let mut scope_39 = writer.prefix("EnaSupport");
108 if let Some(var_40) = &input.ena_support {
109 crate::protocol_serde::shape_attribute_boolean_value::ser_attribute_boolean_value(scope_39, var_40)?;
110 }
111 writer.finish();
112 Ok(::aws_smithy_types::body::SdkBody::from(out))
113}