/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #include #include #include #include #include #include using namespace Aws::IAM::Model; using namespace Aws::Utils::Xml; using namespace Aws::Utils::Logging; using namespace Aws::Utils; using namespace Aws; ListPoliciesResult::ListPoliciesResult() : m_isTruncated(false) { } ListPoliciesResult::ListPoliciesResult(const Aws::AmazonWebServiceResult& result) : m_isTruncated(false) { *this = result; } ListPoliciesResult& ListPoliciesResult::operator =(const Aws::AmazonWebServiceResult& result) { const XmlDocument& xmlDocument = result.GetPayload(); XmlNode rootNode = xmlDocument.GetRootElement(); XmlNode resultNode = rootNode; if (!rootNode.IsNull() && (rootNode.GetName() != "ListPoliciesResult")) { resultNode = rootNode.FirstChild("ListPoliciesResult"); } if(!resultNode.IsNull()) { XmlNode policiesNode = resultNode.FirstChild("Policies"); if(!policiesNode.IsNull()) { XmlNode policiesMember = policiesNode.FirstChild("member"); while(!policiesMember.IsNull()) { m_policies.push_back(policiesMember); policiesMember = policiesMember.NextNode("member"); } } XmlNode isTruncatedNode = resultNode.FirstChild("IsTruncated"); if(!isTruncatedNode.IsNull()) { m_isTruncated = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isTruncatedNode.GetText()).c_str()).c_str()); } XmlNode markerNode = resultNode.FirstChild("Marker"); if(!markerNode.IsNull()) { m_marker = Aws::Utils::Xml::DecodeEscapedXmlText(markerNode.GetText()); } } if (!rootNode.IsNull()) { XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); m_responseMetadata = responseMetadataNode; AWS_LOGSTREAM_DEBUG("Aws::IAM::Model::ListPoliciesResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); } return *this; }