1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/cloudformation/model/DescribeTypeRegistrationResult.h>
7 #include <aws/core/utils/xml/XmlSerializer.h>
8 #include <aws/core/AmazonWebServiceResult.h>
9 #include <aws/core/utils/StringUtils.h>
10 #include <aws/core/utils/logging/LogMacros.h>
11 
12 #include <utility>
13 
14 using namespace Aws::CloudFormation::Model;
15 using namespace Aws::Utils::Xml;
16 using namespace Aws::Utils::Logging;
17 using namespace Aws::Utils;
18 using namespace Aws;
19 
DescribeTypeRegistrationResult()20 DescribeTypeRegistrationResult::DescribeTypeRegistrationResult() :
21     m_progressStatus(RegistrationStatus::NOT_SET)
22 {
23 }
24 
DescribeTypeRegistrationResult(const Aws::AmazonWebServiceResult<XmlDocument> & result)25 DescribeTypeRegistrationResult::DescribeTypeRegistrationResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) :
26     m_progressStatus(RegistrationStatus::NOT_SET)
27 {
28   *this = result;
29 }
30 
operator =(const Aws::AmazonWebServiceResult<XmlDocument> & result)31 DescribeTypeRegistrationResult& DescribeTypeRegistrationResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result)
32 {
33   const XmlDocument& xmlDocument = result.GetPayload();
34   XmlNode rootNode = xmlDocument.GetRootElement();
35   XmlNode resultNode = rootNode;
36   if (!rootNode.IsNull() && (rootNode.GetName() != "DescribeTypeRegistrationResult"))
37   {
38     resultNode = rootNode.FirstChild("DescribeTypeRegistrationResult");
39   }
40 
41   if(!resultNode.IsNull())
42   {
43     XmlNode progressStatusNode = resultNode.FirstChild("ProgressStatus");
44     if(!progressStatusNode.IsNull())
45     {
46       m_progressStatus = RegistrationStatusMapper::GetRegistrationStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(progressStatusNode.GetText()).c_str()).c_str());
47     }
48     XmlNode descriptionNode = resultNode.FirstChild("Description");
49     if(!descriptionNode.IsNull())
50     {
51       m_description = Aws::Utils::Xml::DecodeEscapedXmlText(descriptionNode.GetText());
52     }
53     XmlNode typeArnNode = resultNode.FirstChild("TypeArn");
54     if(!typeArnNode.IsNull())
55     {
56       m_typeArn = Aws::Utils::Xml::DecodeEscapedXmlText(typeArnNode.GetText());
57     }
58     XmlNode typeVersionArnNode = resultNode.FirstChild("TypeVersionArn");
59     if(!typeVersionArnNode.IsNull())
60     {
61       m_typeVersionArn = Aws::Utils::Xml::DecodeEscapedXmlText(typeVersionArnNode.GetText());
62     }
63   }
64 
65   if (!rootNode.IsNull()) {
66     XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata");
67     m_responseMetadata = responseMetadataNode;
68     AWS_LOGSTREAM_DEBUG("Aws::CloudFormation::Model::DescribeTypeRegistrationResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() );
69   }
70   return *this;
71 }
72