aws_sdk_ec2/protocol_serde/
shape_create_ipam_pool_input.rs1pub fn ser_create_ipam_pool_input_input_input(
3 input: &crate::operation::create_ipam_pool::CreateIpamPoolInput,
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, "CreateIpamPool", "2016-11-15");
8 #[allow(unused_mut)]
9 let mut scope_1 = writer.prefix("DryRun");
10 if let Some(var_2) = &input.dry_run {
11 scope_1.boolean(*var_2);
12 }
13 #[allow(unused_mut)]
14 let mut scope_3 = writer.prefix("IpamScopeId");
15 if let Some(var_4) = &input.ipam_scope_id {
16 scope_3.string(var_4);
17 }
18 #[allow(unused_mut)]
19 let mut scope_5 = writer.prefix("Locale");
20 if let Some(var_6) = &input.locale {
21 scope_5.string(var_6);
22 }
23 #[allow(unused_mut)]
24 let mut scope_7 = writer.prefix("SourceIpamPoolId");
25 if let Some(var_8) = &input.source_ipam_pool_id {
26 scope_7.string(var_8);
27 }
28 #[allow(unused_mut)]
29 let mut scope_9 = writer.prefix("Description");
30 if let Some(var_10) = &input.description {
31 scope_9.string(var_10);
32 }
33 #[allow(unused_mut)]
34 let mut scope_11 = writer.prefix("AddressFamily");
35 if let Some(var_12) = &input.address_family {
36 scope_11.string(var_12.as_str());
37 }
38 #[allow(unused_mut)]
39 let mut scope_13 = writer.prefix("AutoImport");
40 if let Some(var_14) = &input.auto_import {
41 scope_13.boolean(*var_14);
42 }
43 #[allow(unused_mut)]
44 let mut scope_15 = writer.prefix("PubliclyAdvertisable");
45 if let Some(var_16) = &input.publicly_advertisable {
46 scope_15.boolean(*var_16);
47 }
48 #[allow(unused_mut)]
49 let mut scope_17 = writer.prefix("AllocationMinNetmaskLength");
50 if let Some(var_18) = &input.allocation_min_netmask_length {
51 scope_17.number(
52 #[allow(clippy::useless_conversion)]
53 ::aws_smithy_types::Number::NegInt((*var_18).into()),
54 );
55 }
56 #[allow(unused_mut)]
57 let mut scope_19 = writer.prefix("AllocationMaxNetmaskLength");
58 if let Some(var_20) = &input.allocation_max_netmask_length {
59 scope_19.number(
60 #[allow(clippy::useless_conversion)]
61 ::aws_smithy_types::Number::NegInt((*var_20).into()),
62 );
63 }
64 #[allow(unused_mut)]
65 let mut scope_21 = writer.prefix("AllocationDefaultNetmaskLength");
66 if let Some(var_22) = &input.allocation_default_netmask_length {
67 scope_21.number(
68 #[allow(clippy::useless_conversion)]
69 ::aws_smithy_types::Number::NegInt((*var_22).into()),
70 );
71 }
72 #[allow(unused_mut)]
73 let mut scope_23 = writer.prefix("AllocationResourceTag");
74 if let Some(var_24) = &input.allocation_resource_tags {
75 if !var_24.is_empty() {
76 let mut list_26 = scope_23.start_list(true, Some("item"));
77 for item_25 in var_24 {
78 #[allow(unused_mut)]
79 let mut entry_27 = list_26.entry();
80 crate::protocol_serde::shape_request_ipam_resource_tag::ser_request_ipam_resource_tag(entry_27, item_25)?;
81 }
82 list_26.finish();
83 }
84 }
85 #[allow(unused_mut)]
86 let mut scope_28 = writer.prefix("TagSpecification");
87 if let Some(var_29) = &input.tag_specifications {
88 if !var_29.is_empty() {
89 let mut list_31 = scope_28.start_list(true, Some("item"));
90 for item_30 in var_29 {
91 #[allow(unused_mut)]
92 let mut entry_32 = list_31.entry();
93 crate::protocol_serde::shape_tag_specification::ser_tag_specification(entry_32, item_30)?;
94 }
95 list_31.finish();
96 }
97 }
98 #[allow(unused_mut)]
99 let mut scope_33 = writer.prefix("ClientToken");
100 if let Some(var_34) = &input.client_token {
101 scope_33.string(var_34);
102 }
103 #[allow(unused_mut)]
104 let mut scope_35 = writer.prefix("AwsService");
105 if let Some(var_36) = &input.aws_service {
106 scope_35.string(var_36.as_str());
107 }
108 #[allow(unused_mut)]
109 let mut scope_37 = writer.prefix("PublicIpSource");
110 if let Some(var_38) = &input.public_ip_source {
111 scope_37.string(var_38.as_str());
112 }
113 #[allow(unused_mut)]
114 let mut scope_39 = writer.prefix("SourceResource");
115 if let Some(var_40) = &input.source_resource {
116 crate::protocol_serde::shape_ipam_pool_source_resource_request::ser_ipam_pool_source_resource_request(scope_39, var_40)?;
117 }
118 writer.finish();
119 Ok(::aws_smithy_types::body::SdkBody::from(out))
120}