aws_sdk_neptune/protocol_serde/
shape_restore_db_cluster_from_snapshot_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub fn ser_restore_db_cluster_from_snapshot_input_input_input(
3    input: &crate::operation::restore_db_cluster_from_snapshot::RestoreDbClusterFromSnapshotInput,
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, "RestoreDBClusterFromSnapshot", "2014-10-31");
8    #[allow(unused_mut)]
9    let mut scope_1 = writer.prefix("AvailabilityZones");
10    if let Some(var_2) = &input.availability_zones {
11        let mut list_4 = scope_1.start_list(false, Some("AvailabilityZone"));
12        for item_3 in var_2 {
13            #[allow(unused_mut)]
14            let mut entry_5 = list_4.entry();
15            entry_5.string(item_3);
16        }
17        list_4.finish();
18    }
19    #[allow(unused_mut)]
20    let mut scope_6 = writer.prefix("DBClusterIdentifier");
21    if let Some(var_7) = &input.db_cluster_identifier {
22        scope_6.string(var_7);
23    }
24    #[allow(unused_mut)]
25    let mut scope_8 = writer.prefix("SnapshotIdentifier");
26    if let Some(var_9) = &input.snapshot_identifier {
27        scope_8.string(var_9);
28    }
29    #[allow(unused_mut)]
30    let mut scope_10 = writer.prefix("Engine");
31    if let Some(var_11) = &input.engine {
32        scope_10.string(var_11);
33    }
34    #[allow(unused_mut)]
35    let mut scope_12 = writer.prefix("EngineVersion");
36    if let Some(var_13) = &input.engine_version {
37        scope_12.string(var_13);
38    }
39    #[allow(unused_mut)]
40    let mut scope_14 = writer.prefix("Port");
41    if let Some(var_15) = &input.port {
42        scope_14.number(
43            #[allow(clippy::useless_conversion)]
44            ::aws_smithy_types::Number::NegInt((*var_15).into()),
45        );
46    }
47    #[allow(unused_mut)]
48    let mut scope_16 = writer.prefix("DBSubnetGroupName");
49    if let Some(var_17) = &input.db_subnet_group_name {
50        scope_16.string(var_17);
51    }
52    #[allow(unused_mut)]
53    let mut scope_18 = writer.prefix("DatabaseName");
54    if let Some(var_19) = &input.database_name {
55        scope_18.string(var_19);
56    }
57    #[allow(unused_mut)]
58    let mut scope_20 = writer.prefix("OptionGroupName");
59    if let Some(var_21) = &input.option_group_name {
60        scope_20.string(var_21);
61    }
62    #[allow(unused_mut)]
63    let mut scope_22 = writer.prefix("VpcSecurityGroupIds");
64    if let Some(var_23) = &input.vpc_security_group_ids {
65        let mut list_25 = scope_22.start_list(false, Some("VpcSecurityGroupId"));
66        for item_24 in var_23 {
67            #[allow(unused_mut)]
68            let mut entry_26 = list_25.entry();
69            entry_26.string(item_24);
70        }
71        list_25.finish();
72    }
73    #[allow(unused_mut)]
74    let mut scope_27 = writer.prefix("Tags");
75    if let Some(var_28) = &input.tags {
76        let mut list_30 = scope_27.start_list(false, Some("Tag"));
77        for item_29 in var_28 {
78            #[allow(unused_mut)]
79            let mut entry_31 = list_30.entry();
80            crate::protocol_serde::shape_tag::ser_tag(entry_31, item_29)?;
81        }
82        list_30.finish();
83    }
84    #[allow(unused_mut)]
85    let mut scope_32 = writer.prefix("KmsKeyId");
86    if let Some(var_33) = &input.kms_key_id {
87        scope_32.string(var_33);
88    }
89    #[allow(unused_mut)]
90    let mut scope_34 = writer.prefix("EnableIAMDatabaseAuthentication");
91    if let Some(var_35) = &input.enable_iam_database_authentication {
92        scope_34.boolean(*var_35);
93    }
94    #[allow(unused_mut)]
95    let mut scope_36 = writer.prefix("EnableCloudwatchLogsExports");
96    if let Some(var_37) = &input.enable_cloudwatch_logs_exports {
97        let mut list_39 = scope_36.start_list(false, None);
98        for item_38 in var_37 {
99            #[allow(unused_mut)]
100            let mut entry_40 = list_39.entry();
101            entry_40.string(item_38);
102        }
103        list_39.finish();
104    }
105    #[allow(unused_mut)]
106    let mut scope_41 = writer.prefix("DBClusterParameterGroupName");
107    if let Some(var_42) = &input.db_cluster_parameter_group_name {
108        scope_41.string(var_42);
109    }
110    #[allow(unused_mut)]
111    let mut scope_43 = writer.prefix("DeletionProtection");
112    if let Some(var_44) = &input.deletion_protection {
113        scope_43.boolean(*var_44);
114    }
115    #[allow(unused_mut)]
116    let mut scope_45 = writer.prefix("CopyTagsToSnapshot");
117    if let Some(var_46) = &input.copy_tags_to_snapshot {
118        scope_45.boolean(*var_46);
119    }
120    #[allow(unused_mut)]
121    let mut scope_47 = writer.prefix("ServerlessV2ScalingConfiguration");
122    if let Some(var_48) = &input.serverless_v2_scaling_configuration {
123        crate::protocol_serde::shape_serverless_v2_scaling_configuration::ser_serverless_v2_scaling_configuration(scope_47, var_48)?;
124    }
125    #[allow(unused_mut)]
126    let mut scope_49 = writer.prefix("StorageType");
127    if let Some(var_50) = &input.storage_type {
128        scope_49.string(var_50);
129    }
130    writer.finish();
131    Ok(::aws_smithy_types::body::SdkBody::from(out))
132}