aws_sdk_databasemigration/protocol_serde/
shape_mongo_db_settings.rs1pub fn ser_mongo_db_settings(
3 object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
4 input: &crate::types::MongoDbSettings,
5) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
6 if let Some(var_1) = &input.username {
7 object.key("Username").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.server_name {
13 object.key("ServerName").string(var_3.as_str());
14 }
15 if let Some(var_4) = &input.port {
16 object.key("Port").number(
17 #[allow(clippy::useless_conversion)]
18 ::aws_smithy_types::Number::NegInt((*var_4).into()),
19 );
20 }
21 if let Some(var_5) = &input.database_name {
22 object.key("DatabaseName").string(var_5.as_str());
23 }
24 if let Some(var_6) = &input.auth_type {
25 object.key("AuthType").string(var_6.as_str());
26 }
27 if let Some(var_7) = &input.auth_mechanism {
28 object.key("AuthMechanism").string(var_7.as_str());
29 }
30 if let Some(var_8) = &input.nesting_level {
31 object.key("NestingLevel").string(var_8.as_str());
32 }
33 if let Some(var_9) = &input.extract_doc_id {
34 object.key("ExtractDocId").string(var_9.as_str());
35 }
36 if let Some(var_10) = &input.docs_to_investigate {
37 object.key("DocsToInvestigate").string(var_10.as_str());
38 }
39 if let Some(var_11) = &input.auth_source {
40 object.key("AuthSource").string(var_11.as_str());
41 }
42 if let Some(var_12) = &input.kms_key_id {
43 object.key("KmsKeyId").string(var_12.as_str());
44 }
45 if let Some(var_13) = &input.secrets_manager_access_role_arn {
46 object.key("SecretsManagerAccessRoleArn").string(var_13.as_str());
47 }
48 if let Some(var_14) = &input.secrets_manager_secret_id {
49 object.key("SecretsManagerSecretId").string(var_14.as_str());
50 }
51 if let Some(var_15) = &input.use_update_look_up {
52 object.key("UseUpdateLookUp").boolean(*var_15);
53 }
54 if let Some(var_16) = &input.replicate_shard_collections {
55 object.key("ReplicateShardCollections").boolean(*var_16);
56 }
57 Ok(())
58}
59
60pub(crate) fn de_mongo_db_settings<'a, I>(
61 tokens: &mut ::std::iter::Peekable<I>,
62) -> ::std::result::Result<Option<crate::types::MongoDbSettings>, ::aws_smithy_json::deserialize::error::DeserializeError>
63where
64 I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
65{
66 match tokens.next().transpose()? {
67 Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
68 Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
69 #[allow(unused_mut)]
70 let mut builder = crate::types::builders::MongoDbSettingsBuilder::default();
71 loop {
72 match tokens.next().transpose()? {
73 Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
74 Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
75 "Username" => {
76 builder = builder.set_username(
77 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
78 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
79 .transpose()?,
80 );
81 }
82 "Password" => {
83 builder = builder.set_password(
84 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
85 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
86 .transpose()?,
87 );
88 }
89 "ServerName" => {
90 builder = builder.set_server_name(
91 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
92 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
93 .transpose()?,
94 );
95 }
96 "Port" => {
97 builder = builder.set_port(
98 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
99 .map(i32::try_from)
100 .transpose()?,
101 );
102 }
103 "DatabaseName" => {
104 builder = builder.set_database_name(
105 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
106 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
107 .transpose()?,
108 );
109 }
110 "AuthType" => {
111 builder = builder.set_auth_type(
112 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
113 .map(|s| s.to_unescaped().map(|u| crate::types::AuthTypeValue::from(u.as_ref())))
114 .transpose()?,
115 );
116 }
117 "AuthMechanism" => {
118 builder = builder.set_auth_mechanism(
119 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
120 .map(|s| s.to_unescaped().map(|u| crate::types::AuthMechanismValue::from(u.as_ref())))
121 .transpose()?,
122 );
123 }
124 "NestingLevel" => {
125 builder = builder.set_nesting_level(
126 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
127 .map(|s| s.to_unescaped().map(|u| crate::types::NestingLevelValue::from(u.as_ref())))
128 .transpose()?,
129 );
130 }
131 "ExtractDocId" => {
132 builder = builder.set_extract_doc_id(
133 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
134 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
135 .transpose()?,
136 );
137 }
138 "DocsToInvestigate" => {
139 builder = builder.set_docs_to_investigate(
140 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
141 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
142 .transpose()?,
143 );
144 }
145 "AuthSource" => {
146 builder = builder.set_auth_source(
147 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
148 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
149 .transpose()?,
150 );
151 }
152 "KmsKeyId" => {
153 builder = builder.set_kms_key_id(
154 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
155 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
156 .transpose()?,
157 );
158 }
159 "SecretsManagerAccessRoleArn" => {
160 builder = builder.set_secrets_manager_access_role_arn(
161 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
162 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
163 .transpose()?,
164 );
165 }
166 "SecretsManagerSecretId" => {
167 builder = builder.set_secrets_manager_secret_id(
168 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
169 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
170 .transpose()?,
171 );
172 }
173 "UseUpdateLookUp" => {
174 builder = builder.set_use_update_look_up(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
175 }
176 "ReplicateShardCollections" => {
177 builder =
178 builder.set_replicate_shard_collections(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
179 }
180 _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
181 },
182 other => {
183 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
184 "expected object key or end object, found: {:?}",
185 other
186 )))
187 }
188 }
189 }
190 Ok(Some(builder.build()))
191 }
192 _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
193 "expected start object or null",
194 )),
195 }
196}