aws_sdk_databasemigration/protocol_serde/
shape_ibm_db2_settings.rs1pub fn ser_ibm_db2_settings(
3 object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
4 input: &crate::types::IbmDb2Settings,
5) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
6 if let Some(var_1) = &input.database_name {
7 object.key("DatabaseName").string(var_1.as_str());
8 }
9 if let Some(var_2) = &input.password {
10 object.key("Password").string(var_2.as_str());
11 }
12 if let Some(var_3) = &input.port {
13 object.key("Port").number(
14 #[allow(clippy::useless_conversion)]
15 ::aws_smithy_types::Number::NegInt((*var_3).into()),
16 );
17 }
18 if let Some(var_4) = &input.server_name {
19 object.key("ServerName").string(var_4.as_str());
20 }
21 if let Some(var_5) = &input.set_data_capture_changes {
22 object.key("SetDataCaptureChanges").boolean(*var_5);
23 }
24 if let Some(var_6) = &input.current_lsn {
25 object.key("CurrentLsn").string(var_6.as_str());
26 }
27 if let Some(var_7) = &input.max_k_bytes_per_read {
28 object.key("MaxKBytesPerRead").number(
29 #[allow(clippy::useless_conversion)]
30 ::aws_smithy_types::Number::NegInt((*var_7).into()),
31 );
32 }
33 if let Some(var_8) = &input.username {
34 object.key("Username").string(var_8.as_str());
35 }
36 if let Some(var_9) = &input.secrets_manager_access_role_arn {
37 object.key("SecretsManagerAccessRoleArn").string(var_9.as_str());
38 }
39 if let Some(var_10) = &input.secrets_manager_secret_id {
40 object.key("SecretsManagerSecretId").string(var_10.as_str());
41 }
42 if let Some(var_11) = &input.load_timeout {
43 object.key("LoadTimeout").number(
44 #[allow(clippy::useless_conversion)]
45 ::aws_smithy_types::Number::NegInt((*var_11).into()),
46 );
47 }
48 if let Some(var_12) = &input.write_buffer_size {
49 object.key("WriteBufferSize").number(
50 #[allow(clippy::useless_conversion)]
51 ::aws_smithy_types::Number::NegInt((*var_12).into()),
52 );
53 }
54 if let Some(var_13) = &input.max_file_size {
55 object.key("MaxFileSize").number(
56 #[allow(clippy::useless_conversion)]
57 ::aws_smithy_types::Number::NegInt((*var_13).into()),
58 );
59 }
60 if let Some(var_14) = &input.keep_csv_files {
61 object.key("KeepCsvFiles").boolean(*var_14);
62 }
63 Ok(())
64}
65
66pub(crate) fn de_ibm_db2_settings<'a, I>(
67 tokens: &mut ::std::iter::Peekable<I>,
68) -> ::std::result::Result<Option<crate::types::IbmDb2Settings>, ::aws_smithy_json::deserialize::error::DeserializeError>
69where
70 I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
71{
72 match tokens.next().transpose()? {
73 Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
74 Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
75 #[allow(unused_mut)]
76 let mut builder = crate::types::builders::IbmDb2SettingsBuilder::default();
77 loop {
78 match tokens.next().transpose()? {
79 Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
80 Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
81 "DatabaseName" => {
82 builder = builder.set_database_name(
83 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
84 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
85 .transpose()?,
86 );
87 }
88 "Password" => {
89 builder = builder.set_password(
90 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
91 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
92 .transpose()?,
93 );
94 }
95 "Port" => {
96 builder = builder.set_port(
97 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
98 .map(i32::try_from)
99 .transpose()?,
100 );
101 }
102 "ServerName" => {
103 builder = builder.set_server_name(
104 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
105 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
106 .transpose()?,
107 );
108 }
109 "SetDataCaptureChanges" => {
110 builder =
111 builder.set_set_data_capture_changes(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
112 }
113 "CurrentLsn" => {
114 builder = builder.set_current_lsn(
115 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
116 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
117 .transpose()?,
118 );
119 }
120 "MaxKBytesPerRead" => {
121 builder = builder.set_max_k_bytes_per_read(
122 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
123 .map(i32::try_from)
124 .transpose()?,
125 );
126 }
127 "Username" => {
128 builder = builder.set_username(
129 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
130 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
131 .transpose()?,
132 );
133 }
134 "SecretsManagerAccessRoleArn" => {
135 builder = builder.set_secrets_manager_access_role_arn(
136 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
137 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
138 .transpose()?,
139 );
140 }
141 "SecretsManagerSecretId" => {
142 builder = builder.set_secrets_manager_secret_id(
143 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
144 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
145 .transpose()?,
146 );
147 }
148 "LoadTimeout" => {
149 builder = builder.set_load_timeout(
150 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
151 .map(i32::try_from)
152 .transpose()?,
153 );
154 }
155 "WriteBufferSize" => {
156 builder = builder.set_write_buffer_size(
157 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
158 .map(i32::try_from)
159 .transpose()?,
160 );
161 }
162 "MaxFileSize" => {
163 builder = builder.set_max_file_size(
164 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
165 .map(i32::try_from)
166 .transpose()?,
167 );
168 }
169 "KeepCsvFiles" => {
170 builder = builder.set_keep_csv_files(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
171 }
172 _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
173 },
174 other => {
175 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
176 "expected object key or end object, found: {:?}",
177 other
178 )))
179 }
180 }
181 }
182 Ok(Some(builder.build()))
183 }
184 _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
185 "expected start object or null",
186 )),
187 }
188}