aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRule.cpp
diff options
context:
space:
mode:
authorDevtools Arcadia <arcadia-devtools@yandex-team.ru>2022-02-07 18:08:42 +0300
committerDevtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net>2022-02-07 18:08:42 +0300
commit1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch)
treee26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRule.cpp
downloadydb-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.cpp182
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