1 /**
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0.
4 */
5
6 #include <aws/rds/model/PendingModifiedValues.h>
7 #include <aws/core/utils/xml/XmlSerializer.h>
8 #include <aws/core/utils/StringUtils.h>
9 #include <aws/core/utils/memory/stl/AWSStringStream.h>
10
11 #include <utility>
12
13 using namespace Aws::Utils::Xml;
14 using namespace Aws::Utils;
15
16 namespace Aws
17 {
18 namespace RDS
19 {
20 namespace Model
21 {
22
PendingModifiedValues()23 PendingModifiedValues::PendingModifiedValues() :
24 m_dBInstanceClassHasBeenSet(false),
25 m_allocatedStorage(0),
26 m_allocatedStorageHasBeenSet(false),
27 m_masterUserPasswordHasBeenSet(false),
28 m_port(0),
29 m_portHasBeenSet(false),
30 m_backupRetentionPeriod(0),
31 m_backupRetentionPeriodHasBeenSet(false),
32 m_multiAZ(false),
33 m_multiAZHasBeenSet(false),
34 m_engineVersionHasBeenSet(false),
35 m_licenseModelHasBeenSet(false),
36 m_iops(0),
37 m_iopsHasBeenSet(false),
38 m_dBInstanceIdentifierHasBeenSet(false),
39 m_storageTypeHasBeenSet(false),
40 m_cACertificateIdentifierHasBeenSet(false),
41 m_dBSubnetGroupNameHasBeenSet(false),
42 m_pendingCloudwatchLogsExportsHasBeenSet(false),
43 m_processorFeaturesHasBeenSet(false),
44 m_iAMDatabaseAuthenticationEnabled(false),
45 m_iAMDatabaseAuthenticationEnabledHasBeenSet(false)
46 {
47 }
48
PendingModifiedValues(const XmlNode & xmlNode)49 PendingModifiedValues::PendingModifiedValues(const XmlNode& xmlNode) :
50 m_dBInstanceClassHasBeenSet(false),
51 m_allocatedStorage(0),
52 m_allocatedStorageHasBeenSet(false),
53 m_masterUserPasswordHasBeenSet(false),
54 m_port(0),
55 m_portHasBeenSet(false),
56 m_backupRetentionPeriod(0),
57 m_backupRetentionPeriodHasBeenSet(false),
58 m_multiAZ(false),
59 m_multiAZHasBeenSet(false),
60 m_engineVersionHasBeenSet(false),
61 m_licenseModelHasBeenSet(false),
62 m_iops(0),
63 m_iopsHasBeenSet(false),
64 m_dBInstanceIdentifierHasBeenSet(false),
65 m_storageTypeHasBeenSet(false),
66 m_cACertificateIdentifierHasBeenSet(false),
67 m_dBSubnetGroupNameHasBeenSet(false),
68 m_pendingCloudwatchLogsExportsHasBeenSet(false),
69 m_processorFeaturesHasBeenSet(false),
70 m_iAMDatabaseAuthenticationEnabled(false),
71 m_iAMDatabaseAuthenticationEnabledHasBeenSet(false)
72 {
73 *this = xmlNode;
74 }
75
operator =(const XmlNode & xmlNode)76 PendingModifiedValues& PendingModifiedValues::operator =(const XmlNode& xmlNode)
77 {
78 XmlNode resultNode = xmlNode;
79
80 if(!resultNode.IsNull())
81 {
82 XmlNode dBInstanceClassNode = resultNode.FirstChild("DBInstanceClass");
83 if(!dBInstanceClassNode.IsNull())
84 {
85 m_dBInstanceClass = Aws::Utils::Xml::DecodeEscapedXmlText(dBInstanceClassNode.GetText());
86 m_dBInstanceClassHasBeenSet = true;
87 }
88 XmlNode allocatedStorageNode = resultNode.FirstChild("AllocatedStorage");
89 if(!allocatedStorageNode.IsNull())
90 {
91 m_allocatedStorage = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(allocatedStorageNode.GetText()).c_str()).c_str());
92 m_allocatedStorageHasBeenSet = true;
93 }
94 XmlNode masterUserPasswordNode = resultNode.FirstChild("MasterUserPassword");
95 if(!masterUserPasswordNode.IsNull())
96 {
97 m_masterUserPassword = Aws::Utils::Xml::DecodeEscapedXmlText(masterUserPasswordNode.GetText());
98 m_masterUserPasswordHasBeenSet = true;
99 }
100 XmlNode portNode = resultNode.FirstChild("Port");
101 if(!portNode.IsNull())
102 {
103 m_port = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(portNode.GetText()).c_str()).c_str());
104 m_portHasBeenSet = true;
105 }
106 XmlNode backupRetentionPeriodNode = resultNode.FirstChild("BackupRetentionPeriod");
107 if(!backupRetentionPeriodNode.IsNull())
108 {
109 m_backupRetentionPeriod = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(backupRetentionPeriodNode.GetText()).c_str()).c_str());
110 m_backupRetentionPeriodHasBeenSet = true;
111 }
112 XmlNode multiAZNode = resultNode.FirstChild("MultiAZ");
113 if(!multiAZNode.IsNull())
114 {
115 m_multiAZ = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(multiAZNode.GetText()).c_str()).c_str());
116 m_multiAZHasBeenSet = true;
117 }
118 XmlNode engineVersionNode = resultNode.FirstChild("EngineVersion");
119 if(!engineVersionNode.IsNull())
120 {
121 m_engineVersion = Aws::Utils::Xml::DecodeEscapedXmlText(engineVersionNode.GetText());
122 m_engineVersionHasBeenSet = true;
123 }
124 XmlNode licenseModelNode = resultNode.FirstChild("LicenseModel");
125 if(!licenseModelNode.IsNull())
126 {
127 m_licenseModel = Aws::Utils::Xml::DecodeEscapedXmlText(licenseModelNode.GetText());
128 m_licenseModelHasBeenSet = true;
129 }
130 XmlNode iopsNode = resultNode.FirstChild("Iops");
131 if(!iopsNode.IsNull())
132 {
133 m_iops = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(iopsNode.GetText()).c_str()).c_str());
134 m_iopsHasBeenSet = true;
135 }
136 XmlNode dBInstanceIdentifierNode = resultNode.FirstChild("DBInstanceIdentifier");
137 if(!dBInstanceIdentifierNode.IsNull())
138 {
139 m_dBInstanceIdentifier = Aws::Utils::Xml::DecodeEscapedXmlText(dBInstanceIdentifierNode.GetText());
140 m_dBInstanceIdentifierHasBeenSet = true;
141 }
142 XmlNode storageTypeNode = resultNode.FirstChild("StorageType");
143 if(!storageTypeNode.IsNull())
144 {
145 m_storageType = Aws::Utils::Xml::DecodeEscapedXmlText(storageTypeNode.GetText());
146 m_storageTypeHasBeenSet = true;
147 }
148 XmlNode cACertificateIdentifierNode = resultNode.FirstChild("CACertificateIdentifier");
149 if(!cACertificateIdentifierNode.IsNull())
150 {
151 m_cACertificateIdentifier = Aws::Utils::Xml::DecodeEscapedXmlText(cACertificateIdentifierNode.GetText());
152 m_cACertificateIdentifierHasBeenSet = true;
153 }
154 XmlNode dBSubnetGroupNameNode = resultNode.FirstChild("DBSubnetGroupName");
155 if(!dBSubnetGroupNameNode.IsNull())
156 {
157 m_dBSubnetGroupName = Aws::Utils::Xml::DecodeEscapedXmlText(dBSubnetGroupNameNode.GetText());
158 m_dBSubnetGroupNameHasBeenSet = true;
159 }
160 XmlNode pendingCloudwatchLogsExportsNode = resultNode.FirstChild("PendingCloudwatchLogsExports");
161 if(!pendingCloudwatchLogsExportsNode.IsNull())
162 {
163 m_pendingCloudwatchLogsExports = pendingCloudwatchLogsExportsNode;
164 m_pendingCloudwatchLogsExportsHasBeenSet = true;
165 }
166 XmlNode processorFeaturesNode = resultNode.FirstChild("ProcessorFeatures");
167 if(!processorFeaturesNode.IsNull())
168 {
169 XmlNode processorFeaturesMember = processorFeaturesNode.FirstChild("ProcessorFeature");
170 while(!processorFeaturesMember.IsNull())
171 {
172 m_processorFeatures.push_back(processorFeaturesMember);
173 processorFeaturesMember = processorFeaturesMember.NextNode("ProcessorFeature");
174 }
175
176 m_processorFeaturesHasBeenSet = true;
177 }
178 XmlNode iAMDatabaseAuthenticationEnabledNode = resultNode.FirstChild("IAMDatabaseAuthenticationEnabled");
179 if(!iAMDatabaseAuthenticationEnabledNode.IsNull())
180 {
181 m_iAMDatabaseAuthenticationEnabled = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(iAMDatabaseAuthenticationEnabledNode.GetText()).c_str()).c_str());
182 m_iAMDatabaseAuthenticationEnabledHasBeenSet = true;
183 }
184 }
185
186 return *this;
187 }
188
OutputToStream(Aws::OStream & oStream,const char * location,unsigned index,const char * locationValue) const189 void PendingModifiedValues::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const
190 {
191 if(m_dBInstanceClassHasBeenSet)
192 {
193 oStream << location << index << locationValue << ".DBInstanceClass=" << StringUtils::URLEncode(m_dBInstanceClass.c_str()) << "&";
194 }
195
196 if(m_allocatedStorageHasBeenSet)
197 {
198 oStream << location << index << locationValue << ".AllocatedStorage=" << m_allocatedStorage << "&";
199 }
200
201 if(m_masterUserPasswordHasBeenSet)
202 {
203 oStream << location << index << locationValue << ".MasterUserPassword=" << StringUtils::URLEncode(m_masterUserPassword.c_str()) << "&";
204 }
205
206 if(m_portHasBeenSet)
207 {
208 oStream << location << index << locationValue << ".Port=" << m_port << "&";
209 }
210
211 if(m_backupRetentionPeriodHasBeenSet)
212 {
213 oStream << location << index << locationValue << ".BackupRetentionPeriod=" << m_backupRetentionPeriod << "&";
214 }
215
216 if(m_multiAZHasBeenSet)
217 {
218 oStream << location << index << locationValue << ".MultiAZ=" << std::boolalpha << m_multiAZ << "&";
219 }
220
221 if(m_engineVersionHasBeenSet)
222 {
223 oStream << location << index << locationValue << ".EngineVersion=" << StringUtils::URLEncode(m_engineVersion.c_str()) << "&";
224 }
225
226 if(m_licenseModelHasBeenSet)
227 {
228 oStream << location << index << locationValue << ".LicenseModel=" << StringUtils::URLEncode(m_licenseModel.c_str()) << "&";
229 }
230
231 if(m_iopsHasBeenSet)
232 {
233 oStream << location << index << locationValue << ".Iops=" << m_iops << "&";
234 }
235
236 if(m_dBInstanceIdentifierHasBeenSet)
237 {
238 oStream << location << index << locationValue << ".DBInstanceIdentifier=" << StringUtils::URLEncode(m_dBInstanceIdentifier.c_str()) << "&";
239 }
240
241 if(m_storageTypeHasBeenSet)
242 {
243 oStream << location << index << locationValue << ".StorageType=" << StringUtils::URLEncode(m_storageType.c_str()) << "&";
244 }
245
246 if(m_cACertificateIdentifierHasBeenSet)
247 {
248 oStream << location << index << locationValue << ".CACertificateIdentifier=" << StringUtils::URLEncode(m_cACertificateIdentifier.c_str()) << "&";
249 }
250
251 if(m_dBSubnetGroupNameHasBeenSet)
252 {
253 oStream << location << index << locationValue << ".DBSubnetGroupName=" << StringUtils::URLEncode(m_dBSubnetGroupName.c_str()) << "&";
254 }
255
256 if(m_pendingCloudwatchLogsExportsHasBeenSet)
257 {
258 Aws::StringStream pendingCloudwatchLogsExportsLocationAndMemberSs;
259 pendingCloudwatchLogsExportsLocationAndMemberSs << location << index << locationValue << ".PendingCloudwatchLogsExports";
260 m_pendingCloudwatchLogsExports.OutputToStream(oStream, pendingCloudwatchLogsExportsLocationAndMemberSs.str().c_str());
261 }
262
263 if(m_processorFeaturesHasBeenSet)
264 {
265 unsigned processorFeaturesIdx = 1;
266 for(auto& item : m_processorFeatures)
267 {
268 Aws::StringStream processorFeaturesSs;
269 processorFeaturesSs << location << index << locationValue << ".ProcessorFeature." << processorFeaturesIdx++;
270 item.OutputToStream(oStream, processorFeaturesSs.str().c_str());
271 }
272 }
273
274 if(m_iAMDatabaseAuthenticationEnabledHasBeenSet)
275 {
276 oStream << location << index << locationValue << ".IAMDatabaseAuthenticationEnabled=" << std::boolalpha << m_iAMDatabaseAuthenticationEnabled << "&";
277 }
278
279 }
280
OutputToStream(Aws::OStream & oStream,const char * location) const281 void PendingModifiedValues::OutputToStream(Aws::OStream& oStream, const char* location) const
282 {
283 if(m_dBInstanceClassHasBeenSet)
284 {
285 oStream << location << ".DBInstanceClass=" << StringUtils::URLEncode(m_dBInstanceClass.c_str()) << "&";
286 }
287 if(m_allocatedStorageHasBeenSet)
288 {
289 oStream << location << ".AllocatedStorage=" << m_allocatedStorage << "&";
290 }
291 if(m_masterUserPasswordHasBeenSet)
292 {
293 oStream << location << ".MasterUserPassword=" << StringUtils::URLEncode(m_masterUserPassword.c_str()) << "&";
294 }
295 if(m_portHasBeenSet)
296 {
297 oStream << location << ".Port=" << m_port << "&";
298 }
299 if(m_backupRetentionPeriodHasBeenSet)
300 {
301 oStream << location << ".BackupRetentionPeriod=" << m_backupRetentionPeriod << "&";
302 }
303 if(m_multiAZHasBeenSet)
304 {
305 oStream << location << ".MultiAZ=" << std::boolalpha << m_multiAZ << "&";
306 }
307 if(m_engineVersionHasBeenSet)
308 {
309 oStream << location << ".EngineVersion=" << StringUtils::URLEncode(m_engineVersion.c_str()) << "&";
310 }
311 if(m_licenseModelHasBeenSet)
312 {
313 oStream << location << ".LicenseModel=" << StringUtils::URLEncode(m_licenseModel.c_str()) << "&";
314 }
315 if(m_iopsHasBeenSet)
316 {
317 oStream << location << ".Iops=" << m_iops << "&";
318 }
319 if(m_dBInstanceIdentifierHasBeenSet)
320 {
321 oStream << location << ".DBInstanceIdentifier=" << StringUtils::URLEncode(m_dBInstanceIdentifier.c_str()) << "&";
322 }
323 if(m_storageTypeHasBeenSet)
324 {
325 oStream << location << ".StorageType=" << StringUtils::URLEncode(m_storageType.c_str()) << "&";
326 }
327 if(m_cACertificateIdentifierHasBeenSet)
328 {
329 oStream << location << ".CACertificateIdentifier=" << StringUtils::URLEncode(m_cACertificateIdentifier.c_str()) << "&";
330 }
331 if(m_dBSubnetGroupNameHasBeenSet)
332 {
333 oStream << location << ".DBSubnetGroupName=" << StringUtils::URLEncode(m_dBSubnetGroupName.c_str()) << "&";
334 }
335 if(m_pendingCloudwatchLogsExportsHasBeenSet)
336 {
337 Aws::String pendingCloudwatchLogsExportsLocationAndMember(location);
338 pendingCloudwatchLogsExportsLocationAndMember += ".PendingCloudwatchLogsExports";
339 m_pendingCloudwatchLogsExports.OutputToStream(oStream, pendingCloudwatchLogsExportsLocationAndMember.c_str());
340 }
341 if(m_processorFeaturesHasBeenSet)
342 {
343 unsigned processorFeaturesIdx = 1;
344 for(auto& item : m_processorFeatures)
345 {
346 Aws::StringStream processorFeaturesSs;
347 processorFeaturesSs << location << ".ProcessorFeature." << processorFeaturesIdx++;
348 item.OutputToStream(oStream, processorFeaturesSs.str().c_str());
349 }
350 }
351 if(m_iAMDatabaseAuthenticationEnabledHasBeenSet)
352 {
353 oStream << location << ".IAMDatabaseAuthenticationEnabled=" << std::boolalpha << m_iAMDatabaseAuthenticationEnabled << "&";
354 }
355 }
356
357 } // namespace Model
358 } // namespace RDS
359 } // namespace Aws
360