1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/route53/model/QueryLoggingConfig.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 Route53
19 {
20 namespace Model
21 {
22 
QueryLoggingConfig()23 QueryLoggingConfig::QueryLoggingConfig() :
24     m_idHasBeenSet(false),
25     m_hostedZoneIdHasBeenSet(false),
26     m_cloudWatchLogsLogGroupArnHasBeenSet(false)
27 {
28 }
29 
QueryLoggingConfig(const XmlNode & xmlNode)30 QueryLoggingConfig::QueryLoggingConfig(const XmlNode& xmlNode) :
31     m_idHasBeenSet(false),
32     m_hostedZoneIdHasBeenSet(false),
33     m_cloudWatchLogsLogGroupArnHasBeenSet(false)
34 {
35   *this = xmlNode;
36 }
37 
operator =(const XmlNode & xmlNode)38 QueryLoggingConfig& QueryLoggingConfig::operator =(const XmlNode& xmlNode)
39 {
40   XmlNode resultNode = xmlNode;
41 
42   if(!resultNode.IsNull())
43   {
44     XmlNode idNode = resultNode.FirstChild("Id");
45     if(!idNode.IsNull())
46     {
47       m_id = Aws::Utils::Xml::DecodeEscapedXmlText(idNode.GetText());
48       m_idHasBeenSet = true;
49     }
50     XmlNode hostedZoneIdNode = resultNode.FirstChild("HostedZoneId");
51     if(!hostedZoneIdNode.IsNull())
52     {
53       m_hostedZoneId = Aws::Utils::Xml::DecodeEscapedXmlText(hostedZoneIdNode.GetText());
54       m_hostedZoneIdHasBeenSet = true;
55     }
56     XmlNode cloudWatchLogsLogGroupArnNode = resultNode.FirstChild("CloudWatchLogsLogGroupArn");
57     if(!cloudWatchLogsLogGroupArnNode.IsNull())
58     {
59       m_cloudWatchLogsLogGroupArn = Aws::Utils::Xml::DecodeEscapedXmlText(cloudWatchLogsLogGroupArnNode.GetText());
60       m_cloudWatchLogsLogGroupArnHasBeenSet = true;
61     }
62   }
63 
64   return *this;
65 }
66 
AddToNode(XmlNode & parentNode) const67 void QueryLoggingConfig::AddToNode(XmlNode& parentNode) const
68 {
69   Aws::StringStream ss;
70   if(m_idHasBeenSet)
71   {
72    XmlNode idNode = parentNode.CreateChildElement("Id");
73    idNode.SetText(m_id);
74   }
75 
76   if(m_hostedZoneIdHasBeenSet)
77   {
78    XmlNode hostedZoneIdNode = parentNode.CreateChildElement("HostedZoneId");
79    hostedZoneIdNode.SetText(m_hostedZoneId);
80   }
81 
82   if(m_cloudWatchLogsLogGroupArnHasBeenSet)
83   {
84    XmlNode cloudWatchLogsLogGroupArnNode = parentNode.CreateChildElement("CloudWatchLogsLogGroupArn");
85    cloudWatchLogsLogGroupArnNode.SetText(m_cloudWatchLogsLogGroupArn);
86   }
87 
88 }
89 
90 } // namespace Model
91 } // namespace Route53
92 } // namespace Aws
93