1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #include <aws/s3control/model/PrefixLevelStorageMetrics.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 S3Control 19 { 20 namespace Model 21 { 22 PrefixLevelStorageMetrics()23PrefixLevelStorageMetrics::PrefixLevelStorageMetrics() : 24 m_isEnabled(false), 25 m_isEnabledHasBeenSet(false), 26 m_selectionCriteriaHasBeenSet(false) 27 { 28 } 29 PrefixLevelStorageMetrics(const XmlNode & xmlNode)30PrefixLevelStorageMetrics::PrefixLevelStorageMetrics(const XmlNode& xmlNode) : 31 m_isEnabled(false), 32 m_isEnabledHasBeenSet(false), 33 m_selectionCriteriaHasBeenSet(false) 34 { 35 *this = xmlNode; 36 } 37 operator =(const XmlNode & xmlNode)38PrefixLevelStorageMetrics& PrefixLevelStorageMetrics::operator =(const XmlNode& xmlNode) 39 { 40 XmlNode resultNode = xmlNode; 41 42 if(!resultNode.IsNull()) 43 { 44 XmlNode isEnabledNode = resultNode.FirstChild("IsEnabled"); 45 if(!isEnabledNode.IsNull()) 46 { 47 m_isEnabled = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isEnabledNode.GetText()).c_str()).c_str()); 48 m_isEnabledHasBeenSet = true; 49 } 50 XmlNode selectionCriteriaNode = resultNode.FirstChild("SelectionCriteria"); 51 if(!selectionCriteriaNode.IsNull()) 52 { 53 m_selectionCriteria = selectionCriteriaNode; 54 m_selectionCriteriaHasBeenSet = true; 55 } 56 } 57 58 return *this; 59 } 60 AddToNode(XmlNode & parentNode) const61void PrefixLevelStorageMetrics::AddToNode(XmlNode& parentNode) const 62 { 63 Aws::StringStream ss; 64 if(m_isEnabledHasBeenSet) 65 { 66 XmlNode isEnabledNode = parentNode.CreateChildElement("IsEnabled"); 67 ss << std::boolalpha << m_isEnabled; 68 isEnabledNode.SetText(ss.str()); 69 ss.str(""); 70 } 71 72 if(m_selectionCriteriaHasBeenSet) 73 { 74 XmlNode selectionCriteriaNode = parentNode.CreateChildElement("SelectionCriteria"); 75 m_selectionCriteria.AddToNode(selectionCriteriaNode); 76 } 77 78 } 79 80 } // namespace Model 81 } // namespace S3Control 82 } // namespace Aws 83