diff options
author | Devtools Arcadia <arcadia-devtools@yandex-team.ru> | 2022-02-07 18:08:42 +0300 |
---|---|---|
committer | Devtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net> | 2022-02-07 18:08:42 +0300 |
commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRule.cpp | |
download | ydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRule.cpp')
-rw-r--r-- | contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRule.cpp | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRule.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRule.cpp new file mode 100644 index 0000000000..c06290ee90 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRule.cpp @@ -0,0 +1,182 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/LifecycleRule.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + +LifecycleRule::LifecycleRule() : + m_expirationHasBeenSet(false), + m_iDHasBeenSet(false), + m_filterHasBeenSet(false), + m_status(ExpirationStatus::NOT_SET), + m_statusHasBeenSet(false), + m_transitionsHasBeenSet(false), + m_noncurrentVersionTransitionsHasBeenSet(false), + m_noncurrentVersionExpirationHasBeenSet(false), + m_abortIncompleteMultipartUploadHasBeenSet(false) +{ +} + +LifecycleRule::LifecycleRule(const XmlNode& xmlNode) : + m_expirationHasBeenSet(false), + m_iDHasBeenSet(false), + m_filterHasBeenSet(false), + m_status(ExpirationStatus::NOT_SET), + m_statusHasBeenSet(false), + m_transitionsHasBeenSet(false), + m_noncurrentVersionTransitionsHasBeenSet(false), + m_noncurrentVersionExpirationHasBeenSet(false), + m_abortIncompleteMultipartUploadHasBeenSet(false) +{ + *this = xmlNode; +} + +LifecycleRule& LifecycleRule::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode expirationNode = resultNode.FirstChild("Expiration"); + if(!expirationNode.IsNull()) + { + m_expiration = expirationNode; + m_expirationHasBeenSet = true; + } + XmlNode iDNode = resultNode.FirstChild("ID"); + if(!iDNode.IsNull()) + { + m_iD = Aws::Utils::Xml::DecodeEscapedXmlText(iDNode.GetText()); + m_iDHasBeenSet = true; + } + XmlNode filterNode = resultNode.FirstChild("Filter"); + if(!filterNode.IsNull()) + { + m_filter = filterNode; + m_filterHasBeenSet = true; + } + XmlNode statusNode = resultNode.FirstChild("Status"); + if(!statusNode.IsNull()) + { + m_status = ExpirationStatusMapper::GetExpirationStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusNode.GetText()).c_str()).c_str()); + m_statusHasBeenSet = true; + } + XmlNode transitionsNode = resultNode.FirstChild("Transition"); + if(!transitionsNode.IsNull()) + { + XmlNode transitionMember = transitionsNode; + while(!transitionMember.IsNull()) + { + m_transitions.push_back(transitionMember); + transitionMember = transitionMember.NextNode("Transition"); + } + + m_transitionsHasBeenSet = true; + } + XmlNode noncurrentVersionTransitionsNode = resultNode.FirstChild("NoncurrentVersionTransition"); + if(!noncurrentVersionTransitionsNode.IsNull()) + { + XmlNode noncurrentVersionTransitionMember = noncurrentVersionTransitionsNode; + while(!noncurrentVersionTransitionMember.IsNull()) + { + m_noncurrentVersionTransitions.push_back(noncurrentVersionTransitionMember); + noncurrentVersionTransitionMember = noncurrentVersionTransitionMember.NextNode("NoncurrentVersionTransition"); + } + + m_noncurrentVersionTransitionsHasBeenSet = true; + } + XmlNode noncurrentVersionExpirationNode = resultNode.FirstChild("NoncurrentVersionExpiration"); + if(!noncurrentVersionExpirationNode.IsNull()) + { + m_noncurrentVersionExpiration = noncurrentVersionExpirationNode; + m_noncurrentVersionExpirationHasBeenSet = true; + } + XmlNode abortIncompleteMultipartUploadNode = resultNode.FirstChild("AbortIncompleteMultipartUpload"); + if(!abortIncompleteMultipartUploadNode.IsNull()) + { + m_abortIncompleteMultipartUpload = abortIncompleteMultipartUploadNode; + m_abortIncompleteMultipartUploadHasBeenSet = true; + } + } + + return *this; +} + +void LifecycleRule::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_expirationHasBeenSet) + { + XmlNode expirationNode = parentNode.CreateChildElement("Expiration"); + m_expiration.AddToNode(expirationNode); + } + + if(m_iDHasBeenSet) + { + XmlNode iDNode = parentNode.CreateChildElement("ID"); + iDNode.SetText(m_iD); + } + + if(m_filterHasBeenSet) + { + XmlNode filterNode = parentNode.CreateChildElement("Filter"); + m_filter.AddToNode(filterNode); + } + + if(m_statusHasBeenSet) + { + XmlNode statusNode = parentNode.CreateChildElement("Status"); + statusNode.SetText(ExpirationStatusMapper::GetNameForExpirationStatus(m_status)); + } + + if(m_transitionsHasBeenSet) + { + for(const auto& item : m_transitions) + { + XmlNode transitionsNode = parentNode.CreateChildElement("Transition"); + item.AddToNode(transitionsNode); + } + } + + if(m_noncurrentVersionTransitionsHasBeenSet) + { + for(const auto& item : m_noncurrentVersionTransitions) + { + XmlNode noncurrentVersionTransitionsNode = parentNode.CreateChildElement("NoncurrentVersionTransition"); + item.AddToNode(noncurrentVersionTransitionsNode); + } + } + + if(m_noncurrentVersionExpirationHasBeenSet) + { + XmlNode noncurrentVersionExpirationNode = parentNode.CreateChildElement("NoncurrentVersionExpiration"); + m_noncurrentVersionExpiration.AddToNode(noncurrentVersionExpirationNode); + } + + if(m_abortIncompleteMultipartUploadHasBeenSet) + { + XmlNode abortIncompleteMultipartUploadNode = parentNode.CreateChildElement("AbortIncompleteMultipartUpload"); + m_abortIncompleteMultipartUpload.AddToNode(abortIncompleteMultipartUploadNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws |