From 51b9839c090e48cfb747ff793021a925ff291e49 Mon Sep 17 00:00:00 2001 From: Antonio Andelic Date: Mon, 30 Jan 2023 13:19:35 +0000 Subject: [PATCH 1/3] Define HeadBucketResult --- .../include/aws/s3/S3ServiceClientModel.h | 3 +- .../include/aws/s3/model/HeadBucketResult.h | 67 +++++++++++++++++++ .../source/model/HeadBucketResult.cpp | 44 ++++++++++++ 3 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h create mode 100644 aws-cpp-sdk-s3/source/model/HeadBucketResult.cpp diff --git a/aws-cpp-sdk-s3/include/aws/s3/S3ServiceClientModel.h b/aws-cpp-sdk-s3/include/aws/s3/S3ServiceClientModel.h index e0938c41eae2..a9e9c5079fb3 100644 --- a/aws-cpp-sdk-s3/include/aws/s3/S3ServiceClientModel.h +++ b/aws-cpp-sdk-s3/include/aws/s3/S3ServiceClientModel.h @@ -56,6 +56,7 @@ #include #include #include +#include #include #include #include @@ -261,7 +262,7 @@ namespace Aws typedef Aws::Utils::Outcome GetObjectTaggingOutcome; typedef Aws::Utils::Outcome GetObjectTorrentOutcome; typedef Aws::Utils::Outcome GetPublicAccessBlockOutcome; - typedef Aws::Utils::Outcome HeadBucketOutcome; + typedef Aws::Utils::Outcome HeadBucketOutcome; typedef Aws::Utils::Outcome HeadObjectOutcome; typedef Aws::Utils::Outcome ListBucketAnalyticsConfigurationsOutcome; typedef Aws::Utils::Outcome ListBucketIntelligentTieringConfigurationsOutcome; diff --git a/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h b/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h new file mode 100644 index 000000000000..22dc00175e66 --- /dev/null +++ b/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class HeadBucketResult + { + public: + AWS_S3_API HeadBucketResult(); + AWS_S3_API HeadBucketResult(const Aws::AmazonWebServiceResult& result); + AWS_S3_API HeadBucketResult(Aws::AmazonWebServiceResult&& result); + AWS_S3_API HeadBucketResult& operator=(Aws::AmazonWebServiceResult result); + + + /** + *

Specifies whether the object retrieved was (true) or was not + * (false) a delete marker. If false, this response + * header does not appear in the response.

+ */ + inline std::string GetRegion() const{ return m_region; } + + /** + *

Specifies whether the object retrieved was (true) or was not + * (false) a delete marker. If false, this response + * header does not appear in the response.

+ */ + inline void SetRegion(std::string value) { m_region = value; } + + private: + + std::string m_region; + + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/aws-cpp-sdk-s3/source/model/HeadBucketResult.cpp b/aws-cpp-sdk-s3/source/model/HeadBucketResult.cpp new file mode 100644 index 000000000000..e70546fd3af0 --- /dev/null +++ b/aws-cpp-sdk-s3/source/model/HeadBucketResult.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +HeadBucketResult::HeadBucketResult() +{ +} + +HeadBucketResult::HeadBucketResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +HeadBucketResult::HeadBucketResult(Aws::AmazonWebServiceResult&& result) +{ + *this = std::move(result); +} + +HeadBucketResult& HeadBucketResult::operator =(Aws::AmazonWebServiceResult result) +{ + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amz-bucket-region"); + if(requestIdIter != headers.end()) + { + m_region = requestIdIter->second; + } + + return *this; +} From 082441da3bee3d644c73fbca37444132c8ebbace Mon Sep 17 00:00:00 2001 From: Antonio Andelic Date: Tue, 31 Jan 2023 14:34:16 +0000 Subject: [PATCH 2/3] Fix comments --- aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h b/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h index 22dc00175e66..5dd44746b21e 100644 --- a/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h +++ b/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h @@ -43,16 +43,12 @@ namespace Model /** - *

Specifies whether the object retrieved was (true) or was not - * (false) a delete marker. If false, this response - * header does not appear in the response.

+ *

Region of the bucket. If it's any empty string, this response header does not appear in the response.

*/ inline std::string GetRegion() const{ return m_region; } /** - *

Specifies whether the object retrieved was (true) or was not - * (false) a delete marker. If false, this response - * header does not appear in the response.

+ *

Set region for the bucket.

*/ inline void SetRegion(std::string value) { m_region = value; } From 06a6610e6fb3385e22ad85014a67aa307825ffb1 Mon Sep 17 00:00:00 2001 From: Antonio Andelic Date: Tue, 31 Jan 2023 14:50:19 +0000 Subject: [PATCH 3/3] polish --- .../include/aws/s3/model/HeadBucketResult.h | 18 ++++-------------- .../source/model/HeadBucketResult.cpp | 9 --------- 2 files changed, 4 insertions(+), 23 deletions(-) diff --git a/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h b/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h index 5dd44746b21e..85a0ffe4837a 100644 --- a/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h +++ b/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h @@ -6,16 +6,6 @@ #pragma once #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include namespace Aws { @@ -36,7 +26,7 @@ namespace Model class HeadBucketResult { public: - AWS_S3_API HeadBucketResult(); + AWS_S3_API HeadBucketResult() = default; AWS_S3_API HeadBucketResult(const Aws::AmazonWebServiceResult& result); AWS_S3_API HeadBucketResult(Aws::AmazonWebServiceResult&& result); AWS_S3_API HeadBucketResult& operator=(Aws::AmazonWebServiceResult result); @@ -45,16 +35,16 @@ namespace Model /** *

Region of the bucket. If it's any empty string, this response header does not appear in the response.

*/ - inline std::string GetRegion() const{ return m_region; } + inline const Aws::String & GetRegion() const{ return m_region; } /** *

Set region for the bucket.

*/ - inline void SetRegion(std::string value) { m_region = value; } + inline void SetRegion(Aws::String value) { m_region = std::move(value); } private: - std::string m_region; + Aws::String m_region; }; diff --git a/aws-cpp-sdk-s3/source/model/HeadBucketResult.cpp b/aws-cpp-sdk-s3/source/model/HeadBucketResult.cpp index e70546fd3af0..93cd8f43f79b 100644 --- a/aws-cpp-sdk-s3/source/model/HeadBucketResult.cpp +++ b/aws-cpp-sdk-s3/source/model/HeadBucketResult.cpp @@ -5,22 +5,13 @@ #include #include -#include -#include -#include #include #include using namespace Aws::S3::Model; -using namespace Aws::Utils::Stream; -using namespace Aws::Utils; using namespace Aws; -HeadBucketResult::HeadBucketResult() -{ -} - HeadBucketResult::HeadBucketResult(const Aws::AmazonWebServiceResult& result) { *this = result;