aws_sdk_redshift/protocol_serde/
shape_create_cluster_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub fn ser_create_cluster_input_input_input(
3    input: &crate::operation::create_cluster::CreateClusterInput,
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, "CreateCluster", "2012-12-01");
8    #[allow(unused_mut)]
9    let mut scope_1 = writer.prefix("DBName");
10    if let Some(var_2) = &input.db_name {
11        scope_1.string(var_2);
12    }
13    #[allow(unused_mut)]
14    let mut scope_3 = writer.prefix("ClusterIdentifier");
15    if let Some(var_4) = &input.cluster_identifier {
16        scope_3.string(var_4);
17    }
18    #[allow(unused_mut)]
19    let mut scope_5 = writer.prefix("ClusterType");
20    if let Some(var_6) = &input.cluster_type {
21        scope_5.string(var_6);
22    }
23    #[allow(unused_mut)]
24    let mut scope_7 = writer.prefix("NodeType");
25    if let Some(var_8) = &input.node_type {
26        scope_7.string(var_8);
27    }
28    #[allow(unused_mut)]
29    let mut scope_9 = writer.prefix("MasterUsername");
30    if let Some(var_10) = &input.master_username {
31        scope_9.string(var_10);
32    }
33    #[allow(unused_mut)]
34    let mut scope_11 = writer.prefix("MasterUserPassword");
35    if let Some(var_12) = &input.master_user_password {
36        scope_11.string(var_12);
37    }
38    #[allow(unused_mut)]
39    let mut scope_13 = writer.prefix("ClusterSecurityGroups");
40    if let Some(var_14) = &input.cluster_security_groups {
41        let mut list_16 = scope_13.start_list(false, Some("ClusterSecurityGroupName"));
42        for item_15 in var_14 {
43            #[allow(unused_mut)]
44            let mut entry_17 = list_16.entry();
45            entry_17.string(item_15);
46        }
47        list_16.finish();
48    }
49    #[allow(unused_mut)]
50    let mut scope_18 = writer.prefix("VpcSecurityGroupIds");
51    if let Some(var_19) = &input.vpc_security_group_ids {
52        let mut list_21 = scope_18.start_list(false, Some("VpcSecurityGroupId"));
53        for item_20 in var_19 {
54            #[allow(unused_mut)]
55            let mut entry_22 = list_21.entry();
56            entry_22.string(item_20);
57        }
58        list_21.finish();
59    }
60    #[allow(unused_mut)]
61    let mut scope_23 = writer.prefix("ClusterSubnetGroupName");
62    if let Some(var_24) = &input.cluster_subnet_group_name {
63        scope_23.string(var_24);
64    }
65    #[allow(unused_mut)]
66    let mut scope_25 = writer.prefix("AvailabilityZone");
67    if let Some(var_26) = &input.availability_zone {
68        scope_25.string(var_26);
69    }
70    #[allow(unused_mut)]
71    let mut scope_27 = writer.prefix("PreferredMaintenanceWindow");
72    if let Some(var_28) = &input.preferred_maintenance_window {
73        scope_27.string(var_28);
74    }
75    #[allow(unused_mut)]
76    let mut scope_29 = writer.prefix("ClusterParameterGroupName");
77    if let Some(var_30) = &input.cluster_parameter_group_name {
78        scope_29.string(var_30);
79    }
80    #[allow(unused_mut)]
81    let mut scope_31 = writer.prefix("AutomatedSnapshotRetentionPeriod");
82    if let Some(var_32) = &input.automated_snapshot_retention_period {
83        scope_31.number(
84            #[allow(clippy::useless_conversion)]
85            ::aws_smithy_types::Number::NegInt((*var_32).into()),
86        );
87    }
88    #[allow(unused_mut)]
89    let mut scope_33 = writer.prefix("ManualSnapshotRetentionPeriod");
90    if let Some(var_34) = &input.manual_snapshot_retention_period {
91        scope_33.number(
92            #[allow(clippy::useless_conversion)]
93            ::aws_smithy_types::Number::NegInt((*var_34).into()),
94        );
95    }
96    #[allow(unused_mut)]
97    let mut scope_35 = writer.prefix("Port");
98    if let Some(var_36) = &input.port {
99        scope_35.number(
100            #[allow(clippy::useless_conversion)]
101            ::aws_smithy_types::Number::NegInt((*var_36).into()),
102        );
103    }
104    #[allow(unused_mut)]
105    let mut scope_37 = writer.prefix("ClusterVersion");
106    if let Some(var_38) = &input.cluster_version {
107        scope_37.string(var_38);
108    }
109    #[allow(unused_mut)]
110    let mut scope_39 = writer.prefix("AllowVersionUpgrade");
111    if let Some(var_40) = &input.allow_version_upgrade {
112        scope_39.boolean(*var_40);
113    }
114    #[allow(unused_mut)]
115    let mut scope_41 = writer.prefix("NumberOfNodes");
116    if let Some(var_42) = &input.number_of_nodes {
117        scope_41.number(
118            #[allow(clippy::useless_conversion)]
119            ::aws_smithy_types::Number::NegInt((*var_42).into()),
120        );
121    }
122    #[allow(unused_mut)]
123    let mut scope_43 = writer.prefix("PubliclyAccessible");
124    if let Some(var_44) = &input.publicly_accessible {
125        scope_43.boolean(*var_44);
126    }
127    #[allow(unused_mut)]
128    let mut scope_45 = writer.prefix("Encrypted");
129    if let Some(var_46) = &input.encrypted {
130        scope_45.boolean(*var_46);
131    }
132    #[allow(unused_mut)]
133    let mut scope_47 = writer.prefix("HsmClientCertificateIdentifier");
134    if let Some(var_48) = &input.hsm_client_certificate_identifier {
135        scope_47.string(var_48);
136    }
137    #[allow(unused_mut)]
138    let mut scope_49 = writer.prefix("HsmConfigurationIdentifier");
139    if let Some(var_50) = &input.hsm_configuration_identifier {
140        scope_49.string(var_50);
141    }
142    #[allow(unused_mut)]
143    let mut scope_51 = writer.prefix("ElasticIp");
144    if let Some(var_52) = &input.elastic_ip {
145        scope_51.string(var_52);
146    }
147    #[allow(unused_mut)]
148    let mut scope_53 = writer.prefix("Tags");
149    if let Some(var_54) = &input.tags {
150        let mut list_56 = scope_53.start_list(false, Some("Tag"));
151        for item_55 in var_54 {
152            #[allow(unused_mut)]
153            let mut entry_57 = list_56.entry();
154            crate::protocol_serde::shape_tag::ser_tag(entry_57, item_55)?;
155        }
156        list_56.finish();
157    }
158    #[allow(unused_mut)]
159    let mut scope_58 = writer.prefix("KmsKeyId");
160    if let Some(var_59) = &input.kms_key_id {
161        scope_58.string(var_59);
162    }
163    #[allow(unused_mut)]
164    let mut scope_60 = writer.prefix("EnhancedVpcRouting");
165    if let Some(var_61) = &input.enhanced_vpc_routing {
166        scope_60.boolean(*var_61);
167    }
168    #[allow(unused_mut)]
169    let mut scope_62 = writer.prefix("AdditionalInfo");
170    if let Some(var_63) = &input.additional_info {
171        scope_62.string(var_63);
172    }
173    #[allow(unused_mut)]
174    let mut scope_64 = writer.prefix("IamRoles");
175    if let Some(var_65) = &input.iam_roles {
176        let mut list_67 = scope_64.start_list(false, Some("IamRoleArn"));
177        for item_66 in var_65 {
178            #[allow(unused_mut)]
179            let mut entry_68 = list_67.entry();
180            entry_68.string(item_66);
181        }
182        list_67.finish();
183    }
184    #[allow(unused_mut)]
185    let mut scope_69 = writer.prefix("MaintenanceTrackName");
186    if let Some(var_70) = &input.maintenance_track_name {
187        scope_69.string(var_70);
188    }
189    #[allow(unused_mut)]
190    let mut scope_71 = writer.prefix("SnapshotScheduleIdentifier");
191    if let Some(var_72) = &input.snapshot_schedule_identifier {
192        scope_71.string(var_72);
193    }
194    #[allow(unused_mut)]
195    let mut scope_73 = writer.prefix("AvailabilityZoneRelocation");
196    if let Some(var_74) = &input.availability_zone_relocation {
197        scope_73.boolean(*var_74);
198    }
199    #[allow(unused_mut)]
200    let mut scope_75 = writer.prefix("AquaConfigurationStatus");
201    if let Some(var_76) = &input.aqua_configuration_status {
202        scope_75.string(var_76.as_str());
203    }
204    #[allow(unused_mut)]
205    let mut scope_77 = writer.prefix("DefaultIamRoleArn");
206    if let Some(var_78) = &input.default_iam_role_arn {
207        scope_77.string(var_78);
208    }
209    #[allow(unused_mut)]
210    let mut scope_79 = writer.prefix("LoadSampleData");
211    if let Some(var_80) = &input.load_sample_data {
212        scope_79.string(var_80);
213    }
214    #[allow(unused_mut)]
215    let mut scope_81 = writer.prefix("ManageMasterPassword");
216    if let Some(var_82) = &input.manage_master_password {
217        scope_81.boolean(*var_82);
218    }
219    #[allow(unused_mut)]
220    let mut scope_83 = writer.prefix("MasterPasswordSecretKmsKeyId");
221    if let Some(var_84) = &input.master_password_secret_kms_key_id {
222        scope_83.string(var_84);
223    }
224    #[allow(unused_mut)]
225    let mut scope_85 = writer.prefix("IpAddressType");
226    if let Some(var_86) = &input.ip_address_type {
227        scope_85.string(var_86);
228    }
229    #[allow(unused_mut)]
230    let mut scope_87 = writer.prefix("MultiAZ");
231    if let Some(var_88) = &input.multi_az {
232        scope_87.boolean(*var_88);
233    }
234    #[allow(unused_mut)]
235    let mut scope_89 = writer.prefix("RedshiftIdcApplicationArn");
236    if let Some(var_90) = &input.redshift_idc_application_arn {
237        scope_89.string(var_90);
238    }
239    writer.finish();
240    Ok(::aws_smithy_types::body::SdkBody::from(out))
241}