1 /**
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0.
4 */
5
6 #include <aws/neptune/model/ResourcePendingMaintenanceActions.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 Neptune
19 {
20 namespace Model
21 {
22
ResourcePendingMaintenanceActions()23 ResourcePendingMaintenanceActions::ResourcePendingMaintenanceActions() :
24 m_resourceIdentifierHasBeenSet(false),
25 m_pendingMaintenanceActionDetailsHasBeenSet(false)
26 {
27 }
28
ResourcePendingMaintenanceActions(const XmlNode & xmlNode)29 ResourcePendingMaintenanceActions::ResourcePendingMaintenanceActions(const XmlNode& xmlNode) :
30 m_resourceIdentifierHasBeenSet(false),
31 m_pendingMaintenanceActionDetailsHasBeenSet(false)
32 {
33 *this = xmlNode;
34 }
35
operator =(const XmlNode & xmlNode)36 ResourcePendingMaintenanceActions& ResourcePendingMaintenanceActions::operator =(const XmlNode& xmlNode)
37 {
38 XmlNode resultNode = xmlNode;
39
40 if(!resultNode.IsNull())
41 {
42 XmlNode resourceIdentifierNode = resultNode.FirstChild("ResourceIdentifier");
43 if(!resourceIdentifierNode.IsNull())
44 {
45 m_resourceIdentifier = Aws::Utils::Xml::DecodeEscapedXmlText(resourceIdentifierNode.GetText());
46 m_resourceIdentifierHasBeenSet = true;
47 }
48 XmlNode pendingMaintenanceActionDetailsNode = resultNode.FirstChild("PendingMaintenanceActionDetails");
49 if(!pendingMaintenanceActionDetailsNode.IsNull())
50 {
51 XmlNode pendingMaintenanceActionDetailsMember = pendingMaintenanceActionDetailsNode.FirstChild("PendingMaintenanceAction");
52 while(!pendingMaintenanceActionDetailsMember.IsNull())
53 {
54 m_pendingMaintenanceActionDetails.push_back(pendingMaintenanceActionDetailsMember);
55 pendingMaintenanceActionDetailsMember = pendingMaintenanceActionDetailsMember.NextNode("PendingMaintenanceAction");
56 }
57
58 m_pendingMaintenanceActionDetailsHasBeenSet = true;
59 }
60 }
61
62 return *this;
63 }
64
OutputToStream(Aws::OStream & oStream,const char * location,unsigned index,const char * locationValue) const65 void ResourcePendingMaintenanceActions::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const
66 {
67 if(m_resourceIdentifierHasBeenSet)
68 {
69 oStream << location << index << locationValue << ".ResourceIdentifier=" << StringUtils::URLEncode(m_resourceIdentifier.c_str()) << "&";
70 }
71
72 if(m_pendingMaintenanceActionDetailsHasBeenSet)
73 {
74 unsigned pendingMaintenanceActionDetailsIdx = 1;
75 for(auto& item : m_pendingMaintenanceActionDetails)
76 {
77 Aws::StringStream pendingMaintenanceActionDetailsSs;
78 pendingMaintenanceActionDetailsSs << location << index << locationValue << ".PendingMaintenanceAction." << pendingMaintenanceActionDetailsIdx++;
79 item.OutputToStream(oStream, pendingMaintenanceActionDetailsSs.str().c_str());
80 }
81 }
82
83 }
84
OutputToStream(Aws::OStream & oStream,const char * location) const85 void ResourcePendingMaintenanceActions::OutputToStream(Aws::OStream& oStream, const char* location) const
86 {
87 if(m_resourceIdentifierHasBeenSet)
88 {
89 oStream << location << ".ResourceIdentifier=" << StringUtils::URLEncode(m_resourceIdentifier.c_str()) << "&";
90 }
91 if(m_pendingMaintenanceActionDetailsHasBeenSet)
92 {
93 unsigned pendingMaintenanceActionDetailsIdx = 1;
94 for(auto& item : m_pendingMaintenanceActionDetails)
95 {
96 Aws::StringStream pendingMaintenanceActionDetailsSs;
97 pendingMaintenanceActionDetailsSs << location << ".PendingMaintenanceAction." << pendingMaintenanceActionDetailsIdx++;
98 item.OutputToStream(oStream, pendingMaintenanceActionDetailsSs.str().c_str());
99 }
100 }
101 }
102
103 } // namespace Model
104 } // namespace Neptune
105 } // namespace Aws
106