/** * 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::EC2::Model; using namespace Aws::Utils::Xml; using namespace Aws::Utils::Logging; using namespace Aws::Utils; using namespace Aws; DetachVolumeResponse::DetachVolumeResponse() : m_state(VolumeAttachmentState::NOT_SET), m_deleteOnTermination(false) { } DetachVolumeResponse::DetachVolumeResponse(const Aws::AmazonWebServiceResult& result) : m_state(VolumeAttachmentState::NOT_SET), m_deleteOnTermination(false) { *this = result; } DetachVolumeResponse& DetachVolumeResponse::operator =(const Aws::AmazonWebServiceResult& result) { const XmlDocument& xmlDocument = result.GetPayload(); XmlNode rootNode = xmlDocument.GetRootElement(); XmlNode resultNode = rootNode; if (!rootNode.IsNull() && (rootNode.GetName() != "DetachVolumeResponse")) { resultNode = rootNode.FirstChild("DetachVolumeResponse"); } if(!resultNode.IsNull()) { XmlNode attachTimeNode = resultNode.FirstChild("attachTime"); if(!attachTimeNode.IsNull()) { m_attachTime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(attachTimeNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); } XmlNode deviceNode = resultNode.FirstChild("device"); if(!deviceNode.IsNull()) { m_device = Aws::Utils::Xml::DecodeEscapedXmlText(deviceNode.GetText()); } XmlNode instanceIdNode = resultNode.FirstChild("instanceId"); if(!instanceIdNode.IsNull()) { m_instanceId = Aws::Utils::Xml::DecodeEscapedXmlText(instanceIdNode.GetText()); } XmlNode stateNode = resultNode.FirstChild("status"); if(!stateNode.IsNull()) { m_state = VolumeAttachmentStateMapper::GetVolumeAttachmentStateForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(stateNode.GetText()).c_str()).c_str()); } XmlNode volumeIdNode = resultNode.FirstChild("volumeId"); if(!volumeIdNode.IsNull()) { m_volumeId = Aws::Utils::Xml::DecodeEscapedXmlText(volumeIdNode.GetText()); } XmlNode deleteOnTerminationNode = resultNode.FirstChild("deleteOnTermination"); if(!deleteOnTerminationNode.IsNull()) { m_deleteOnTermination = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(deleteOnTerminationNode.GetText()).c_str()).c_str()); } } if (!rootNode.IsNull()) { XmlNode requestIdNode = rootNode.FirstChild("requestId"); if (!requestIdNode.IsNull()) { m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); } AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::DetachVolumeResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); } return *this; }