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/DescribeNetworkInterfaceAttributeResponse.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::EC2::Model;
15 using namespace Aws::Utils::Xml;
16 using namespace Aws::Utils::Logging;
17 using namespace Aws::Utils;
18 using namespace Aws;
19 
DescribeNetworkInterfaceAttributeResponse()20 DescribeNetworkInterfaceAttributeResponse::DescribeNetworkInterfaceAttributeResponse()
21 {
22 }
23 
DescribeNetworkInterfaceAttributeResponse(const Aws::AmazonWebServiceResult<XmlDocument> & result)24 DescribeNetworkInterfaceAttributeResponse::DescribeNetworkInterfaceAttributeResponse(const Aws::AmazonWebServiceResult<XmlDocument>& result)
25 {
26   *this = result;
27 }
28 
operator =(const Aws::AmazonWebServiceResult<XmlDocument> & result)29 DescribeNetworkInterfaceAttributeResponse& DescribeNetworkInterfaceAttributeResponse::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result)
30 {
31   const XmlDocument& xmlDocument = result.GetPayload();
32   XmlNode rootNode = xmlDocument.GetRootElement();
33   XmlNode resultNode = rootNode;
34   if (!rootNode.IsNull() && (rootNode.GetName() != "DescribeNetworkInterfaceAttributeResponse"))
35   {
36     resultNode = rootNode.FirstChild("DescribeNetworkInterfaceAttributeResponse");
37   }
38 
39   if(!resultNode.IsNull())
40   {
41     XmlNode attachmentNode = resultNode.FirstChild("attachment");
42     if(!attachmentNode.IsNull())
43     {
44       m_attachment = attachmentNode;
45     }
46     XmlNode descriptionNode = resultNode.FirstChild("description");
47     if(!descriptionNode.IsNull())
48     {
49       m_description = descriptionNode;
50     }
51     XmlNode groupsNode = resultNode.FirstChild("groupSet");
52     if(!groupsNode.IsNull())
53     {
54       XmlNode groupsMember = groupsNode.FirstChild("item");
55       while(!groupsMember.IsNull())
56       {
57         m_groups.push_back(groupsMember);
58         groupsMember = groupsMember.NextNode("item");
59       }
60 
61     }
62     XmlNode networkInterfaceIdNode = resultNode.FirstChild("networkInterfaceId");
63     if(!networkInterfaceIdNode.IsNull())
64     {
65       m_networkInterfaceId = Aws::Utils::Xml::DecodeEscapedXmlText(networkInterfaceIdNode.GetText());
66     }
67     XmlNode sourceDestCheckNode = resultNode.FirstChild("sourceDestCheck");
68     if(!sourceDestCheckNode.IsNull())
69     {
70       m_sourceDestCheck = sourceDestCheckNode;
71     }
72   }
73 
74   if (!rootNode.IsNull()) {
75     XmlNode requestIdNode = rootNode.FirstChild("requestId");
76     if (!requestIdNode.IsNull())
77     {
78       m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str()));
79     }
80     AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::DescribeNetworkInterfaceAttributeResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() );
81   }
82   return *this;
83 }
84