aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/S3Location.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/S3Location.cpp
downloadydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/S3Location.cpp')
-rw-r--r--contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/S3Location.cpp186
1 files changed, 186 insertions, 0 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/S3Location.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/S3Location.cpp
new file mode 100644
index 0000000000..19615ed335
--- /dev/null
+++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/S3Location.cpp
@@ -0,0 +1,186 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#include <aws/s3/model/S3Location.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
+{
+
+S3Location::S3Location() :
+ m_bucketNameHasBeenSet(false),
+ m_prefixHasBeenSet(false),
+ m_encryptionHasBeenSet(false),
+ m_cannedACL(ObjectCannedACL::NOT_SET),
+ m_cannedACLHasBeenSet(false),
+ m_accessControlListHasBeenSet(false),
+ m_taggingHasBeenSet(false),
+ m_userMetadataHasBeenSet(false),
+ m_storageClass(StorageClass::NOT_SET),
+ m_storageClassHasBeenSet(false)
+{
+}
+
+S3Location::S3Location(const XmlNode& xmlNode) :
+ m_bucketNameHasBeenSet(false),
+ m_prefixHasBeenSet(false),
+ m_encryptionHasBeenSet(false),
+ m_cannedACL(ObjectCannedACL::NOT_SET),
+ m_cannedACLHasBeenSet(false),
+ m_accessControlListHasBeenSet(false),
+ m_taggingHasBeenSet(false),
+ m_userMetadataHasBeenSet(false),
+ m_storageClass(StorageClass::NOT_SET),
+ m_storageClassHasBeenSet(false)
+{
+ *this = xmlNode;
+}
+
+S3Location& S3Location::operator =(const XmlNode& xmlNode)
+{
+ XmlNode resultNode = xmlNode;
+
+ if(!resultNode.IsNull())
+ {
+ XmlNode bucketNameNode = resultNode.FirstChild("BucketName");
+ if(!bucketNameNode.IsNull())
+ {
+ m_bucketName = Aws::Utils::Xml::DecodeEscapedXmlText(bucketNameNode.GetText());
+ m_bucketNameHasBeenSet = true;
+ }
+ XmlNode prefixNode = resultNode.FirstChild("Prefix");
+ if(!prefixNode.IsNull())
+ {
+ m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText());
+ m_prefixHasBeenSet = true;
+ }
+ XmlNode encryptionNode = resultNode.FirstChild("Encryption");
+ if(!encryptionNode.IsNull())
+ {
+ m_encryption = encryptionNode;
+ m_encryptionHasBeenSet = true;
+ }
+ XmlNode cannedACLNode = resultNode.FirstChild("CannedACL");
+ if(!cannedACLNode.IsNull())
+ {
+ m_cannedACL = ObjectCannedACLMapper::GetObjectCannedACLForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(cannedACLNode.GetText()).c_str()).c_str());
+ m_cannedACLHasBeenSet = true;
+ }
+ XmlNode accessControlListNode = resultNode.FirstChild("AccessControlList");
+ if(!accessControlListNode.IsNull())
+ {
+ XmlNode accessControlListMember = accessControlListNode.FirstChild("Grant");
+ while(!accessControlListMember.IsNull())
+ {
+ m_accessControlList.push_back(accessControlListMember);
+ accessControlListMember = accessControlListMember.NextNode("Grant");
+ }
+
+ m_accessControlListHasBeenSet = true;
+ }
+ XmlNode taggingNode = resultNode.FirstChild("Tagging");
+ if(!taggingNode.IsNull())
+ {
+ m_tagging = taggingNode;
+ m_taggingHasBeenSet = true;
+ }
+ XmlNode userMetadataNode = resultNode.FirstChild("UserMetadata");
+ if(!userMetadataNode.IsNull())
+ {
+ XmlNode userMetadataMember = userMetadataNode.FirstChild("MetadataEntry");
+ while(!userMetadataMember.IsNull())
+ {
+ m_userMetadata.push_back(userMetadataMember);
+ userMetadataMember = userMetadataMember.NextNode("MetadataEntry");
+ }
+
+ m_userMetadataHasBeenSet = true;
+ }
+ XmlNode storageClassNode = resultNode.FirstChild("StorageClass");
+ if(!storageClassNode.IsNull())
+ {
+ m_storageClass = StorageClassMapper::GetStorageClassForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(storageClassNode.GetText()).c_str()).c_str());
+ m_storageClassHasBeenSet = true;
+ }
+ }
+
+ return *this;
+}
+
+void S3Location::AddToNode(XmlNode& parentNode) const
+{
+ Aws::StringStream ss;
+ if(m_bucketNameHasBeenSet)
+ {
+ XmlNode bucketNameNode = parentNode.CreateChildElement("BucketName");
+ bucketNameNode.SetText(m_bucketName);
+ }
+
+ if(m_prefixHasBeenSet)
+ {
+ XmlNode prefixNode = parentNode.CreateChildElement("Prefix");
+ prefixNode.SetText(m_prefix);
+ }
+
+ if(m_encryptionHasBeenSet)
+ {
+ XmlNode encryptionNode = parentNode.CreateChildElement("Encryption");
+ m_encryption.AddToNode(encryptionNode);
+ }
+
+ if(m_cannedACLHasBeenSet)
+ {
+ XmlNode cannedACLNode = parentNode.CreateChildElement("CannedACL");
+ cannedACLNode.SetText(ObjectCannedACLMapper::GetNameForObjectCannedACL(m_cannedACL));
+ }
+
+ if(m_accessControlListHasBeenSet)
+ {
+ XmlNode accessControlListParentNode = parentNode.CreateChildElement("AccessControlList");
+ for(const auto& item : m_accessControlList)
+ {
+ XmlNode accessControlListNode = accessControlListParentNode.CreateChildElement("Grant");
+ item.AddToNode(accessControlListNode);
+ }
+ }
+
+ if(m_taggingHasBeenSet)
+ {
+ XmlNode taggingNode = parentNode.CreateChildElement("Tagging");
+ m_tagging.AddToNode(taggingNode);
+ }
+
+ if(m_userMetadataHasBeenSet)
+ {
+ XmlNode userMetadataParentNode = parentNode.CreateChildElement("UserMetadata");
+ for(const auto& item : m_userMetadata)
+ {
+ XmlNode userMetadataNode = userMetadataParentNode.CreateChildElement("MetadataEntry");
+ item.AddToNode(userMetadataNode);
+ }
+ }
+
+ if(m_storageClassHasBeenSet)
+ {
+ XmlNode storageClassNode = parentNode.CreateChildElement("StorageClass");
+ storageClassNode.SetText(StorageClassMapper::GetNameForStorageClass(m_storageClass));
+ }
+
+}
+
+} // namespace Model
+} // namespace S3
+} // namespace Aws