1 /**
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0.
4 */
5
6 #include <aws/redshift/model/Cluster.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 Redshift
19 {
20 namespace Model
21 {
22
Cluster()23 Cluster::Cluster() :
24 m_clusterIdentifierHasBeenSet(false),
25 m_nodeTypeHasBeenSet(false),
26 m_clusterStatusHasBeenSet(false),
27 m_clusterAvailabilityStatusHasBeenSet(false),
28 m_modifyStatusHasBeenSet(false),
29 m_masterUsernameHasBeenSet(false),
30 m_dBNameHasBeenSet(false),
31 m_endpointHasBeenSet(false),
32 m_clusterCreateTimeHasBeenSet(false),
33 m_automatedSnapshotRetentionPeriod(0),
34 m_automatedSnapshotRetentionPeriodHasBeenSet(false),
35 m_manualSnapshotRetentionPeriod(0),
36 m_manualSnapshotRetentionPeriodHasBeenSet(false),
37 m_clusterSecurityGroupsHasBeenSet(false),
38 m_vpcSecurityGroupsHasBeenSet(false),
39 m_clusterParameterGroupsHasBeenSet(false),
40 m_clusterSubnetGroupNameHasBeenSet(false),
41 m_vpcIdHasBeenSet(false),
42 m_availabilityZoneHasBeenSet(false),
43 m_preferredMaintenanceWindowHasBeenSet(false),
44 m_pendingModifiedValuesHasBeenSet(false),
45 m_clusterVersionHasBeenSet(false),
46 m_allowVersionUpgrade(false),
47 m_allowVersionUpgradeHasBeenSet(false),
48 m_numberOfNodes(0),
49 m_numberOfNodesHasBeenSet(false),
50 m_publiclyAccessible(false),
51 m_publiclyAccessibleHasBeenSet(false),
52 m_encrypted(false),
53 m_encryptedHasBeenSet(false),
54 m_restoreStatusHasBeenSet(false),
55 m_dataTransferProgressHasBeenSet(false),
56 m_hsmStatusHasBeenSet(false),
57 m_clusterSnapshotCopyStatusHasBeenSet(false),
58 m_clusterPublicKeyHasBeenSet(false),
59 m_clusterNodesHasBeenSet(false),
60 m_elasticIpStatusHasBeenSet(false),
61 m_clusterRevisionNumberHasBeenSet(false),
62 m_tagsHasBeenSet(false),
63 m_kmsKeyIdHasBeenSet(false),
64 m_enhancedVpcRouting(false),
65 m_enhancedVpcRoutingHasBeenSet(false),
66 m_iamRolesHasBeenSet(false),
67 m_pendingActionsHasBeenSet(false),
68 m_maintenanceTrackNameHasBeenSet(false),
69 m_elasticResizeNumberOfNodeOptionsHasBeenSet(false),
70 m_deferredMaintenanceWindowsHasBeenSet(false),
71 m_snapshotScheduleIdentifierHasBeenSet(false),
72 m_snapshotScheduleState(ScheduleState::NOT_SET),
73 m_snapshotScheduleStateHasBeenSet(false),
74 m_expectedNextSnapshotScheduleTimeHasBeenSet(false),
75 m_expectedNextSnapshotScheduleTimeStatusHasBeenSet(false),
76 m_nextMaintenanceWindowStartTimeHasBeenSet(false),
77 m_resizeInfoHasBeenSet(false),
78 m_availabilityZoneRelocationStatusHasBeenSet(false),
79 m_clusterNamespaceArnHasBeenSet(false),
80 m_totalStorageCapacityInMegaBytes(0),
81 m_totalStorageCapacityInMegaBytesHasBeenSet(false),
82 m_aquaConfigurationHasBeenSet(false)
83 {
84 }
85
Cluster(const XmlNode & xmlNode)86 Cluster::Cluster(const XmlNode& xmlNode) :
87 m_clusterIdentifierHasBeenSet(false),
88 m_nodeTypeHasBeenSet(false),
89 m_clusterStatusHasBeenSet(false),
90 m_clusterAvailabilityStatusHasBeenSet(false),
91 m_modifyStatusHasBeenSet(false),
92 m_masterUsernameHasBeenSet(false),
93 m_dBNameHasBeenSet(false),
94 m_endpointHasBeenSet(false),
95 m_clusterCreateTimeHasBeenSet(false),
96 m_automatedSnapshotRetentionPeriod(0),
97 m_automatedSnapshotRetentionPeriodHasBeenSet(false),
98 m_manualSnapshotRetentionPeriod(0),
99 m_manualSnapshotRetentionPeriodHasBeenSet(false),
100 m_clusterSecurityGroupsHasBeenSet(false),
101 m_vpcSecurityGroupsHasBeenSet(false),
102 m_clusterParameterGroupsHasBeenSet(false),
103 m_clusterSubnetGroupNameHasBeenSet(false),
104 m_vpcIdHasBeenSet(false),
105 m_availabilityZoneHasBeenSet(false),
106 m_preferredMaintenanceWindowHasBeenSet(false),
107 m_pendingModifiedValuesHasBeenSet(false),
108 m_clusterVersionHasBeenSet(false),
109 m_allowVersionUpgrade(false),
110 m_allowVersionUpgradeHasBeenSet(false),
111 m_numberOfNodes(0),
112 m_numberOfNodesHasBeenSet(false),
113 m_publiclyAccessible(false),
114 m_publiclyAccessibleHasBeenSet(false),
115 m_encrypted(false),
116 m_encryptedHasBeenSet(false),
117 m_restoreStatusHasBeenSet(false),
118 m_dataTransferProgressHasBeenSet(false),
119 m_hsmStatusHasBeenSet(false),
120 m_clusterSnapshotCopyStatusHasBeenSet(false),
121 m_clusterPublicKeyHasBeenSet(false),
122 m_clusterNodesHasBeenSet(false),
123 m_elasticIpStatusHasBeenSet(false),
124 m_clusterRevisionNumberHasBeenSet(false),
125 m_tagsHasBeenSet(false),
126 m_kmsKeyIdHasBeenSet(false),
127 m_enhancedVpcRouting(false),
128 m_enhancedVpcRoutingHasBeenSet(false),
129 m_iamRolesHasBeenSet(false),
130 m_pendingActionsHasBeenSet(false),
131 m_maintenanceTrackNameHasBeenSet(false),
132 m_elasticResizeNumberOfNodeOptionsHasBeenSet(false),
133 m_deferredMaintenanceWindowsHasBeenSet(false),
134 m_snapshotScheduleIdentifierHasBeenSet(false),
135 m_snapshotScheduleState(ScheduleState::NOT_SET),
136 m_snapshotScheduleStateHasBeenSet(false),
137 m_expectedNextSnapshotScheduleTimeHasBeenSet(false),
138 m_expectedNextSnapshotScheduleTimeStatusHasBeenSet(false),
139 m_nextMaintenanceWindowStartTimeHasBeenSet(false),
140 m_resizeInfoHasBeenSet(false),
141 m_availabilityZoneRelocationStatusHasBeenSet(false),
142 m_clusterNamespaceArnHasBeenSet(false),
143 m_totalStorageCapacityInMegaBytes(0),
144 m_totalStorageCapacityInMegaBytesHasBeenSet(false),
145 m_aquaConfigurationHasBeenSet(false)
146 {
147 *this = xmlNode;
148 }
149
operator =(const XmlNode & xmlNode)150 Cluster& Cluster::operator =(const XmlNode& xmlNode)
151 {
152 XmlNode resultNode = xmlNode;
153
154 if(!resultNode.IsNull())
155 {
156 XmlNode clusterIdentifierNode = resultNode.FirstChild("ClusterIdentifier");
157 if(!clusterIdentifierNode.IsNull())
158 {
159 m_clusterIdentifier = Aws::Utils::Xml::DecodeEscapedXmlText(clusterIdentifierNode.GetText());
160 m_clusterIdentifierHasBeenSet = true;
161 }
162 XmlNode nodeTypeNode = resultNode.FirstChild("NodeType");
163 if(!nodeTypeNode.IsNull())
164 {
165 m_nodeType = Aws::Utils::Xml::DecodeEscapedXmlText(nodeTypeNode.GetText());
166 m_nodeTypeHasBeenSet = true;
167 }
168 XmlNode clusterStatusNode = resultNode.FirstChild("ClusterStatus");
169 if(!clusterStatusNode.IsNull())
170 {
171 m_clusterStatus = Aws::Utils::Xml::DecodeEscapedXmlText(clusterStatusNode.GetText());
172 m_clusterStatusHasBeenSet = true;
173 }
174 XmlNode clusterAvailabilityStatusNode = resultNode.FirstChild("ClusterAvailabilityStatus");
175 if(!clusterAvailabilityStatusNode.IsNull())
176 {
177 m_clusterAvailabilityStatus = Aws::Utils::Xml::DecodeEscapedXmlText(clusterAvailabilityStatusNode.GetText());
178 m_clusterAvailabilityStatusHasBeenSet = true;
179 }
180 XmlNode modifyStatusNode = resultNode.FirstChild("ModifyStatus");
181 if(!modifyStatusNode.IsNull())
182 {
183 m_modifyStatus = Aws::Utils::Xml::DecodeEscapedXmlText(modifyStatusNode.GetText());
184 m_modifyStatusHasBeenSet = true;
185 }
186 XmlNode masterUsernameNode = resultNode.FirstChild("MasterUsername");
187 if(!masterUsernameNode.IsNull())
188 {
189 m_masterUsername = Aws::Utils::Xml::DecodeEscapedXmlText(masterUsernameNode.GetText());
190 m_masterUsernameHasBeenSet = true;
191 }
192 XmlNode dBNameNode = resultNode.FirstChild("DBName");
193 if(!dBNameNode.IsNull())
194 {
195 m_dBName = Aws::Utils::Xml::DecodeEscapedXmlText(dBNameNode.GetText());
196 m_dBNameHasBeenSet = true;
197 }
198 XmlNode endpointNode = resultNode.FirstChild("Endpoint");
199 if(!endpointNode.IsNull())
200 {
201 m_endpoint = endpointNode;
202 m_endpointHasBeenSet = true;
203 }
204 XmlNode clusterCreateTimeNode = resultNode.FirstChild("ClusterCreateTime");
205 if(!clusterCreateTimeNode.IsNull())
206 {
207 m_clusterCreateTime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(clusterCreateTimeNode.GetText()).c_str()).c_str(), DateFormat::ISO_8601);
208 m_clusterCreateTimeHasBeenSet = true;
209 }
210 XmlNode automatedSnapshotRetentionPeriodNode = resultNode.FirstChild("AutomatedSnapshotRetentionPeriod");
211 if(!automatedSnapshotRetentionPeriodNode.IsNull())
212 {
213 m_automatedSnapshotRetentionPeriod = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(automatedSnapshotRetentionPeriodNode.GetText()).c_str()).c_str());
214 m_automatedSnapshotRetentionPeriodHasBeenSet = true;
215 }
216 XmlNode manualSnapshotRetentionPeriodNode = resultNode.FirstChild("ManualSnapshotRetentionPeriod");
217 if(!manualSnapshotRetentionPeriodNode.IsNull())
218 {
219 m_manualSnapshotRetentionPeriod = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(manualSnapshotRetentionPeriodNode.GetText()).c_str()).c_str());
220 m_manualSnapshotRetentionPeriodHasBeenSet = true;
221 }
222 XmlNode clusterSecurityGroupsNode = resultNode.FirstChild("ClusterSecurityGroups");
223 if(!clusterSecurityGroupsNode.IsNull())
224 {
225 XmlNode clusterSecurityGroupsMember = clusterSecurityGroupsNode.FirstChild("ClusterSecurityGroup");
226 while(!clusterSecurityGroupsMember.IsNull())
227 {
228 m_clusterSecurityGroups.push_back(clusterSecurityGroupsMember);
229 clusterSecurityGroupsMember = clusterSecurityGroupsMember.NextNode("ClusterSecurityGroup");
230 }
231
232 m_clusterSecurityGroupsHasBeenSet = true;
233 }
234 XmlNode vpcSecurityGroupsNode = resultNode.FirstChild("VpcSecurityGroups");
235 if(!vpcSecurityGroupsNode.IsNull())
236 {
237 XmlNode vpcSecurityGroupsMember = vpcSecurityGroupsNode.FirstChild("VpcSecurityGroup");
238 while(!vpcSecurityGroupsMember.IsNull())
239 {
240 m_vpcSecurityGroups.push_back(vpcSecurityGroupsMember);
241 vpcSecurityGroupsMember = vpcSecurityGroupsMember.NextNode("VpcSecurityGroup");
242 }
243
244 m_vpcSecurityGroupsHasBeenSet = true;
245 }
246 XmlNode clusterParameterGroupsNode = resultNode.FirstChild("ClusterParameterGroups");
247 if(!clusterParameterGroupsNode.IsNull())
248 {
249 XmlNode clusterParameterGroupsMember = clusterParameterGroupsNode.FirstChild("ClusterParameterGroup");
250 while(!clusterParameterGroupsMember.IsNull())
251 {
252 m_clusterParameterGroups.push_back(clusterParameterGroupsMember);
253 clusterParameterGroupsMember = clusterParameterGroupsMember.NextNode("ClusterParameterGroup");
254 }
255
256 m_clusterParameterGroupsHasBeenSet = true;
257 }
258 XmlNode clusterSubnetGroupNameNode = resultNode.FirstChild("ClusterSubnetGroupName");
259 if(!clusterSubnetGroupNameNode.IsNull())
260 {
261 m_clusterSubnetGroupName = Aws::Utils::Xml::DecodeEscapedXmlText(clusterSubnetGroupNameNode.GetText());
262 m_clusterSubnetGroupNameHasBeenSet = true;
263 }
264 XmlNode vpcIdNode = resultNode.FirstChild("VpcId");
265 if(!vpcIdNode.IsNull())
266 {
267 m_vpcId = Aws::Utils::Xml::DecodeEscapedXmlText(vpcIdNode.GetText());
268 m_vpcIdHasBeenSet = true;
269 }
270 XmlNode availabilityZoneNode = resultNode.FirstChild("AvailabilityZone");
271 if(!availabilityZoneNode.IsNull())
272 {
273 m_availabilityZone = Aws::Utils::Xml::DecodeEscapedXmlText(availabilityZoneNode.GetText());
274 m_availabilityZoneHasBeenSet = true;
275 }
276 XmlNode preferredMaintenanceWindowNode = resultNode.FirstChild("PreferredMaintenanceWindow");
277 if(!preferredMaintenanceWindowNode.IsNull())
278 {
279 m_preferredMaintenanceWindow = Aws::Utils::Xml::DecodeEscapedXmlText(preferredMaintenanceWindowNode.GetText());
280 m_preferredMaintenanceWindowHasBeenSet = true;
281 }
282 XmlNode pendingModifiedValuesNode = resultNode.FirstChild("PendingModifiedValues");
283 if(!pendingModifiedValuesNode.IsNull())
284 {
285 m_pendingModifiedValues = pendingModifiedValuesNode;
286 m_pendingModifiedValuesHasBeenSet = true;
287 }
288 XmlNode clusterVersionNode = resultNode.FirstChild("ClusterVersion");
289 if(!clusterVersionNode.IsNull())
290 {
291 m_clusterVersion = Aws::Utils::Xml::DecodeEscapedXmlText(clusterVersionNode.GetText());
292 m_clusterVersionHasBeenSet = true;
293 }
294 XmlNode allowVersionUpgradeNode = resultNode.FirstChild("AllowVersionUpgrade");
295 if(!allowVersionUpgradeNode.IsNull())
296 {
297 m_allowVersionUpgrade = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(allowVersionUpgradeNode.GetText()).c_str()).c_str());
298 m_allowVersionUpgradeHasBeenSet = true;
299 }
300 XmlNode numberOfNodesNode = resultNode.FirstChild("NumberOfNodes");
301 if(!numberOfNodesNode.IsNull())
302 {
303 m_numberOfNodes = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(numberOfNodesNode.GetText()).c_str()).c_str());
304 m_numberOfNodesHasBeenSet = true;
305 }
306 XmlNode publiclyAccessibleNode = resultNode.FirstChild("PubliclyAccessible");
307 if(!publiclyAccessibleNode.IsNull())
308 {
309 m_publiclyAccessible = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(publiclyAccessibleNode.GetText()).c_str()).c_str());
310 m_publiclyAccessibleHasBeenSet = true;
311 }
312 XmlNode encryptedNode = resultNode.FirstChild("Encrypted");
313 if(!encryptedNode.IsNull())
314 {
315 m_encrypted = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(encryptedNode.GetText()).c_str()).c_str());
316 m_encryptedHasBeenSet = true;
317 }
318 XmlNode restoreStatusNode = resultNode.FirstChild("RestoreStatus");
319 if(!restoreStatusNode.IsNull())
320 {
321 m_restoreStatus = restoreStatusNode;
322 m_restoreStatusHasBeenSet = true;
323 }
324 XmlNode dataTransferProgressNode = resultNode.FirstChild("DataTransferProgress");
325 if(!dataTransferProgressNode.IsNull())
326 {
327 m_dataTransferProgress = dataTransferProgressNode;
328 m_dataTransferProgressHasBeenSet = true;
329 }
330 XmlNode hsmStatusNode = resultNode.FirstChild("HsmStatus");
331 if(!hsmStatusNode.IsNull())
332 {
333 m_hsmStatus = hsmStatusNode;
334 m_hsmStatusHasBeenSet = true;
335 }
336 XmlNode clusterSnapshotCopyStatusNode = resultNode.FirstChild("ClusterSnapshotCopyStatus");
337 if(!clusterSnapshotCopyStatusNode.IsNull())
338 {
339 m_clusterSnapshotCopyStatus = clusterSnapshotCopyStatusNode;
340 m_clusterSnapshotCopyStatusHasBeenSet = true;
341 }
342 XmlNode clusterPublicKeyNode = resultNode.FirstChild("ClusterPublicKey");
343 if(!clusterPublicKeyNode.IsNull())
344 {
345 m_clusterPublicKey = Aws::Utils::Xml::DecodeEscapedXmlText(clusterPublicKeyNode.GetText());
346 m_clusterPublicKeyHasBeenSet = true;
347 }
348 XmlNode clusterNodesNode = resultNode.FirstChild("ClusterNodes");
349 if(!clusterNodesNode.IsNull())
350 {
351 XmlNode clusterNodesMember = clusterNodesNode.FirstChild("member");
352 while(!clusterNodesMember.IsNull())
353 {
354 m_clusterNodes.push_back(clusterNodesMember);
355 clusterNodesMember = clusterNodesMember.NextNode("member");
356 }
357
358 m_clusterNodesHasBeenSet = true;
359 }
360 XmlNode elasticIpStatusNode = resultNode.FirstChild("ElasticIpStatus");
361 if(!elasticIpStatusNode.IsNull())
362 {
363 m_elasticIpStatus = elasticIpStatusNode;
364 m_elasticIpStatusHasBeenSet = true;
365 }
366 XmlNode clusterRevisionNumberNode = resultNode.FirstChild("ClusterRevisionNumber");
367 if(!clusterRevisionNumberNode.IsNull())
368 {
369 m_clusterRevisionNumber = Aws::Utils::Xml::DecodeEscapedXmlText(clusterRevisionNumberNode.GetText());
370 m_clusterRevisionNumberHasBeenSet = true;
371 }
372 XmlNode tagsNode = resultNode.FirstChild("Tags");
373 if(!tagsNode.IsNull())
374 {
375 XmlNode tagsMember = tagsNode.FirstChild("Tag");
376 while(!tagsMember.IsNull())
377 {
378 m_tags.push_back(tagsMember);
379 tagsMember = tagsMember.NextNode("Tag");
380 }
381
382 m_tagsHasBeenSet = true;
383 }
384 XmlNode kmsKeyIdNode = resultNode.FirstChild("KmsKeyId");
385 if(!kmsKeyIdNode.IsNull())
386 {
387 m_kmsKeyId = Aws::Utils::Xml::DecodeEscapedXmlText(kmsKeyIdNode.GetText());
388 m_kmsKeyIdHasBeenSet = true;
389 }
390 XmlNode enhancedVpcRoutingNode = resultNode.FirstChild("EnhancedVpcRouting");
391 if(!enhancedVpcRoutingNode.IsNull())
392 {
393 m_enhancedVpcRouting = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(enhancedVpcRoutingNode.GetText()).c_str()).c_str());
394 m_enhancedVpcRoutingHasBeenSet = true;
395 }
396 XmlNode iamRolesNode = resultNode.FirstChild("IamRoles");
397 if(!iamRolesNode.IsNull())
398 {
399 XmlNode iamRolesMember = iamRolesNode.FirstChild("ClusterIamRole");
400 while(!iamRolesMember.IsNull())
401 {
402 m_iamRoles.push_back(iamRolesMember);
403 iamRolesMember = iamRolesMember.NextNode("ClusterIamRole");
404 }
405
406 m_iamRolesHasBeenSet = true;
407 }
408 XmlNode pendingActionsNode = resultNode.FirstChild("PendingActions");
409 if(!pendingActionsNode.IsNull())
410 {
411 XmlNode pendingActionsMember = pendingActionsNode.FirstChild("member");
412 while(!pendingActionsMember.IsNull())
413 {
414 m_pendingActions.push_back(pendingActionsMember.GetText());
415 pendingActionsMember = pendingActionsMember.NextNode("member");
416 }
417
418 m_pendingActionsHasBeenSet = true;
419 }
420 XmlNode maintenanceTrackNameNode = resultNode.FirstChild("MaintenanceTrackName");
421 if(!maintenanceTrackNameNode.IsNull())
422 {
423 m_maintenanceTrackName = Aws::Utils::Xml::DecodeEscapedXmlText(maintenanceTrackNameNode.GetText());
424 m_maintenanceTrackNameHasBeenSet = true;
425 }
426 XmlNode elasticResizeNumberOfNodeOptionsNode = resultNode.FirstChild("ElasticResizeNumberOfNodeOptions");
427 if(!elasticResizeNumberOfNodeOptionsNode.IsNull())
428 {
429 m_elasticResizeNumberOfNodeOptions = Aws::Utils::Xml::DecodeEscapedXmlText(elasticResizeNumberOfNodeOptionsNode.GetText());
430 m_elasticResizeNumberOfNodeOptionsHasBeenSet = true;
431 }
432 XmlNode deferredMaintenanceWindowsNode = resultNode.FirstChild("DeferredMaintenanceWindows");
433 if(!deferredMaintenanceWindowsNode.IsNull())
434 {
435 XmlNode deferredMaintenanceWindowsMember = deferredMaintenanceWindowsNode.FirstChild("DeferredMaintenanceWindow");
436 while(!deferredMaintenanceWindowsMember.IsNull())
437 {
438 m_deferredMaintenanceWindows.push_back(deferredMaintenanceWindowsMember);
439 deferredMaintenanceWindowsMember = deferredMaintenanceWindowsMember.NextNode("DeferredMaintenanceWindow");
440 }
441
442 m_deferredMaintenanceWindowsHasBeenSet = true;
443 }
444 XmlNode snapshotScheduleIdentifierNode = resultNode.FirstChild("SnapshotScheduleIdentifier");
445 if(!snapshotScheduleIdentifierNode.IsNull())
446 {
447 m_snapshotScheduleIdentifier = Aws::Utils::Xml::DecodeEscapedXmlText(snapshotScheduleIdentifierNode.GetText());
448 m_snapshotScheduleIdentifierHasBeenSet = true;
449 }
450 XmlNode snapshotScheduleStateNode = resultNode.FirstChild("SnapshotScheduleState");
451 if(!snapshotScheduleStateNode.IsNull())
452 {
453 m_snapshotScheduleState = ScheduleStateMapper::GetScheduleStateForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(snapshotScheduleStateNode.GetText()).c_str()).c_str());
454 m_snapshotScheduleStateHasBeenSet = true;
455 }
456 XmlNode expectedNextSnapshotScheduleTimeNode = resultNode.FirstChild("ExpectedNextSnapshotScheduleTime");
457 if(!expectedNextSnapshotScheduleTimeNode.IsNull())
458 {
459 m_expectedNextSnapshotScheduleTime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(expectedNextSnapshotScheduleTimeNode.GetText()).c_str()).c_str(), DateFormat::ISO_8601);
460 m_expectedNextSnapshotScheduleTimeHasBeenSet = true;
461 }
462 XmlNode expectedNextSnapshotScheduleTimeStatusNode = resultNode.FirstChild("ExpectedNextSnapshotScheduleTimeStatus");
463 if(!expectedNextSnapshotScheduleTimeStatusNode.IsNull())
464 {
465 m_expectedNextSnapshotScheduleTimeStatus = Aws::Utils::Xml::DecodeEscapedXmlText(expectedNextSnapshotScheduleTimeStatusNode.GetText());
466 m_expectedNextSnapshotScheduleTimeStatusHasBeenSet = true;
467 }
468 XmlNode nextMaintenanceWindowStartTimeNode = resultNode.FirstChild("NextMaintenanceWindowStartTime");
469 if(!nextMaintenanceWindowStartTimeNode.IsNull())
470 {
471 m_nextMaintenanceWindowStartTime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(nextMaintenanceWindowStartTimeNode.GetText()).c_str()).c_str(), DateFormat::ISO_8601);
472 m_nextMaintenanceWindowStartTimeHasBeenSet = true;
473 }
474 XmlNode resizeInfoNode = resultNode.FirstChild("ResizeInfo");
475 if(!resizeInfoNode.IsNull())
476 {
477 m_resizeInfo = resizeInfoNode;
478 m_resizeInfoHasBeenSet = true;
479 }
480 XmlNode availabilityZoneRelocationStatusNode = resultNode.FirstChild("AvailabilityZoneRelocationStatus");
481 if(!availabilityZoneRelocationStatusNode.IsNull())
482 {
483 m_availabilityZoneRelocationStatus = Aws::Utils::Xml::DecodeEscapedXmlText(availabilityZoneRelocationStatusNode.GetText());
484 m_availabilityZoneRelocationStatusHasBeenSet = true;
485 }
486 XmlNode clusterNamespaceArnNode = resultNode.FirstChild("ClusterNamespaceArn");
487 if(!clusterNamespaceArnNode.IsNull())
488 {
489 m_clusterNamespaceArn = Aws::Utils::Xml::DecodeEscapedXmlText(clusterNamespaceArnNode.GetText());
490 m_clusterNamespaceArnHasBeenSet = true;
491 }
492 XmlNode totalStorageCapacityInMegaBytesNode = resultNode.FirstChild("TotalStorageCapacityInMegaBytes");
493 if(!totalStorageCapacityInMegaBytesNode.IsNull())
494 {
495 m_totalStorageCapacityInMegaBytes = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(totalStorageCapacityInMegaBytesNode.GetText()).c_str()).c_str());
496 m_totalStorageCapacityInMegaBytesHasBeenSet = true;
497 }
498 XmlNode aquaConfigurationNode = resultNode.FirstChild("AquaConfiguration");
499 if(!aquaConfigurationNode.IsNull())
500 {
501 m_aquaConfiguration = aquaConfigurationNode;
502 m_aquaConfigurationHasBeenSet = true;
503 }
504 }
505
506 return *this;
507 }
508
OutputToStream(Aws::OStream & oStream,const char * location,unsigned index,const char * locationValue) const509 void Cluster::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const
510 {
511 if(m_clusterIdentifierHasBeenSet)
512 {
513 oStream << location << index << locationValue << ".ClusterIdentifier=" << StringUtils::URLEncode(m_clusterIdentifier.c_str()) << "&";
514 }
515
516 if(m_nodeTypeHasBeenSet)
517 {
518 oStream << location << index << locationValue << ".NodeType=" << StringUtils::URLEncode(m_nodeType.c_str()) << "&";
519 }
520
521 if(m_clusterStatusHasBeenSet)
522 {
523 oStream << location << index << locationValue << ".ClusterStatus=" << StringUtils::URLEncode(m_clusterStatus.c_str()) << "&";
524 }
525
526 if(m_clusterAvailabilityStatusHasBeenSet)
527 {
528 oStream << location << index << locationValue << ".ClusterAvailabilityStatus=" << StringUtils::URLEncode(m_clusterAvailabilityStatus.c_str()) << "&";
529 }
530
531 if(m_modifyStatusHasBeenSet)
532 {
533 oStream << location << index << locationValue << ".ModifyStatus=" << StringUtils::URLEncode(m_modifyStatus.c_str()) << "&";
534 }
535
536 if(m_masterUsernameHasBeenSet)
537 {
538 oStream << location << index << locationValue << ".MasterUsername=" << StringUtils::URLEncode(m_masterUsername.c_str()) << "&";
539 }
540
541 if(m_dBNameHasBeenSet)
542 {
543 oStream << location << index << locationValue << ".DBName=" << StringUtils::URLEncode(m_dBName.c_str()) << "&";
544 }
545
546 if(m_endpointHasBeenSet)
547 {
548 Aws::StringStream endpointLocationAndMemberSs;
549 endpointLocationAndMemberSs << location << index << locationValue << ".Endpoint";
550 m_endpoint.OutputToStream(oStream, endpointLocationAndMemberSs.str().c_str());
551 }
552
553 if(m_clusterCreateTimeHasBeenSet)
554 {
555 oStream << location << index << locationValue << ".ClusterCreateTime=" << StringUtils::URLEncode(m_clusterCreateTime.ToGmtString(DateFormat::ISO_8601).c_str()) << "&";
556 }
557
558 if(m_automatedSnapshotRetentionPeriodHasBeenSet)
559 {
560 oStream << location << index << locationValue << ".AutomatedSnapshotRetentionPeriod=" << m_automatedSnapshotRetentionPeriod << "&";
561 }
562
563 if(m_manualSnapshotRetentionPeriodHasBeenSet)
564 {
565 oStream << location << index << locationValue << ".ManualSnapshotRetentionPeriod=" << m_manualSnapshotRetentionPeriod << "&";
566 }
567
568 if(m_clusterSecurityGroupsHasBeenSet)
569 {
570 unsigned clusterSecurityGroupsIdx = 1;
571 for(auto& item : m_clusterSecurityGroups)
572 {
573 Aws::StringStream clusterSecurityGroupsSs;
574 clusterSecurityGroupsSs << location << index << locationValue << ".ClusterSecurityGroup." << clusterSecurityGroupsIdx++;
575 item.OutputToStream(oStream, clusterSecurityGroupsSs.str().c_str());
576 }
577 }
578
579 if(m_vpcSecurityGroupsHasBeenSet)
580 {
581 unsigned vpcSecurityGroupsIdx = 1;
582 for(auto& item : m_vpcSecurityGroups)
583 {
584 Aws::StringStream vpcSecurityGroupsSs;
585 vpcSecurityGroupsSs << location << index << locationValue << ".VpcSecurityGroup." << vpcSecurityGroupsIdx++;
586 item.OutputToStream(oStream, vpcSecurityGroupsSs.str().c_str());
587 }
588 }
589
590 if(m_clusterParameterGroupsHasBeenSet)
591 {
592 unsigned clusterParameterGroupsIdx = 1;
593 for(auto& item : m_clusterParameterGroups)
594 {
595 Aws::StringStream clusterParameterGroupsSs;
596 clusterParameterGroupsSs << location << index << locationValue << ".ClusterParameterGroup." << clusterParameterGroupsIdx++;
597 item.OutputToStream(oStream, clusterParameterGroupsSs.str().c_str());
598 }
599 }
600
601 if(m_clusterSubnetGroupNameHasBeenSet)
602 {
603 oStream << location << index << locationValue << ".ClusterSubnetGroupName=" << StringUtils::URLEncode(m_clusterSubnetGroupName.c_str()) << "&";
604 }
605
606 if(m_vpcIdHasBeenSet)
607 {
608 oStream << location << index << locationValue << ".VpcId=" << StringUtils::URLEncode(m_vpcId.c_str()) << "&";
609 }
610
611 if(m_availabilityZoneHasBeenSet)
612 {
613 oStream << location << index << locationValue << ".AvailabilityZone=" << StringUtils::URLEncode(m_availabilityZone.c_str()) << "&";
614 }
615
616 if(m_preferredMaintenanceWindowHasBeenSet)
617 {
618 oStream << location << index << locationValue << ".PreferredMaintenanceWindow=" << StringUtils::URLEncode(m_preferredMaintenanceWindow.c_str()) << "&";
619 }
620
621 if(m_pendingModifiedValuesHasBeenSet)
622 {
623 Aws::StringStream pendingModifiedValuesLocationAndMemberSs;
624 pendingModifiedValuesLocationAndMemberSs << location << index << locationValue << ".PendingModifiedValues";
625 m_pendingModifiedValues.OutputToStream(oStream, pendingModifiedValuesLocationAndMemberSs.str().c_str());
626 }
627
628 if(m_clusterVersionHasBeenSet)
629 {
630 oStream << location << index << locationValue << ".ClusterVersion=" << StringUtils::URLEncode(m_clusterVersion.c_str()) << "&";
631 }
632
633 if(m_allowVersionUpgradeHasBeenSet)
634 {
635 oStream << location << index << locationValue << ".AllowVersionUpgrade=" << std::boolalpha << m_allowVersionUpgrade << "&";
636 }
637
638 if(m_numberOfNodesHasBeenSet)
639 {
640 oStream << location << index << locationValue << ".NumberOfNodes=" << m_numberOfNodes << "&";
641 }
642
643 if(m_publiclyAccessibleHasBeenSet)
644 {
645 oStream << location << index << locationValue << ".PubliclyAccessible=" << std::boolalpha << m_publiclyAccessible << "&";
646 }
647
648 if(m_encryptedHasBeenSet)
649 {
650 oStream << location << index << locationValue << ".Encrypted=" << std::boolalpha << m_encrypted << "&";
651 }
652
653 if(m_restoreStatusHasBeenSet)
654 {
655 Aws::StringStream restoreStatusLocationAndMemberSs;
656 restoreStatusLocationAndMemberSs << location << index << locationValue << ".RestoreStatus";
657 m_restoreStatus.OutputToStream(oStream, restoreStatusLocationAndMemberSs.str().c_str());
658 }
659
660 if(m_dataTransferProgressHasBeenSet)
661 {
662 Aws::StringStream dataTransferProgressLocationAndMemberSs;
663 dataTransferProgressLocationAndMemberSs << location << index << locationValue << ".DataTransferProgress";
664 m_dataTransferProgress.OutputToStream(oStream, dataTransferProgressLocationAndMemberSs.str().c_str());
665 }
666
667 if(m_hsmStatusHasBeenSet)
668 {
669 Aws::StringStream hsmStatusLocationAndMemberSs;
670 hsmStatusLocationAndMemberSs << location << index << locationValue << ".HsmStatus";
671 m_hsmStatus.OutputToStream(oStream, hsmStatusLocationAndMemberSs.str().c_str());
672 }
673
674 if(m_clusterSnapshotCopyStatusHasBeenSet)
675 {
676 Aws::StringStream clusterSnapshotCopyStatusLocationAndMemberSs;
677 clusterSnapshotCopyStatusLocationAndMemberSs << location << index << locationValue << ".ClusterSnapshotCopyStatus";
678 m_clusterSnapshotCopyStatus.OutputToStream(oStream, clusterSnapshotCopyStatusLocationAndMemberSs.str().c_str());
679 }
680
681 if(m_clusterPublicKeyHasBeenSet)
682 {
683 oStream << location << index << locationValue << ".ClusterPublicKey=" << StringUtils::URLEncode(m_clusterPublicKey.c_str()) << "&";
684 }
685
686 if(m_clusterNodesHasBeenSet)
687 {
688 unsigned clusterNodesIdx = 1;
689 for(auto& item : m_clusterNodes)
690 {
691 Aws::StringStream clusterNodesSs;
692 clusterNodesSs << location << index << locationValue << ".ClusterNodes.member." << clusterNodesIdx++;
693 item.OutputToStream(oStream, clusterNodesSs.str().c_str());
694 }
695 }
696
697 if(m_elasticIpStatusHasBeenSet)
698 {
699 Aws::StringStream elasticIpStatusLocationAndMemberSs;
700 elasticIpStatusLocationAndMemberSs << location << index << locationValue << ".ElasticIpStatus";
701 m_elasticIpStatus.OutputToStream(oStream, elasticIpStatusLocationAndMemberSs.str().c_str());
702 }
703
704 if(m_clusterRevisionNumberHasBeenSet)
705 {
706 oStream << location << index << locationValue << ".ClusterRevisionNumber=" << StringUtils::URLEncode(m_clusterRevisionNumber.c_str()) << "&";
707 }
708
709 if(m_tagsHasBeenSet)
710 {
711 unsigned tagsIdx = 1;
712 for(auto& item : m_tags)
713 {
714 Aws::StringStream tagsSs;
715 tagsSs << location << index << locationValue << ".Tag." << tagsIdx++;
716 item.OutputToStream(oStream, tagsSs.str().c_str());
717 }
718 }
719
720 if(m_kmsKeyIdHasBeenSet)
721 {
722 oStream << location << index << locationValue << ".KmsKeyId=" << StringUtils::URLEncode(m_kmsKeyId.c_str()) << "&";
723 }
724
725 if(m_enhancedVpcRoutingHasBeenSet)
726 {
727 oStream << location << index << locationValue << ".EnhancedVpcRouting=" << std::boolalpha << m_enhancedVpcRouting << "&";
728 }
729
730 if(m_iamRolesHasBeenSet)
731 {
732 unsigned iamRolesIdx = 1;
733 for(auto& item : m_iamRoles)
734 {
735 Aws::StringStream iamRolesSs;
736 iamRolesSs << location << index << locationValue << ".ClusterIamRole." << iamRolesIdx++;
737 item.OutputToStream(oStream, iamRolesSs.str().c_str());
738 }
739 }
740
741 if(m_pendingActionsHasBeenSet)
742 {
743 unsigned pendingActionsIdx = 1;
744 for(auto& item : m_pendingActions)
745 {
746 oStream << location << index << locationValue << ".PendingActions.member." << pendingActionsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&";
747 }
748 }
749
750 if(m_maintenanceTrackNameHasBeenSet)
751 {
752 oStream << location << index << locationValue << ".MaintenanceTrackName=" << StringUtils::URLEncode(m_maintenanceTrackName.c_str()) << "&";
753 }
754
755 if(m_elasticResizeNumberOfNodeOptionsHasBeenSet)
756 {
757 oStream << location << index << locationValue << ".ElasticResizeNumberOfNodeOptions=" << StringUtils::URLEncode(m_elasticResizeNumberOfNodeOptions.c_str()) << "&";
758 }
759
760 if(m_deferredMaintenanceWindowsHasBeenSet)
761 {
762 unsigned deferredMaintenanceWindowsIdx = 1;
763 for(auto& item : m_deferredMaintenanceWindows)
764 {
765 Aws::StringStream deferredMaintenanceWindowsSs;
766 deferredMaintenanceWindowsSs << location << index << locationValue << ".DeferredMaintenanceWindow." << deferredMaintenanceWindowsIdx++;
767 item.OutputToStream(oStream, deferredMaintenanceWindowsSs.str().c_str());
768 }
769 }
770
771 if(m_snapshotScheduleIdentifierHasBeenSet)
772 {
773 oStream << location << index << locationValue << ".SnapshotScheduleIdentifier=" << StringUtils::URLEncode(m_snapshotScheduleIdentifier.c_str()) << "&";
774 }
775
776 if(m_snapshotScheduleStateHasBeenSet)
777 {
778 oStream << location << index << locationValue << ".SnapshotScheduleState=" << ScheduleStateMapper::GetNameForScheduleState(m_snapshotScheduleState) << "&";
779 }
780
781 if(m_expectedNextSnapshotScheduleTimeHasBeenSet)
782 {
783 oStream << location << index << locationValue << ".ExpectedNextSnapshotScheduleTime=" << StringUtils::URLEncode(m_expectedNextSnapshotScheduleTime.ToGmtString(DateFormat::ISO_8601).c_str()) << "&";
784 }
785
786 if(m_expectedNextSnapshotScheduleTimeStatusHasBeenSet)
787 {
788 oStream << location << index << locationValue << ".ExpectedNextSnapshotScheduleTimeStatus=" << StringUtils::URLEncode(m_expectedNextSnapshotScheduleTimeStatus.c_str()) << "&";
789 }
790
791 if(m_nextMaintenanceWindowStartTimeHasBeenSet)
792 {
793 oStream << location << index << locationValue << ".NextMaintenanceWindowStartTime=" << StringUtils::URLEncode(m_nextMaintenanceWindowStartTime.ToGmtString(DateFormat::ISO_8601).c_str()) << "&";
794 }
795
796 if(m_resizeInfoHasBeenSet)
797 {
798 Aws::StringStream resizeInfoLocationAndMemberSs;
799 resizeInfoLocationAndMemberSs << location << index << locationValue << ".ResizeInfo";
800 m_resizeInfo.OutputToStream(oStream, resizeInfoLocationAndMemberSs.str().c_str());
801 }
802
803 if(m_availabilityZoneRelocationStatusHasBeenSet)
804 {
805 oStream << location << index << locationValue << ".AvailabilityZoneRelocationStatus=" << StringUtils::URLEncode(m_availabilityZoneRelocationStatus.c_str()) << "&";
806 }
807
808 if(m_clusterNamespaceArnHasBeenSet)
809 {
810 oStream << location << index << locationValue << ".ClusterNamespaceArn=" << StringUtils::URLEncode(m_clusterNamespaceArn.c_str()) << "&";
811 }
812
813 if(m_totalStorageCapacityInMegaBytesHasBeenSet)
814 {
815 oStream << location << index << locationValue << ".TotalStorageCapacityInMegaBytes=" << m_totalStorageCapacityInMegaBytes << "&";
816 }
817
818 if(m_aquaConfigurationHasBeenSet)
819 {
820 Aws::StringStream aquaConfigurationLocationAndMemberSs;
821 aquaConfigurationLocationAndMemberSs << location << index << locationValue << ".AquaConfiguration";
822 m_aquaConfiguration.OutputToStream(oStream, aquaConfigurationLocationAndMemberSs.str().c_str());
823 }
824
825 }
826
OutputToStream(Aws::OStream & oStream,const char * location) const827 void Cluster::OutputToStream(Aws::OStream& oStream, const char* location) const
828 {
829 if(m_clusterIdentifierHasBeenSet)
830 {
831 oStream << location << ".ClusterIdentifier=" << StringUtils::URLEncode(m_clusterIdentifier.c_str()) << "&";
832 }
833 if(m_nodeTypeHasBeenSet)
834 {
835 oStream << location << ".NodeType=" << StringUtils::URLEncode(m_nodeType.c_str()) << "&";
836 }
837 if(m_clusterStatusHasBeenSet)
838 {
839 oStream << location << ".ClusterStatus=" << StringUtils::URLEncode(m_clusterStatus.c_str()) << "&";
840 }
841 if(m_clusterAvailabilityStatusHasBeenSet)
842 {
843 oStream << location << ".ClusterAvailabilityStatus=" << StringUtils::URLEncode(m_clusterAvailabilityStatus.c_str()) << "&";
844 }
845 if(m_modifyStatusHasBeenSet)
846 {
847 oStream << location << ".ModifyStatus=" << StringUtils::URLEncode(m_modifyStatus.c_str()) << "&";
848 }
849 if(m_masterUsernameHasBeenSet)
850 {
851 oStream << location << ".MasterUsername=" << StringUtils::URLEncode(m_masterUsername.c_str()) << "&";
852 }
853 if(m_dBNameHasBeenSet)
854 {
855 oStream << location << ".DBName=" << StringUtils::URLEncode(m_dBName.c_str()) << "&";
856 }
857 if(m_endpointHasBeenSet)
858 {
859 Aws::String endpointLocationAndMember(location);
860 endpointLocationAndMember += ".Endpoint";
861 m_endpoint.OutputToStream(oStream, endpointLocationAndMember.c_str());
862 }
863 if(m_clusterCreateTimeHasBeenSet)
864 {
865 oStream << location << ".ClusterCreateTime=" << StringUtils::URLEncode(m_clusterCreateTime.ToGmtString(DateFormat::ISO_8601).c_str()) << "&";
866 }
867 if(m_automatedSnapshotRetentionPeriodHasBeenSet)
868 {
869 oStream << location << ".AutomatedSnapshotRetentionPeriod=" << m_automatedSnapshotRetentionPeriod << "&";
870 }
871 if(m_manualSnapshotRetentionPeriodHasBeenSet)
872 {
873 oStream << location << ".ManualSnapshotRetentionPeriod=" << m_manualSnapshotRetentionPeriod << "&";
874 }
875 if(m_clusterSecurityGroupsHasBeenSet)
876 {
877 unsigned clusterSecurityGroupsIdx = 1;
878 for(auto& item : m_clusterSecurityGroups)
879 {
880 Aws::StringStream clusterSecurityGroupsSs;
881 clusterSecurityGroupsSs << location << ".ClusterSecurityGroup." << clusterSecurityGroupsIdx++;
882 item.OutputToStream(oStream, clusterSecurityGroupsSs.str().c_str());
883 }
884 }
885 if(m_vpcSecurityGroupsHasBeenSet)
886 {
887 unsigned vpcSecurityGroupsIdx = 1;
888 for(auto& item : m_vpcSecurityGroups)
889 {
890 Aws::StringStream vpcSecurityGroupsSs;
891 vpcSecurityGroupsSs << location << ".VpcSecurityGroup." << vpcSecurityGroupsIdx++;
892 item.OutputToStream(oStream, vpcSecurityGroupsSs.str().c_str());
893 }
894 }
895 if(m_clusterParameterGroupsHasBeenSet)
896 {
897 unsigned clusterParameterGroupsIdx = 1;
898 for(auto& item : m_clusterParameterGroups)
899 {
900 Aws::StringStream clusterParameterGroupsSs;
901 clusterParameterGroupsSs << location << ".ClusterParameterGroup." << clusterParameterGroupsIdx++;
902 item.OutputToStream(oStream, clusterParameterGroupsSs.str().c_str());
903 }
904 }
905 if(m_clusterSubnetGroupNameHasBeenSet)
906 {
907 oStream << location << ".ClusterSubnetGroupName=" << StringUtils::URLEncode(m_clusterSubnetGroupName.c_str()) << "&";
908 }
909 if(m_vpcIdHasBeenSet)
910 {
911 oStream << location << ".VpcId=" << StringUtils::URLEncode(m_vpcId.c_str()) << "&";
912 }
913 if(m_availabilityZoneHasBeenSet)
914 {
915 oStream << location << ".AvailabilityZone=" << StringUtils::URLEncode(m_availabilityZone.c_str()) << "&";
916 }
917 if(m_preferredMaintenanceWindowHasBeenSet)
918 {
919 oStream << location << ".PreferredMaintenanceWindow=" << StringUtils::URLEncode(m_preferredMaintenanceWindow.c_str()) << "&";
920 }
921 if(m_pendingModifiedValuesHasBeenSet)
922 {
923 Aws::String pendingModifiedValuesLocationAndMember(location);
924 pendingModifiedValuesLocationAndMember += ".PendingModifiedValues";
925 m_pendingModifiedValues.OutputToStream(oStream, pendingModifiedValuesLocationAndMember.c_str());
926 }
927 if(m_clusterVersionHasBeenSet)
928 {
929 oStream << location << ".ClusterVersion=" << StringUtils::URLEncode(m_clusterVersion.c_str()) << "&";
930 }
931 if(m_allowVersionUpgradeHasBeenSet)
932 {
933 oStream << location << ".AllowVersionUpgrade=" << std::boolalpha << m_allowVersionUpgrade << "&";
934 }
935 if(m_numberOfNodesHasBeenSet)
936 {
937 oStream << location << ".NumberOfNodes=" << m_numberOfNodes << "&";
938 }
939 if(m_publiclyAccessibleHasBeenSet)
940 {
941 oStream << location << ".PubliclyAccessible=" << std::boolalpha << m_publiclyAccessible << "&";
942 }
943 if(m_encryptedHasBeenSet)
944 {
945 oStream << location << ".Encrypted=" << std::boolalpha << m_encrypted << "&";
946 }
947 if(m_restoreStatusHasBeenSet)
948 {
949 Aws::String restoreStatusLocationAndMember(location);
950 restoreStatusLocationAndMember += ".RestoreStatus";
951 m_restoreStatus.OutputToStream(oStream, restoreStatusLocationAndMember.c_str());
952 }
953 if(m_dataTransferProgressHasBeenSet)
954 {
955 Aws::String dataTransferProgressLocationAndMember(location);
956 dataTransferProgressLocationAndMember += ".DataTransferProgress";
957 m_dataTransferProgress.OutputToStream(oStream, dataTransferProgressLocationAndMember.c_str());
958 }
959 if(m_hsmStatusHasBeenSet)
960 {
961 Aws::String hsmStatusLocationAndMember(location);
962 hsmStatusLocationAndMember += ".HsmStatus";
963 m_hsmStatus.OutputToStream(oStream, hsmStatusLocationAndMember.c_str());
964 }
965 if(m_clusterSnapshotCopyStatusHasBeenSet)
966 {
967 Aws::String clusterSnapshotCopyStatusLocationAndMember(location);
968 clusterSnapshotCopyStatusLocationAndMember += ".ClusterSnapshotCopyStatus";
969 m_clusterSnapshotCopyStatus.OutputToStream(oStream, clusterSnapshotCopyStatusLocationAndMember.c_str());
970 }
971 if(m_clusterPublicKeyHasBeenSet)
972 {
973 oStream << location << ".ClusterPublicKey=" << StringUtils::URLEncode(m_clusterPublicKey.c_str()) << "&";
974 }
975 if(m_clusterNodesHasBeenSet)
976 {
977 unsigned clusterNodesIdx = 1;
978 for(auto& item : m_clusterNodes)
979 {
980 Aws::StringStream clusterNodesSs;
981 clusterNodesSs << location << ".ClusterNodes.member." << clusterNodesIdx++;
982 item.OutputToStream(oStream, clusterNodesSs.str().c_str());
983 }
984 }
985 if(m_elasticIpStatusHasBeenSet)
986 {
987 Aws::String elasticIpStatusLocationAndMember(location);
988 elasticIpStatusLocationAndMember += ".ElasticIpStatus";
989 m_elasticIpStatus.OutputToStream(oStream, elasticIpStatusLocationAndMember.c_str());
990 }
991 if(m_clusterRevisionNumberHasBeenSet)
992 {
993 oStream << location << ".ClusterRevisionNumber=" << StringUtils::URLEncode(m_clusterRevisionNumber.c_str()) << "&";
994 }
995 if(m_tagsHasBeenSet)
996 {
997 unsigned tagsIdx = 1;
998 for(auto& item : m_tags)
999 {
1000 Aws::StringStream tagsSs;
1001 tagsSs << location << ".Tag." << tagsIdx++;
1002 item.OutputToStream(oStream, tagsSs.str().c_str());
1003 }
1004 }
1005 if(m_kmsKeyIdHasBeenSet)
1006 {
1007 oStream << location << ".KmsKeyId=" << StringUtils::URLEncode(m_kmsKeyId.c_str()) << "&";
1008 }
1009 if(m_enhancedVpcRoutingHasBeenSet)
1010 {
1011 oStream << location << ".EnhancedVpcRouting=" << std::boolalpha << m_enhancedVpcRouting << "&";
1012 }
1013 if(m_iamRolesHasBeenSet)
1014 {
1015 unsigned iamRolesIdx = 1;
1016 for(auto& item : m_iamRoles)
1017 {
1018 Aws::StringStream iamRolesSs;
1019 iamRolesSs << location << ".ClusterIamRole." << iamRolesIdx++;
1020 item.OutputToStream(oStream, iamRolesSs.str().c_str());
1021 }
1022 }
1023 if(m_pendingActionsHasBeenSet)
1024 {
1025 unsigned pendingActionsIdx = 1;
1026 for(auto& item : m_pendingActions)
1027 {
1028 oStream << location << ".PendingActions.member." << pendingActionsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&";
1029 }
1030 }
1031 if(m_maintenanceTrackNameHasBeenSet)
1032 {
1033 oStream << location << ".MaintenanceTrackName=" << StringUtils::URLEncode(m_maintenanceTrackName.c_str()) << "&";
1034 }
1035 if(m_elasticResizeNumberOfNodeOptionsHasBeenSet)
1036 {
1037 oStream << location << ".ElasticResizeNumberOfNodeOptions=" << StringUtils::URLEncode(m_elasticResizeNumberOfNodeOptions.c_str()) << "&";
1038 }
1039 if(m_deferredMaintenanceWindowsHasBeenSet)
1040 {
1041 unsigned deferredMaintenanceWindowsIdx = 1;
1042 for(auto& item : m_deferredMaintenanceWindows)
1043 {
1044 Aws::StringStream deferredMaintenanceWindowsSs;
1045 deferredMaintenanceWindowsSs << location << ".DeferredMaintenanceWindow." << deferredMaintenanceWindowsIdx++;
1046 item.OutputToStream(oStream, deferredMaintenanceWindowsSs.str().c_str());
1047 }
1048 }
1049 if(m_snapshotScheduleIdentifierHasBeenSet)
1050 {
1051 oStream << location << ".SnapshotScheduleIdentifier=" << StringUtils::URLEncode(m_snapshotScheduleIdentifier.c_str()) << "&";
1052 }
1053 if(m_snapshotScheduleStateHasBeenSet)
1054 {
1055 oStream << location << ".SnapshotScheduleState=" << ScheduleStateMapper::GetNameForScheduleState(m_snapshotScheduleState) << "&";
1056 }
1057 if(m_expectedNextSnapshotScheduleTimeHasBeenSet)
1058 {
1059 oStream << location << ".ExpectedNextSnapshotScheduleTime=" << StringUtils::URLEncode(m_expectedNextSnapshotScheduleTime.ToGmtString(DateFormat::ISO_8601).c_str()) << "&";
1060 }
1061 if(m_expectedNextSnapshotScheduleTimeStatusHasBeenSet)
1062 {
1063 oStream << location << ".ExpectedNextSnapshotScheduleTimeStatus=" << StringUtils::URLEncode(m_expectedNextSnapshotScheduleTimeStatus.c_str()) << "&";
1064 }
1065 if(m_nextMaintenanceWindowStartTimeHasBeenSet)
1066 {
1067 oStream << location << ".NextMaintenanceWindowStartTime=" << StringUtils::URLEncode(m_nextMaintenanceWindowStartTime.ToGmtString(DateFormat::ISO_8601).c_str()) << "&";
1068 }
1069 if(m_resizeInfoHasBeenSet)
1070 {
1071 Aws::String resizeInfoLocationAndMember(location);
1072 resizeInfoLocationAndMember += ".ResizeInfo";
1073 m_resizeInfo.OutputToStream(oStream, resizeInfoLocationAndMember.c_str());
1074 }
1075 if(m_availabilityZoneRelocationStatusHasBeenSet)
1076 {
1077 oStream << location << ".AvailabilityZoneRelocationStatus=" << StringUtils::URLEncode(m_availabilityZoneRelocationStatus.c_str()) << "&";
1078 }
1079 if(m_clusterNamespaceArnHasBeenSet)
1080 {
1081 oStream << location << ".ClusterNamespaceArn=" << StringUtils::URLEncode(m_clusterNamespaceArn.c_str()) << "&";
1082 }
1083 if(m_totalStorageCapacityInMegaBytesHasBeenSet)
1084 {
1085 oStream << location << ".TotalStorageCapacityInMegaBytes=" << m_totalStorageCapacityInMegaBytes << "&";
1086 }
1087 if(m_aquaConfigurationHasBeenSet)
1088 {
1089 Aws::String aquaConfigurationLocationAndMember(location);
1090 aquaConfigurationLocationAndMember += ".AquaConfiguration";
1091 m_aquaConfiguration.OutputToStream(oStream, aquaConfigurationLocationAndMember.c_str());
1092 }
1093 }
1094
1095 } // namespace Model
1096 } // namespace Redshift
1097 } // namespace Aws
1098