1 /**
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0.
4 */
5
6 #include <aws/ec2/model/ResponseError.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 EC2
19 {
20 namespace Model
21 {
22
ResponseError()23 ResponseError::ResponseError() :
24 m_code(LaunchTemplateErrorCode::NOT_SET),
25 m_codeHasBeenSet(false),
26 m_messageHasBeenSet(false)
27 {
28 }
29
ResponseError(const XmlNode & xmlNode)30 ResponseError::ResponseError(const XmlNode& xmlNode) :
31 m_code(LaunchTemplateErrorCode::NOT_SET),
32 m_codeHasBeenSet(false),
33 m_messageHasBeenSet(false)
34 {
35 *this = xmlNode;
36 }
37
operator =(const XmlNode & xmlNode)38 ResponseError& ResponseError::operator =(const XmlNode& xmlNode)
39 {
40 XmlNode resultNode = xmlNode;
41
42 if(!resultNode.IsNull())
43 {
44 XmlNode codeNode = resultNode.FirstChild("code");
45 if(!codeNode.IsNull())
46 {
47 m_code = LaunchTemplateErrorCodeMapper::GetLaunchTemplateErrorCodeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(codeNode.GetText()).c_str()).c_str());
48 m_codeHasBeenSet = true;
49 }
50 XmlNode messageNode = resultNode.FirstChild("message");
51 if(!messageNode.IsNull())
52 {
53 m_message = Aws::Utils::Xml::DecodeEscapedXmlText(messageNode.GetText());
54 m_messageHasBeenSet = true;
55 }
56 }
57
58 return *this;
59 }
60
OutputToStream(Aws::OStream & oStream,const char * location,unsigned index,const char * locationValue) const61 void ResponseError::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const
62 {
63 if(m_codeHasBeenSet)
64 {
65 oStream << location << index << locationValue << ".Code=" << LaunchTemplateErrorCodeMapper::GetNameForLaunchTemplateErrorCode(m_code) << "&";
66 }
67
68 if(m_messageHasBeenSet)
69 {
70 oStream << location << index << locationValue << ".Message=" << StringUtils::URLEncode(m_message.c_str()) << "&";
71 }
72
73 }
74
OutputToStream(Aws::OStream & oStream,const char * location) const75 void ResponseError::OutputToStream(Aws::OStream& oStream, const char* location) const
76 {
77 if(m_codeHasBeenSet)
78 {
79 oStream << location << ".Code=" << LaunchTemplateErrorCodeMapper::GetNameForLaunchTemplateErrorCode(m_code) << "&";
80 }
81 if(m_messageHasBeenSet)
82 {
83 oStream << location << ".Message=" << StringUtils::URLEncode(m_message.c_str()) << "&";
84 }
85 }
86
87 } // namespace Model
88 } // namespace EC2
89 } // namespace Aws
90