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 | |
download | ydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source')
337 files changed, 33115 insertions, 0 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ARN.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ARN.cpp new file mode 100644 index 0000000000..c774bcd380 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ARN.cpp @@ -0,0 +1,210 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <cassert> +#include <aws/core/Region.h> +#include <aws/core/utils/DNS.h> +#include <aws/core/utils/Outcome.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/s3/S3ARN.h> + +namespace Aws +{ + namespace S3 + { + S3ARN::S3ARN(const Aws::String& arn) : Utils::ARN(arn) + { + ParseARNResource(); + } + + S3ARNOutcome S3ARN::Validate(const char* clientRegion) const + { + // Take pseudo region into consideration here. + Aws::String region = clientRegion ? clientRegion : ""; + Aws::StringStream ss; + if (this->GetResourceType() == ARNResourceType::OUTPOST && region.find("fips") != Aws::String::npos) + { + ss.str(""); + ss << "Outposts ARN do not support fips regions right now."; + return S3ARNOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::VALIDATION, "VALIDATION", ss.str(), false)); + } + else if (this->GetRegion() != Aws::Region::ComputeSignerRegion(clientRegion)) + { + ss.str(""); + ss << "Region mismatch between \"" << this->GetRegion() << "\" defined in ARN and \"" + << clientRegion << "\" defined in client configuration. " + << "You can specify AWS_S3_USE_ARN_REGION to ignore region defined in client configuration."; + return S3ARNOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::VALIDATION, "VALIDATION", ss.str(), false)); + } + else + { + return Validate(); + } + } + + S3ARNOutcome S3ARN::Validate() const + { + Aws::String errorMessage; + bool success = false; + Aws::StringStream ss; + + if (!*this) + { + errorMessage = "Invalid ARN."; + } + // Validation on partition. + else if (this->GetPartition().find("aws") != 0) + { + ss.str(""); + ss << "Invalid partition in ARN: " << this->GetPartition() << ". Valid options: aws, aws-cn, and etc."; + } + // Validation on service. + else if (this->GetService() != "s3" && this->GetService() != "s3-outposts") + { + ss.str(""); + ss << "Invalid service in ARN: " << this->GetService() << ". Valid options: s3, s3-outposts"; + errorMessage = ss.str(); + } + // Validation on region. + // TODO: Failure on different partitions. + else if (this->GetRegion().empty()) + { + errorMessage = "Invalid ARN with empty region."; + } + else if (!Utils::IsValidDnsLabel(this->GetRegion())) + { + ss.str(""); + ss << "Invalid region in ARN: " << this->GetRegion() << ". Region should be a RFC 3986 Host label."; + errorMessage = ss.str(); + } + // Validation on account ID + else if (!Utils::IsValidDnsLabel(this->GetAccountId())) + { + ss.str(""); + ss << "Invalid account ID in ARN: " << this->GetAccountId() << ". Account ID should be a RFC 3986 Host label."; + errorMessage = ss.str(); + } + // Validation on Access Point ARN: + else if (this->GetResourceType() == ARNResourceType::ACCESSPOINT) + { + if (!Utils::IsValidDnsLabel(this->GetResourceId())) + { + ss.str(""); + ss << "Invalid resource ID in accesspoint ARN: " << this->GetResourceId() << ". Resource ID should be a RFC 3986 Host label."; + errorMessage = ss.str(); + } + else if (!this->GetResourceQualifier().empty()) + { + ss.str(""); + ss << "Invalid accesspoint ARN with non empty resource qualifier: " << this->GetResourceQualifier(); + errorMessage = ss.str(); + } + else if (!this->GetSubResourceType().empty() || !this->GetSubResourceId().empty()) + { + ss.str(""); + ss << "Invalid accesspoint ARN with non empty sub resource type: " << this->GetSubResourceType() << ", sub resource ID: " << this->GetSubResourceId(); + errorMessage = ss.str(); + } + else + { + success = true; + } + } + // Validation on Outposts ARN: + else if (this->GetResourceType() == ARNResourceType::OUTPOST) + { + if (this->GetRegion().find("fips") != Aws::String::npos) + { + ss.str(""); + ss << "Outposts ARN do not support fips regions right now."; + errorMessage = ss.str(); + } + else if (!Utils::IsValidDnsLabel(this->GetResourceId())) + { + ss.str(""); + ss << "Invalid outpost ID in Outposts ARN: " << this->GetResourceId() << ". Outpost ID should be a RFC 3986 Host label."; + errorMessage = ss.str(); + } + else if (this->GetSubResourceType() != ARNResourceType::ACCESSPOINT) + { + ss.str(""); + ss << "Invalid sub resource type in Outposts ARN: " << this->GetSubResourceType() << ". Valid options: " << ARNResourceType::ACCESSPOINT; + errorMessage = ss.str(); + } + else if (!Utils::IsValidDnsLabel(this->GetSubResourceId())) + { + ss.str(""); + ss << "Invalid accesspoint name in Outposts ARN: " << this->GetSubResourceId() << ", accesspoint name should be a RFC 3986 Host label."; + errorMessage = ss.str(); + } + else + { + success = true; + } + } + // Neither Access Point ARN nor Outposts ARN. + else + { + ss.str(""); + ss << "Invalid resource type in ARN: " << this->GetResourceType() << ". Valid options: " << ARNResourceType::ACCESSPOINT << ", " << ARNResourceType::OUTPOST; + errorMessage = ss.str(); + } + + if (success) + { + return S3ARNOutcome(success); + } + else + { + return S3ARNOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::VALIDATION, "VALIDATION", errorMessage, false)); + } + } + + void S3ARN::ParseARNResource() + { + if (!*this) return; + + Aws::String resource = this->GetResource(); + Aws::Vector<Aws::String> resourceSegments; + if (resource.find(':') != std::string::npos) + { + resourceSegments = Utils::StringUtils::Split(resource, ':', 4, Utils::StringUtils::SplitOptions::INCLUDE_EMPTY_ENTRIES); + } + else if (resource.find('/') != std::string::npos) + { + resourceSegments = Utils::StringUtils::Split(resource, '/', 4, Utils::StringUtils::SplitOptions::INCLUDE_EMPTY_ENTRIES); + } + else + { + resourceSegments.emplace_back(resource); + } + + switch (resourceSegments.size()) + { + case 1: + m_resourceId = resourceSegments[0]; + break; + case 2: + m_resourceType = resourceSegments[0]; + m_resourceId = resourceSegments[1]; + break; + case 3: + m_resourceType = resourceSegments[0]; + m_resourceId = resourceSegments[1]; + m_resourceQualifier = resourceSegments[2]; + break; + case 4: + m_resourceType = resourceSegments[0]; + m_resourceId = resourceSegments[1]; + m_subResourceType = resourceSegments[2]; + m_subResourceId = resourceSegments[3]; + break; + default: + assert(false); + break; + } + } + } +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Client.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Client.cpp new file mode 100644 index 0000000000..ca21d88bb2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Client.cpp @@ -0,0 +1,4085 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/core/utils/Outcome.h> +#include <aws/core/auth/AWSAuthSigner.h> +#include <aws/core/client/CoreErrors.h> +#include <aws/core/client/RetryStrategy.h> +#include <aws/core/http/HttpClient.h> +#include <aws/core/http/HttpResponse.h> +#include <aws/core/http/HttpClientFactory.h> +#include <aws/core/auth/AWSCredentialsProviderChain.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/utils/threading/Executor.h> +#include <aws/core/utils/DNS.h> +#include <aws/core/utils/logging/LogMacros.h> + +#include <aws/core/utils/event/EventStream.h> +#include <aws/s3/S3Client.h> +#include <aws/s3/S3Endpoint.h> +#include <aws/s3/S3ErrorMarshaller.h> +#include <aws/s3/S3ARN.h> +#include <aws/s3/model/AbortMultipartUploadRequest.h> +#include <aws/s3/model/CompleteMultipartUploadRequest.h> +#include <aws/s3/model/CopyObjectRequest.h> +#include <aws/s3/model/CreateBucketRequest.h> +#include <aws/s3/model/CreateMultipartUploadRequest.h> +#include <aws/s3/model/DeleteBucketRequest.h> +#include <aws/s3/model/DeleteBucketAnalyticsConfigurationRequest.h> +#include <aws/s3/model/DeleteBucketCorsRequest.h> +#include <aws/s3/model/DeleteBucketEncryptionRequest.h> +#include <aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h> +#include <aws/s3/model/DeleteBucketInventoryConfigurationRequest.h> +#include <aws/s3/model/DeleteBucketLifecycleRequest.h> +#include <aws/s3/model/DeleteBucketMetricsConfigurationRequest.h> +#include <aws/s3/model/DeleteBucketOwnershipControlsRequest.h> +#include <aws/s3/model/DeleteBucketPolicyRequest.h> +#include <aws/s3/model/DeleteBucketReplicationRequest.h> +#include <aws/s3/model/DeleteBucketTaggingRequest.h> +#include <aws/s3/model/DeleteBucketWebsiteRequest.h> +#include <aws/s3/model/DeleteObjectRequest.h> +#include <aws/s3/model/DeleteObjectTaggingRequest.h> +#include <aws/s3/model/DeleteObjectsRequest.h> +#include <aws/s3/model/DeletePublicAccessBlockRequest.h> +#include <aws/s3/model/GetBucketAccelerateConfigurationRequest.h> +#include <aws/s3/model/GetBucketAclRequest.h> +#include <aws/s3/model/GetBucketAnalyticsConfigurationRequest.h> +#include <aws/s3/model/GetBucketCorsRequest.h> +#include <aws/s3/model/GetBucketEncryptionRequest.h> +#include <aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h> +#include <aws/s3/model/GetBucketInventoryConfigurationRequest.h> +#include <aws/s3/model/GetBucketLifecycleConfigurationRequest.h> +#include <aws/s3/model/GetBucketLocationRequest.h> +#include <aws/s3/model/GetBucketLoggingRequest.h> +#include <aws/s3/model/GetBucketMetricsConfigurationRequest.h> +#include <aws/s3/model/GetBucketNotificationConfigurationRequest.h> +#include <aws/s3/model/GetBucketOwnershipControlsRequest.h> +#include <aws/s3/model/GetBucketPolicyRequest.h> +#include <aws/s3/model/GetBucketPolicyStatusRequest.h> +#include <aws/s3/model/GetBucketReplicationRequest.h> +#include <aws/s3/model/GetBucketRequestPaymentRequest.h> +#include <aws/s3/model/GetBucketTaggingRequest.h> +#include <aws/s3/model/GetBucketVersioningRequest.h> +#include <aws/s3/model/GetBucketWebsiteRequest.h> +#include <aws/s3/model/GetObjectRequest.h> +#include <aws/s3/model/GetObjectAclRequest.h> +#include <aws/s3/model/GetObjectLegalHoldRequest.h> +#include <aws/s3/model/GetObjectLockConfigurationRequest.h> +#include <aws/s3/model/GetObjectRetentionRequest.h> +#include <aws/s3/model/GetObjectTaggingRequest.h> +#include <aws/s3/model/GetObjectTorrentRequest.h> +#include <aws/s3/model/GetPublicAccessBlockRequest.h> +#include <aws/s3/model/HeadBucketRequest.h> +#include <aws/s3/model/HeadObjectRequest.h> +#include <aws/s3/model/ListBucketAnalyticsConfigurationsRequest.h> +#include <aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h> +#include <aws/s3/model/ListBucketInventoryConfigurationsRequest.h> +#include <aws/s3/model/ListBucketMetricsConfigurationsRequest.h> +#include <aws/s3/model/ListMultipartUploadsRequest.h> +#include <aws/s3/model/ListObjectVersionsRequest.h> +#include <aws/s3/model/ListObjectsRequest.h> +#include <aws/s3/model/ListObjectsV2Request.h> +#include <aws/s3/model/ListPartsRequest.h> +#include <aws/s3/model/PutBucketAccelerateConfigurationRequest.h> +#include <aws/s3/model/PutBucketAclRequest.h> +#include <aws/s3/model/PutBucketAnalyticsConfigurationRequest.h> +#include <aws/s3/model/PutBucketCorsRequest.h> +#include <aws/s3/model/PutBucketEncryptionRequest.h> +#include <aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h> +#include <aws/s3/model/PutBucketInventoryConfigurationRequest.h> +#include <aws/s3/model/PutBucketLifecycleConfigurationRequest.h> +#include <aws/s3/model/PutBucketLoggingRequest.h> +#include <aws/s3/model/PutBucketMetricsConfigurationRequest.h> +#include <aws/s3/model/PutBucketNotificationConfigurationRequest.h> +#include <aws/s3/model/PutBucketOwnershipControlsRequest.h> +#include <aws/s3/model/PutBucketPolicyRequest.h> +#include <aws/s3/model/PutBucketReplicationRequest.h> +#include <aws/s3/model/PutBucketRequestPaymentRequest.h> +#include <aws/s3/model/PutBucketTaggingRequest.h> +#include <aws/s3/model/PutBucketVersioningRequest.h> +#include <aws/s3/model/PutBucketWebsiteRequest.h> +#include <aws/s3/model/PutObjectRequest.h> +#include <aws/s3/model/PutObjectAclRequest.h> +#include <aws/s3/model/PutObjectLegalHoldRequest.h> +#include <aws/s3/model/PutObjectLockConfigurationRequest.h> +#include <aws/s3/model/PutObjectRetentionRequest.h> +#include <aws/s3/model/PutObjectTaggingRequest.h> +#include <aws/s3/model/PutPublicAccessBlockRequest.h> +#include <aws/s3/model/RestoreObjectRequest.h> +#include <aws/s3/model/SelectObjectContentRequest.h> +#include <aws/s3/model/UploadPartRequest.h> +#include <aws/s3/model/UploadPartCopyRequest.h> + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::S3; +using namespace Aws::S3::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Xml; + + +static const char* SERVICE_NAME = "s3"; +static const char* ALLOCATION_TAG = "S3Client"; + + +S3Client::S3Client(const Client::ClientConfiguration& clientConfiguration, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads, bool useVirtualAddressing, Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption) : + BASECLASS(clientConfiguration, + Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<DefaultAWSCredentialsProviderChain>(ALLOCATION_TAG), + SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region), signPayloads, false), + Aws::MakeShared<S3ErrorMarshaller>(ALLOCATION_TAG)), + m_executor(clientConfiguration.executor), m_useVirtualAddressing(useVirtualAddressing), m_USEast1RegionalEndpointOption(USEast1RegionalEndPointOption) +{ + init(clientConfiguration); +} + +S3Client::S3Client(const AWSCredentials& credentials, const Client::ClientConfiguration& clientConfiguration, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads, bool useVirtualAddressing, Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption) : + BASECLASS(clientConfiguration, + Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<SimpleAWSCredentialsProvider>(ALLOCATION_TAG, credentials), + SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region), signPayloads, false), + Aws::MakeShared<S3ErrorMarshaller>(ALLOCATION_TAG)), + m_executor(clientConfiguration.executor), m_useVirtualAddressing(useVirtualAddressing), m_USEast1RegionalEndpointOption(USEast1RegionalEndPointOption) +{ + init(clientConfiguration); +} + +S3Client::S3Client(const std::shared_ptr<AWSCredentialsProvider>& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads, bool useVirtualAddressing, Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption) : + BASECLASS(clientConfiguration, + Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, credentialsProvider, + SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region), signPayloads, false), + Aws::MakeShared<S3ErrorMarshaller>(ALLOCATION_TAG)), + m_executor(clientConfiguration.executor), m_useVirtualAddressing(useVirtualAddressing), m_USEast1RegionalEndpointOption(USEast1RegionalEndPointOption) +{ + init(clientConfiguration); +} + +S3Client::~S3Client() +{ +} + +void S3Client::init(const ClientConfiguration& config) +{ + SetServiceClientName("S3"); + LoadS3SpecificConfig(config.profileName); + m_configScheme = SchemeMapper::ToString(config.scheme); + m_scheme = m_configScheme; + m_useDualStack = config.useDualStack; + if (config.endpointOverride.empty()) + { + m_useCustomEndpoint = false; + m_baseUri = S3Endpoint::ForRegion(config.region, config.useDualStack, m_USEast1RegionalEndpointOption == Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::REGIONAL); + } + else + { + m_useCustomEndpoint = true; + OverrideEndpoint(config.endpointOverride); + } +} + +void S3Client::OverrideEndpoint(const Aws::String& endpoint) +{ + if (endpoint.compare(0, 7, "http://") == 0) + { + m_scheme = "http"; + m_baseUri = endpoint.substr(7); + } + else if (endpoint.compare(0, 8, "https://") == 0) + { + m_scheme = "https"; + m_baseUri = endpoint.substr(8); + } + else + { + m_scheme = m_configScheme; + m_baseUri = endpoint; + } +} + +AbortMultipartUploadOutcome S3Client::AbortMultipartUpload(const AbortMultipartUploadRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("AbortMultipartUpload", "Required field: Bucket, is not set"); + return AbortMultipartUploadOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("AbortMultipartUpload", "Required field: Key, is not set"); + return AbortMultipartUploadOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + if (!request.UploadIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("AbortMultipartUpload", "Required field: UploadId, is not set"); + return AbortMultipartUploadOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [UploadId]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return AbortMultipartUploadOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + return AbortMultipartUploadOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +AbortMultipartUploadOutcomeCallable S3Client::AbortMultipartUploadCallable(const AbortMultipartUploadRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< AbortMultipartUploadOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->AbortMultipartUpload(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::AbortMultipartUploadAsync(const AbortMultipartUploadRequest& request, const AbortMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->AbortMultipartUploadAsyncHelper( request, handler, context ); } ); +} + +void S3Client::AbortMultipartUploadAsyncHelper(const AbortMultipartUploadRequest& request, const AbortMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, AbortMultipartUpload(request), context); +} + +CompleteMultipartUploadOutcome S3Client::CompleteMultipartUpload(const CompleteMultipartUploadRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CompleteMultipartUpload", "Required field: Bucket, is not set"); + return CompleteMultipartUploadOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CompleteMultipartUpload", "Required field: Key, is not set"); + return CompleteMultipartUploadOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + if (!request.UploadIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CompleteMultipartUpload", "Required field: UploadId, is not set"); + return CompleteMultipartUploadOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [UploadId]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return CompleteMultipartUploadOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + return CompleteMultipartUploadOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +CompleteMultipartUploadOutcomeCallable S3Client::CompleteMultipartUploadCallable(const CompleteMultipartUploadRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< CompleteMultipartUploadOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CompleteMultipartUpload(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::CompleteMultipartUploadAsync(const CompleteMultipartUploadRequest& request, const CompleteMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->CompleteMultipartUploadAsyncHelper( request, handler, context ); } ); +} + +void S3Client::CompleteMultipartUploadAsyncHelper(const CompleteMultipartUploadRequest& request, const CompleteMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, CompleteMultipartUpload(request), context); +} + +CopyObjectOutcome S3Client::CopyObject(const CopyObjectRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CopyObject", "Required field: Bucket, is not set"); + return CopyObjectOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.CopySourceHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CopyObject", "Required field: CopySource, is not set"); + return CopyObjectOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [CopySource]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CopyObject", "Required field: Key, is not set"); + return CopyObjectOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return CopyObjectOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + return CopyObjectOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +CopyObjectOutcomeCallable S3Client::CopyObjectCallable(const CopyObjectRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< CopyObjectOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CopyObject(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::CopyObjectAsync(const CopyObjectRequest& request, const CopyObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->CopyObjectAsyncHelper( request, handler, context ); } ); +} + +void S3Client::CopyObjectAsyncHelper(const CopyObjectRequest& request, const CopyObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, CopyObject(request), context); +} + +CreateBucketOutcome S3Client::CreateBucket(const CreateBucketRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateBucket", "Required field: Bucket, is not set"); + return CreateBucketOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(); + if (!computeEndpointOutcome.IsSuccess()) + { + return CreateBucketOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetBucket(); + uri.SetPath(uri.GetPath() + ss.str()); + return CreateBucketOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +CreateBucketOutcomeCallable S3Client::CreateBucketCallable(const CreateBucketRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< CreateBucketOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateBucket(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::CreateBucketAsync(const CreateBucketRequest& request, const CreateBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->CreateBucketAsyncHelper( request, handler, context ); } ); +} + +void S3Client::CreateBucketAsyncHelper(const CreateBucketRequest& request, const CreateBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, CreateBucket(request), context); +} + +CreateMultipartUploadOutcome S3Client::CreateMultipartUpload(const CreateMultipartUploadRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateMultipartUpload", "Required field: Bucket, is not set"); + return CreateMultipartUploadOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateMultipartUpload", "Required field: Key, is not set"); + return CreateMultipartUploadOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return CreateMultipartUploadOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + ss.str("?uploads"); + uri.SetQueryString(ss.str()); + return CreateMultipartUploadOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +CreateMultipartUploadOutcomeCallable S3Client::CreateMultipartUploadCallable(const CreateMultipartUploadRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< CreateMultipartUploadOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateMultipartUpload(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::CreateMultipartUploadAsync(const CreateMultipartUploadRequest& request, const CreateMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->CreateMultipartUploadAsyncHelper( request, handler, context ); } ); +} + +void S3Client::CreateMultipartUploadAsyncHelper(const CreateMultipartUploadRequest& request, const CreateMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, CreateMultipartUpload(request), context); +} + +DeleteBucketOutcome S3Client::DeleteBucket(const DeleteBucketRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucket", "Required field: Bucket, is not set"); + return DeleteBucketOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeleteBucketOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + uri.SetPath(uri.GetPath() + ss.str()); + return DeleteBucketOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeleteBucketOutcomeCallable S3Client::DeleteBucketCallable(const DeleteBucketRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeleteBucketOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBucket(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeleteBucketAsync(const DeleteBucketRequest& request, const DeleteBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeleteBucketAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeleteBucketAsyncHelper(const DeleteBucketRequest& request, const DeleteBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeleteBucket(request), context); +} + +DeleteBucketAnalyticsConfigurationOutcome S3Client::DeleteBucketAnalyticsConfiguration(const DeleteBucketAnalyticsConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucketAnalyticsConfiguration", "Required field: Bucket, is not set"); + return DeleteBucketAnalyticsConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucketAnalyticsConfiguration", "Required field: Id, is not set"); + return DeleteBucketAnalyticsConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeleteBucketAnalyticsConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?analytics"); + uri.SetQueryString(ss.str()); + return DeleteBucketAnalyticsConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeleteBucketAnalyticsConfigurationOutcomeCallable S3Client::DeleteBucketAnalyticsConfigurationCallable(const DeleteBucketAnalyticsConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeleteBucketAnalyticsConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBucketAnalyticsConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeleteBucketAnalyticsConfigurationAsync(const DeleteBucketAnalyticsConfigurationRequest& request, const DeleteBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeleteBucketAnalyticsConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeleteBucketAnalyticsConfigurationAsyncHelper(const DeleteBucketAnalyticsConfigurationRequest& request, const DeleteBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeleteBucketAnalyticsConfiguration(request), context); +} + +DeleteBucketCorsOutcome S3Client::DeleteBucketCors(const DeleteBucketCorsRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucketCors", "Required field: Bucket, is not set"); + return DeleteBucketCorsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeleteBucketCorsOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?cors"); + uri.SetQueryString(ss.str()); + return DeleteBucketCorsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeleteBucketCorsOutcomeCallable S3Client::DeleteBucketCorsCallable(const DeleteBucketCorsRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeleteBucketCorsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBucketCors(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeleteBucketCorsAsync(const DeleteBucketCorsRequest& request, const DeleteBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeleteBucketCorsAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeleteBucketCorsAsyncHelper(const DeleteBucketCorsRequest& request, const DeleteBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeleteBucketCors(request), context); +} + +DeleteBucketEncryptionOutcome S3Client::DeleteBucketEncryption(const DeleteBucketEncryptionRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucketEncryption", "Required field: Bucket, is not set"); + return DeleteBucketEncryptionOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeleteBucketEncryptionOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?encryption"); + uri.SetQueryString(ss.str()); + return DeleteBucketEncryptionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeleteBucketEncryptionOutcomeCallable S3Client::DeleteBucketEncryptionCallable(const DeleteBucketEncryptionRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeleteBucketEncryptionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBucketEncryption(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeleteBucketEncryptionAsync(const DeleteBucketEncryptionRequest& request, const DeleteBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeleteBucketEncryptionAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeleteBucketEncryptionAsyncHelper(const DeleteBucketEncryptionRequest& request, const DeleteBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeleteBucketEncryption(request), context); +} + +DeleteBucketIntelligentTieringConfigurationOutcome S3Client::DeleteBucketIntelligentTieringConfiguration(const DeleteBucketIntelligentTieringConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucketIntelligentTieringConfiguration", "Required field: Bucket, is not set"); + return DeleteBucketIntelligentTieringConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucketIntelligentTieringConfiguration", "Required field: Id, is not set"); + return DeleteBucketIntelligentTieringConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeleteBucketIntelligentTieringConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?intelligent-tiering"); + uri.SetQueryString(ss.str()); + return DeleteBucketIntelligentTieringConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeleteBucketIntelligentTieringConfigurationOutcomeCallable S3Client::DeleteBucketIntelligentTieringConfigurationCallable(const DeleteBucketIntelligentTieringConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeleteBucketIntelligentTieringConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBucketIntelligentTieringConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeleteBucketIntelligentTieringConfigurationAsync(const DeleteBucketIntelligentTieringConfigurationRequest& request, const DeleteBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeleteBucketIntelligentTieringConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeleteBucketIntelligentTieringConfigurationAsyncHelper(const DeleteBucketIntelligentTieringConfigurationRequest& request, const DeleteBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeleteBucketIntelligentTieringConfiguration(request), context); +} + +DeleteBucketInventoryConfigurationOutcome S3Client::DeleteBucketInventoryConfiguration(const DeleteBucketInventoryConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucketInventoryConfiguration", "Required field: Bucket, is not set"); + return DeleteBucketInventoryConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucketInventoryConfiguration", "Required field: Id, is not set"); + return DeleteBucketInventoryConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeleteBucketInventoryConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?inventory"); + uri.SetQueryString(ss.str()); + return DeleteBucketInventoryConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeleteBucketInventoryConfigurationOutcomeCallable S3Client::DeleteBucketInventoryConfigurationCallable(const DeleteBucketInventoryConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeleteBucketInventoryConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBucketInventoryConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeleteBucketInventoryConfigurationAsync(const DeleteBucketInventoryConfigurationRequest& request, const DeleteBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeleteBucketInventoryConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeleteBucketInventoryConfigurationAsyncHelper(const DeleteBucketInventoryConfigurationRequest& request, const DeleteBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeleteBucketInventoryConfiguration(request), context); +} + +DeleteBucketLifecycleOutcome S3Client::DeleteBucketLifecycle(const DeleteBucketLifecycleRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucketLifecycle", "Required field: Bucket, is not set"); + return DeleteBucketLifecycleOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeleteBucketLifecycleOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?lifecycle"); + uri.SetQueryString(ss.str()); + return DeleteBucketLifecycleOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeleteBucketLifecycleOutcomeCallable S3Client::DeleteBucketLifecycleCallable(const DeleteBucketLifecycleRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeleteBucketLifecycleOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBucketLifecycle(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeleteBucketLifecycleAsync(const DeleteBucketLifecycleRequest& request, const DeleteBucketLifecycleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeleteBucketLifecycleAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeleteBucketLifecycleAsyncHelper(const DeleteBucketLifecycleRequest& request, const DeleteBucketLifecycleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeleteBucketLifecycle(request), context); +} + +DeleteBucketMetricsConfigurationOutcome S3Client::DeleteBucketMetricsConfiguration(const DeleteBucketMetricsConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucketMetricsConfiguration", "Required field: Bucket, is not set"); + return DeleteBucketMetricsConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucketMetricsConfiguration", "Required field: Id, is not set"); + return DeleteBucketMetricsConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeleteBucketMetricsConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?metrics"); + uri.SetQueryString(ss.str()); + return DeleteBucketMetricsConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeleteBucketMetricsConfigurationOutcomeCallable S3Client::DeleteBucketMetricsConfigurationCallable(const DeleteBucketMetricsConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeleteBucketMetricsConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBucketMetricsConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeleteBucketMetricsConfigurationAsync(const DeleteBucketMetricsConfigurationRequest& request, const DeleteBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeleteBucketMetricsConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeleteBucketMetricsConfigurationAsyncHelper(const DeleteBucketMetricsConfigurationRequest& request, const DeleteBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeleteBucketMetricsConfiguration(request), context); +} + +DeleteBucketOwnershipControlsOutcome S3Client::DeleteBucketOwnershipControls(const DeleteBucketOwnershipControlsRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucketOwnershipControls", "Required field: Bucket, is not set"); + return DeleteBucketOwnershipControlsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeleteBucketOwnershipControlsOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?ownershipControls"); + uri.SetQueryString(ss.str()); + return DeleteBucketOwnershipControlsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeleteBucketOwnershipControlsOutcomeCallable S3Client::DeleteBucketOwnershipControlsCallable(const DeleteBucketOwnershipControlsRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeleteBucketOwnershipControlsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBucketOwnershipControls(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeleteBucketOwnershipControlsAsync(const DeleteBucketOwnershipControlsRequest& request, const DeleteBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeleteBucketOwnershipControlsAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeleteBucketOwnershipControlsAsyncHelper(const DeleteBucketOwnershipControlsRequest& request, const DeleteBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeleteBucketOwnershipControls(request), context); +} + +DeleteBucketPolicyOutcome S3Client::DeleteBucketPolicy(const DeleteBucketPolicyRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucketPolicy", "Required field: Bucket, is not set"); + return DeleteBucketPolicyOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeleteBucketPolicyOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?policy"); + uri.SetQueryString(ss.str()); + return DeleteBucketPolicyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeleteBucketPolicyOutcomeCallable S3Client::DeleteBucketPolicyCallable(const DeleteBucketPolicyRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeleteBucketPolicyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBucketPolicy(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeleteBucketPolicyAsync(const DeleteBucketPolicyRequest& request, const DeleteBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeleteBucketPolicyAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeleteBucketPolicyAsyncHelper(const DeleteBucketPolicyRequest& request, const DeleteBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeleteBucketPolicy(request), context); +} + +DeleteBucketReplicationOutcome S3Client::DeleteBucketReplication(const DeleteBucketReplicationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucketReplication", "Required field: Bucket, is not set"); + return DeleteBucketReplicationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeleteBucketReplicationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?replication"); + uri.SetQueryString(ss.str()); + return DeleteBucketReplicationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeleteBucketReplicationOutcomeCallable S3Client::DeleteBucketReplicationCallable(const DeleteBucketReplicationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeleteBucketReplicationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBucketReplication(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeleteBucketReplicationAsync(const DeleteBucketReplicationRequest& request, const DeleteBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeleteBucketReplicationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeleteBucketReplicationAsyncHelper(const DeleteBucketReplicationRequest& request, const DeleteBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeleteBucketReplication(request), context); +} + +DeleteBucketTaggingOutcome S3Client::DeleteBucketTagging(const DeleteBucketTaggingRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucketTagging", "Required field: Bucket, is not set"); + return DeleteBucketTaggingOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeleteBucketTaggingOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?tagging"); + uri.SetQueryString(ss.str()); + return DeleteBucketTaggingOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeleteBucketTaggingOutcomeCallable S3Client::DeleteBucketTaggingCallable(const DeleteBucketTaggingRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeleteBucketTaggingOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBucketTagging(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeleteBucketTaggingAsync(const DeleteBucketTaggingRequest& request, const DeleteBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeleteBucketTaggingAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeleteBucketTaggingAsyncHelper(const DeleteBucketTaggingRequest& request, const DeleteBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeleteBucketTagging(request), context); +} + +DeleteBucketWebsiteOutcome S3Client::DeleteBucketWebsite(const DeleteBucketWebsiteRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteBucketWebsite", "Required field: Bucket, is not set"); + return DeleteBucketWebsiteOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeleteBucketWebsiteOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?website"); + uri.SetQueryString(ss.str()); + return DeleteBucketWebsiteOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeleteBucketWebsiteOutcomeCallable S3Client::DeleteBucketWebsiteCallable(const DeleteBucketWebsiteRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeleteBucketWebsiteOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBucketWebsite(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeleteBucketWebsiteAsync(const DeleteBucketWebsiteRequest& request, const DeleteBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeleteBucketWebsiteAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeleteBucketWebsiteAsyncHelper(const DeleteBucketWebsiteRequest& request, const DeleteBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeleteBucketWebsite(request), context); +} + +DeleteObjectOutcome S3Client::DeleteObject(const DeleteObjectRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteObject", "Required field: Bucket, is not set"); + return DeleteObjectOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteObject", "Required field: Key, is not set"); + return DeleteObjectOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeleteObjectOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + return DeleteObjectOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeleteObjectOutcomeCallable S3Client::DeleteObjectCallable(const DeleteObjectRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeleteObjectOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteObject(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeleteObjectAsync(const DeleteObjectRequest& request, const DeleteObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeleteObjectAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeleteObjectAsyncHelper(const DeleteObjectRequest& request, const DeleteObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeleteObject(request), context); +} + +DeleteObjectTaggingOutcome S3Client::DeleteObjectTagging(const DeleteObjectTaggingRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteObjectTagging", "Required field: Bucket, is not set"); + return DeleteObjectTaggingOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteObjectTagging", "Required field: Key, is not set"); + return DeleteObjectTaggingOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeleteObjectTaggingOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + ss.str("?tagging"); + uri.SetQueryString(ss.str()); + return DeleteObjectTaggingOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeleteObjectTaggingOutcomeCallable S3Client::DeleteObjectTaggingCallable(const DeleteObjectTaggingRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeleteObjectTaggingOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteObjectTagging(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeleteObjectTaggingAsync(const DeleteObjectTaggingRequest& request, const DeleteObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeleteObjectTaggingAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeleteObjectTaggingAsyncHelper(const DeleteObjectTaggingRequest& request, const DeleteObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeleteObjectTagging(request), context); +} + +DeleteObjectsOutcome S3Client::DeleteObjects(const DeleteObjectsRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteObjects", "Required field: Bucket, is not set"); + return DeleteObjectsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeleteObjectsOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?delete"); + uri.SetQueryString(ss.str()); + return DeleteObjectsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeleteObjectsOutcomeCallable S3Client::DeleteObjectsCallable(const DeleteObjectsRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeleteObjectsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteObjects(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeleteObjectsAsync(const DeleteObjectsRequest& request, const DeleteObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeleteObjectsAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeleteObjectsAsyncHelper(const DeleteObjectsRequest& request, const DeleteObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeleteObjects(request), context); +} + +DeletePublicAccessBlockOutcome S3Client::DeletePublicAccessBlock(const DeletePublicAccessBlockRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeletePublicAccessBlock", "Required field: Bucket, is not set"); + return DeletePublicAccessBlockOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return DeletePublicAccessBlockOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?publicAccessBlock"); + uri.SetQueryString(ss.str()); + return DeletePublicAccessBlockOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +DeletePublicAccessBlockOutcomeCallable S3Client::DeletePublicAccessBlockCallable(const DeletePublicAccessBlockRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< DeletePublicAccessBlockOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeletePublicAccessBlock(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::DeletePublicAccessBlockAsync(const DeletePublicAccessBlockRequest& request, const DeletePublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->DeletePublicAccessBlockAsyncHelper( request, handler, context ); } ); +} + +void S3Client::DeletePublicAccessBlockAsyncHelper(const DeletePublicAccessBlockRequest& request, const DeletePublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, DeletePublicAccessBlock(request), context); +} + +GetBucketAccelerateConfigurationOutcome S3Client::GetBucketAccelerateConfiguration(const GetBucketAccelerateConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketAccelerateConfiguration", "Required field: Bucket, is not set"); + return GetBucketAccelerateConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketAccelerateConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?accelerate"); + uri.SetQueryString(ss.str()); + return GetBucketAccelerateConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketAccelerateConfigurationOutcomeCallable S3Client::GetBucketAccelerateConfigurationCallable(const GetBucketAccelerateConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketAccelerateConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketAccelerateConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketAccelerateConfigurationAsync(const GetBucketAccelerateConfigurationRequest& request, const GetBucketAccelerateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketAccelerateConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketAccelerateConfigurationAsyncHelper(const GetBucketAccelerateConfigurationRequest& request, const GetBucketAccelerateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketAccelerateConfiguration(request), context); +} + +GetBucketAclOutcome S3Client::GetBucketAcl(const GetBucketAclRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketAcl", "Required field: Bucket, is not set"); + return GetBucketAclOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketAclOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?acl"); + uri.SetQueryString(ss.str()); + return GetBucketAclOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketAclOutcomeCallable S3Client::GetBucketAclCallable(const GetBucketAclRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketAclOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketAcl(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketAclAsync(const GetBucketAclRequest& request, const GetBucketAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketAclAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketAclAsyncHelper(const GetBucketAclRequest& request, const GetBucketAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketAcl(request), context); +} + +GetBucketAnalyticsConfigurationOutcome S3Client::GetBucketAnalyticsConfiguration(const GetBucketAnalyticsConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketAnalyticsConfiguration", "Required field: Bucket, is not set"); + return GetBucketAnalyticsConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketAnalyticsConfiguration", "Required field: Id, is not set"); + return GetBucketAnalyticsConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketAnalyticsConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?analytics"); + uri.SetQueryString(ss.str()); + return GetBucketAnalyticsConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketAnalyticsConfigurationOutcomeCallable S3Client::GetBucketAnalyticsConfigurationCallable(const GetBucketAnalyticsConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketAnalyticsConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketAnalyticsConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketAnalyticsConfigurationAsync(const GetBucketAnalyticsConfigurationRequest& request, const GetBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketAnalyticsConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketAnalyticsConfigurationAsyncHelper(const GetBucketAnalyticsConfigurationRequest& request, const GetBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketAnalyticsConfiguration(request), context); +} + +GetBucketCorsOutcome S3Client::GetBucketCors(const GetBucketCorsRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketCors", "Required field: Bucket, is not set"); + return GetBucketCorsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketCorsOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?cors"); + uri.SetQueryString(ss.str()); + return GetBucketCorsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketCorsOutcomeCallable S3Client::GetBucketCorsCallable(const GetBucketCorsRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketCorsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketCors(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketCorsAsync(const GetBucketCorsRequest& request, const GetBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketCorsAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketCorsAsyncHelper(const GetBucketCorsRequest& request, const GetBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketCors(request), context); +} + +GetBucketEncryptionOutcome S3Client::GetBucketEncryption(const GetBucketEncryptionRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketEncryption", "Required field: Bucket, is not set"); + return GetBucketEncryptionOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketEncryptionOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?encryption"); + uri.SetQueryString(ss.str()); + return GetBucketEncryptionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketEncryptionOutcomeCallable S3Client::GetBucketEncryptionCallable(const GetBucketEncryptionRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketEncryptionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketEncryption(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketEncryptionAsync(const GetBucketEncryptionRequest& request, const GetBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketEncryptionAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketEncryptionAsyncHelper(const GetBucketEncryptionRequest& request, const GetBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketEncryption(request), context); +} + +GetBucketIntelligentTieringConfigurationOutcome S3Client::GetBucketIntelligentTieringConfiguration(const GetBucketIntelligentTieringConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketIntelligentTieringConfiguration", "Required field: Bucket, is not set"); + return GetBucketIntelligentTieringConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketIntelligentTieringConfiguration", "Required field: Id, is not set"); + return GetBucketIntelligentTieringConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketIntelligentTieringConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?intelligent-tiering"); + uri.SetQueryString(ss.str()); + return GetBucketIntelligentTieringConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketIntelligentTieringConfigurationOutcomeCallable S3Client::GetBucketIntelligentTieringConfigurationCallable(const GetBucketIntelligentTieringConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketIntelligentTieringConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketIntelligentTieringConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketIntelligentTieringConfigurationAsync(const GetBucketIntelligentTieringConfigurationRequest& request, const GetBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketIntelligentTieringConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketIntelligentTieringConfigurationAsyncHelper(const GetBucketIntelligentTieringConfigurationRequest& request, const GetBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketIntelligentTieringConfiguration(request), context); +} + +GetBucketInventoryConfigurationOutcome S3Client::GetBucketInventoryConfiguration(const GetBucketInventoryConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketInventoryConfiguration", "Required field: Bucket, is not set"); + return GetBucketInventoryConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketInventoryConfiguration", "Required field: Id, is not set"); + return GetBucketInventoryConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketInventoryConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?inventory"); + uri.SetQueryString(ss.str()); + return GetBucketInventoryConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketInventoryConfigurationOutcomeCallable S3Client::GetBucketInventoryConfigurationCallable(const GetBucketInventoryConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketInventoryConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketInventoryConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketInventoryConfigurationAsync(const GetBucketInventoryConfigurationRequest& request, const GetBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketInventoryConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketInventoryConfigurationAsyncHelper(const GetBucketInventoryConfigurationRequest& request, const GetBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketInventoryConfiguration(request), context); +} + +GetBucketLifecycleConfigurationOutcome S3Client::GetBucketLifecycleConfiguration(const GetBucketLifecycleConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketLifecycleConfiguration", "Required field: Bucket, is not set"); + return GetBucketLifecycleConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketLifecycleConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?lifecycle"); + uri.SetQueryString(ss.str()); + return GetBucketLifecycleConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketLifecycleConfigurationOutcomeCallable S3Client::GetBucketLifecycleConfigurationCallable(const GetBucketLifecycleConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketLifecycleConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketLifecycleConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketLifecycleConfigurationAsync(const GetBucketLifecycleConfigurationRequest& request, const GetBucketLifecycleConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketLifecycleConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketLifecycleConfigurationAsyncHelper(const GetBucketLifecycleConfigurationRequest& request, const GetBucketLifecycleConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketLifecycleConfiguration(request), context); +} + +GetBucketLocationOutcome S3Client::GetBucketLocation(const GetBucketLocationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketLocation", "Required field: Bucket, is not set"); + return GetBucketLocationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketLocationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?location"); + uri.SetQueryString(ss.str()); + return GetBucketLocationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketLocationOutcomeCallable S3Client::GetBucketLocationCallable(const GetBucketLocationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketLocationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketLocation(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketLocationAsync(const GetBucketLocationRequest& request, const GetBucketLocationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketLocationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketLocationAsyncHelper(const GetBucketLocationRequest& request, const GetBucketLocationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketLocation(request), context); +} + +GetBucketLoggingOutcome S3Client::GetBucketLogging(const GetBucketLoggingRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketLogging", "Required field: Bucket, is not set"); + return GetBucketLoggingOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketLoggingOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?logging"); + uri.SetQueryString(ss.str()); + return GetBucketLoggingOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketLoggingOutcomeCallable S3Client::GetBucketLoggingCallable(const GetBucketLoggingRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketLoggingOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketLogging(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketLoggingAsync(const GetBucketLoggingRequest& request, const GetBucketLoggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketLoggingAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketLoggingAsyncHelper(const GetBucketLoggingRequest& request, const GetBucketLoggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketLogging(request), context); +} + +GetBucketMetricsConfigurationOutcome S3Client::GetBucketMetricsConfiguration(const GetBucketMetricsConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketMetricsConfiguration", "Required field: Bucket, is not set"); + return GetBucketMetricsConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketMetricsConfiguration", "Required field: Id, is not set"); + return GetBucketMetricsConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketMetricsConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?metrics"); + uri.SetQueryString(ss.str()); + return GetBucketMetricsConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketMetricsConfigurationOutcomeCallable S3Client::GetBucketMetricsConfigurationCallable(const GetBucketMetricsConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketMetricsConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketMetricsConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketMetricsConfigurationAsync(const GetBucketMetricsConfigurationRequest& request, const GetBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketMetricsConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketMetricsConfigurationAsyncHelper(const GetBucketMetricsConfigurationRequest& request, const GetBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketMetricsConfiguration(request), context); +} + +GetBucketNotificationConfigurationOutcome S3Client::GetBucketNotificationConfiguration(const GetBucketNotificationConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketNotificationConfiguration", "Required field: Bucket, is not set"); + return GetBucketNotificationConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketNotificationConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?notification"); + uri.SetQueryString(ss.str()); + return GetBucketNotificationConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketNotificationConfigurationOutcomeCallable S3Client::GetBucketNotificationConfigurationCallable(const GetBucketNotificationConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketNotificationConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketNotificationConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketNotificationConfigurationAsync(const GetBucketNotificationConfigurationRequest& request, const GetBucketNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketNotificationConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketNotificationConfigurationAsyncHelper(const GetBucketNotificationConfigurationRequest& request, const GetBucketNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketNotificationConfiguration(request), context); +} + +GetBucketOwnershipControlsOutcome S3Client::GetBucketOwnershipControls(const GetBucketOwnershipControlsRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketOwnershipControls", "Required field: Bucket, is not set"); + return GetBucketOwnershipControlsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketOwnershipControlsOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?ownershipControls"); + uri.SetQueryString(ss.str()); + return GetBucketOwnershipControlsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketOwnershipControlsOutcomeCallable S3Client::GetBucketOwnershipControlsCallable(const GetBucketOwnershipControlsRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketOwnershipControlsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketOwnershipControls(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketOwnershipControlsAsync(const GetBucketOwnershipControlsRequest& request, const GetBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketOwnershipControlsAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketOwnershipControlsAsyncHelper(const GetBucketOwnershipControlsRequest& request, const GetBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketOwnershipControls(request), context); +} + +GetBucketPolicyOutcome S3Client::GetBucketPolicy(const GetBucketPolicyRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketPolicy", "Required field: Bucket, is not set"); + return GetBucketPolicyOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketPolicyOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?policy"); + uri.SetQueryString(ss.str()); + return GetBucketPolicyOutcome(MakeRequestWithUnparsedResponse(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketPolicyOutcomeCallable S3Client::GetBucketPolicyCallable(const GetBucketPolicyRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketPolicyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketPolicy(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketPolicyAsync(const GetBucketPolicyRequest& request, const GetBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketPolicyAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketPolicyAsyncHelper(const GetBucketPolicyRequest& request, const GetBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketPolicy(request), context); +} + +GetBucketPolicyStatusOutcome S3Client::GetBucketPolicyStatus(const GetBucketPolicyStatusRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketPolicyStatus", "Required field: Bucket, is not set"); + return GetBucketPolicyStatusOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketPolicyStatusOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?policyStatus"); + uri.SetQueryString(ss.str()); + return GetBucketPolicyStatusOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketPolicyStatusOutcomeCallable S3Client::GetBucketPolicyStatusCallable(const GetBucketPolicyStatusRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketPolicyStatusOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketPolicyStatus(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketPolicyStatusAsync(const GetBucketPolicyStatusRequest& request, const GetBucketPolicyStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketPolicyStatusAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketPolicyStatusAsyncHelper(const GetBucketPolicyStatusRequest& request, const GetBucketPolicyStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketPolicyStatus(request), context); +} + +GetBucketReplicationOutcome S3Client::GetBucketReplication(const GetBucketReplicationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketReplication", "Required field: Bucket, is not set"); + return GetBucketReplicationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketReplicationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?replication"); + uri.SetQueryString(ss.str()); + return GetBucketReplicationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketReplicationOutcomeCallable S3Client::GetBucketReplicationCallable(const GetBucketReplicationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketReplicationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketReplication(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketReplicationAsync(const GetBucketReplicationRequest& request, const GetBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketReplicationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketReplicationAsyncHelper(const GetBucketReplicationRequest& request, const GetBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketReplication(request), context); +} + +GetBucketRequestPaymentOutcome S3Client::GetBucketRequestPayment(const GetBucketRequestPaymentRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketRequestPayment", "Required field: Bucket, is not set"); + return GetBucketRequestPaymentOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketRequestPaymentOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?requestPayment"); + uri.SetQueryString(ss.str()); + return GetBucketRequestPaymentOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketRequestPaymentOutcomeCallable S3Client::GetBucketRequestPaymentCallable(const GetBucketRequestPaymentRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketRequestPaymentOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketRequestPayment(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketRequestPaymentAsync(const GetBucketRequestPaymentRequest& request, const GetBucketRequestPaymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketRequestPaymentAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketRequestPaymentAsyncHelper(const GetBucketRequestPaymentRequest& request, const GetBucketRequestPaymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketRequestPayment(request), context); +} + +GetBucketTaggingOutcome S3Client::GetBucketTagging(const GetBucketTaggingRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketTagging", "Required field: Bucket, is not set"); + return GetBucketTaggingOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketTaggingOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?tagging"); + uri.SetQueryString(ss.str()); + return GetBucketTaggingOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketTaggingOutcomeCallable S3Client::GetBucketTaggingCallable(const GetBucketTaggingRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketTaggingOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketTagging(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketTaggingAsync(const GetBucketTaggingRequest& request, const GetBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketTaggingAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketTaggingAsyncHelper(const GetBucketTaggingRequest& request, const GetBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketTagging(request), context); +} + +GetBucketVersioningOutcome S3Client::GetBucketVersioning(const GetBucketVersioningRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketVersioning", "Required field: Bucket, is not set"); + return GetBucketVersioningOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketVersioningOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?versioning"); + uri.SetQueryString(ss.str()); + return GetBucketVersioningOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketVersioningOutcomeCallable S3Client::GetBucketVersioningCallable(const GetBucketVersioningRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketVersioningOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketVersioning(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketVersioningAsync(const GetBucketVersioningRequest& request, const GetBucketVersioningResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketVersioningAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketVersioningAsyncHelper(const GetBucketVersioningRequest& request, const GetBucketVersioningResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketVersioning(request), context); +} + +GetBucketWebsiteOutcome S3Client::GetBucketWebsite(const GetBucketWebsiteRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBucketWebsite", "Required field: Bucket, is not set"); + return GetBucketWebsiteOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetBucketWebsiteOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?website"); + uri.SetQueryString(ss.str()); + return GetBucketWebsiteOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetBucketWebsiteOutcomeCallable S3Client::GetBucketWebsiteCallable(const GetBucketWebsiteRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetBucketWebsiteOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBucketWebsite(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetBucketWebsiteAsync(const GetBucketWebsiteRequest& request, const GetBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetBucketWebsiteAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetBucketWebsiteAsyncHelper(const GetBucketWebsiteRequest& request, const GetBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetBucketWebsite(request), context); +} + +GetObjectOutcome S3Client::GetObject(const GetObjectRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetObject", "Required field: Bucket, is not set"); + return GetObjectOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetObject", "Required field: Key, is not set"); + return GetObjectOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetObjectOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + return GetObjectOutcome(MakeRequestWithUnparsedResponse(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetObjectOutcomeCallable S3Client::GetObjectCallable(const GetObjectRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetObjectOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetObject(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetObjectAsync(const GetObjectRequest& request, const GetObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetObjectAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetObjectAsyncHelper(const GetObjectRequest& request, const GetObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetObject(request), context); +} + +GetObjectAclOutcome S3Client::GetObjectAcl(const GetObjectAclRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetObjectAcl", "Required field: Bucket, is not set"); + return GetObjectAclOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetObjectAcl", "Required field: Key, is not set"); + return GetObjectAclOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetObjectAclOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + ss.str("?acl"); + uri.SetQueryString(ss.str()); + return GetObjectAclOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetObjectAclOutcomeCallable S3Client::GetObjectAclCallable(const GetObjectAclRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetObjectAclOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetObjectAcl(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetObjectAclAsync(const GetObjectAclRequest& request, const GetObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetObjectAclAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetObjectAclAsyncHelper(const GetObjectAclRequest& request, const GetObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetObjectAcl(request), context); +} + +GetObjectLegalHoldOutcome S3Client::GetObjectLegalHold(const GetObjectLegalHoldRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetObjectLegalHold", "Required field: Bucket, is not set"); + return GetObjectLegalHoldOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetObjectLegalHold", "Required field: Key, is not set"); + return GetObjectLegalHoldOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetObjectLegalHoldOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + ss.str("?legal-hold"); + uri.SetQueryString(ss.str()); + return GetObjectLegalHoldOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetObjectLegalHoldOutcomeCallable S3Client::GetObjectLegalHoldCallable(const GetObjectLegalHoldRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetObjectLegalHoldOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetObjectLegalHold(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetObjectLegalHoldAsync(const GetObjectLegalHoldRequest& request, const GetObjectLegalHoldResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetObjectLegalHoldAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetObjectLegalHoldAsyncHelper(const GetObjectLegalHoldRequest& request, const GetObjectLegalHoldResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetObjectLegalHold(request), context); +} + +GetObjectLockConfigurationOutcome S3Client::GetObjectLockConfiguration(const GetObjectLockConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetObjectLockConfiguration", "Required field: Bucket, is not set"); + return GetObjectLockConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetObjectLockConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?object-lock"); + uri.SetQueryString(ss.str()); + return GetObjectLockConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetObjectLockConfigurationOutcomeCallable S3Client::GetObjectLockConfigurationCallable(const GetObjectLockConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetObjectLockConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetObjectLockConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetObjectLockConfigurationAsync(const GetObjectLockConfigurationRequest& request, const GetObjectLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetObjectLockConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetObjectLockConfigurationAsyncHelper(const GetObjectLockConfigurationRequest& request, const GetObjectLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetObjectLockConfiguration(request), context); +} + +GetObjectRetentionOutcome S3Client::GetObjectRetention(const GetObjectRetentionRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetObjectRetention", "Required field: Bucket, is not set"); + return GetObjectRetentionOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetObjectRetention", "Required field: Key, is not set"); + return GetObjectRetentionOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetObjectRetentionOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + ss.str("?retention"); + uri.SetQueryString(ss.str()); + return GetObjectRetentionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetObjectRetentionOutcomeCallable S3Client::GetObjectRetentionCallable(const GetObjectRetentionRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetObjectRetentionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetObjectRetention(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetObjectRetentionAsync(const GetObjectRetentionRequest& request, const GetObjectRetentionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetObjectRetentionAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetObjectRetentionAsyncHelper(const GetObjectRetentionRequest& request, const GetObjectRetentionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetObjectRetention(request), context); +} + +GetObjectTaggingOutcome S3Client::GetObjectTagging(const GetObjectTaggingRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetObjectTagging", "Required field: Bucket, is not set"); + return GetObjectTaggingOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetObjectTagging", "Required field: Key, is not set"); + return GetObjectTaggingOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetObjectTaggingOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + ss.str("?tagging"); + uri.SetQueryString(ss.str()); + return GetObjectTaggingOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetObjectTaggingOutcomeCallable S3Client::GetObjectTaggingCallable(const GetObjectTaggingRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetObjectTaggingOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetObjectTagging(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetObjectTaggingAsync(const GetObjectTaggingRequest& request, const GetObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetObjectTaggingAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetObjectTaggingAsyncHelper(const GetObjectTaggingRequest& request, const GetObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetObjectTagging(request), context); +} + +GetObjectTorrentOutcome S3Client::GetObjectTorrent(const GetObjectTorrentRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetObjectTorrent", "Required field: Bucket, is not set"); + return GetObjectTorrentOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetObjectTorrent", "Required field: Key, is not set"); + return GetObjectTorrentOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetObjectTorrentOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + ss.str("?torrent"); + uri.SetQueryString(ss.str()); + return GetObjectTorrentOutcome(MakeRequestWithUnparsedResponse(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetObjectTorrentOutcomeCallable S3Client::GetObjectTorrentCallable(const GetObjectTorrentRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetObjectTorrentOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetObjectTorrent(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetObjectTorrentAsync(const GetObjectTorrentRequest& request, const GetObjectTorrentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetObjectTorrentAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetObjectTorrentAsyncHelper(const GetObjectTorrentRequest& request, const GetObjectTorrentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetObjectTorrent(request), context); +} + +GetPublicAccessBlockOutcome S3Client::GetPublicAccessBlock(const GetPublicAccessBlockRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetPublicAccessBlock", "Required field: Bucket, is not set"); + return GetPublicAccessBlockOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return GetPublicAccessBlockOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?publicAccessBlock"); + uri.SetQueryString(ss.str()); + return GetPublicAccessBlockOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +GetPublicAccessBlockOutcomeCallable S3Client::GetPublicAccessBlockCallable(const GetPublicAccessBlockRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< GetPublicAccessBlockOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetPublicAccessBlock(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::GetPublicAccessBlockAsync(const GetPublicAccessBlockRequest& request, const GetPublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->GetPublicAccessBlockAsyncHelper( request, handler, context ); } ); +} + +void S3Client::GetPublicAccessBlockAsyncHelper(const GetPublicAccessBlockRequest& request, const GetPublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, GetPublicAccessBlock(request), context); +} + +HeadBucketOutcome S3Client::HeadBucket(const HeadBucketRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HeadBucket", "Required field: Bucket, is not set"); + return HeadBucketOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return HeadBucketOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + uri.SetPath(uri.GetPath() + ss.str()); + return HeadBucketOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_HEAD, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +HeadBucketOutcomeCallable S3Client::HeadBucketCallable(const HeadBucketRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< HeadBucketOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->HeadBucket(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::HeadBucketAsync(const HeadBucketRequest& request, const HeadBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->HeadBucketAsyncHelper( request, handler, context ); } ); +} + +void S3Client::HeadBucketAsyncHelper(const HeadBucketRequest& request, const HeadBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, HeadBucket(request), context); +} + +HeadObjectOutcome S3Client::HeadObject(const HeadObjectRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HeadObject", "Required field: Bucket, is not set"); + return HeadObjectOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HeadObject", "Required field: Key, is not set"); + return HeadObjectOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return HeadObjectOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + return HeadObjectOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_HEAD, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +HeadObjectOutcomeCallable S3Client::HeadObjectCallable(const HeadObjectRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< HeadObjectOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->HeadObject(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::HeadObjectAsync(const HeadObjectRequest& request, const HeadObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->HeadObjectAsyncHelper( request, handler, context ); } ); +} + +void S3Client::HeadObjectAsyncHelper(const HeadObjectRequest& request, const HeadObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, HeadObject(request), context); +} + +ListBucketAnalyticsConfigurationsOutcome S3Client::ListBucketAnalyticsConfigurations(const ListBucketAnalyticsConfigurationsRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListBucketAnalyticsConfigurations", "Required field: Bucket, is not set"); + return ListBucketAnalyticsConfigurationsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return ListBucketAnalyticsConfigurationsOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?analytics"); + uri.SetQueryString(ss.str()); + return ListBucketAnalyticsConfigurationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +ListBucketAnalyticsConfigurationsOutcomeCallable S3Client::ListBucketAnalyticsConfigurationsCallable(const ListBucketAnalyticsConfigurationsRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< ListBucketAnalyticsConfigurationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListBucketAnalyticsConfigurations(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::ListBucketAnalyticsConfigurationsAsync(const ListBucketAnalyticsConfigurationsRequest& request, const ListBucketAnalyticsConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->ListBucketAnalyticsConfigurationsAsyncHelper( request, handler, context ); } ); +} + +void S3Client::ListBucketAnalyticsConfigurationsAsyncHelper(const ListBucketAnalyticsConfigurationsRequest& request, const ListBucketAnalyticsConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, ListBucketAnalyticsConfigurations(request), context); +} + +ListBucketIntelligentTieringConfigurationsOutcome S3Client::ListBucketIntelligentTieringConfigurations(const ListBucketIntelligentTieringConfigurationsRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListBucketIntelligentTieringConfigurations", "Required field: Bucket, is not set"); + return ListBucketIntelligentTieringConfigurationsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return ListBucketIntelligentTieringConfigurationsOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?intelligent-tiering"); + uri.SetQueryString(ss.str()); + return ListBucketIntelligentTieringConfigurationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +ListBucketIntelligentTieringConfigurationsOutcomeCallable S3Client::ListBucketIntelligentTieringConfigurationsCallable(const ListBucketIntelligentTieringConfigurationsRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< ListBucketIntelligentTieringConfigurationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListBucketIntelligentTieringConfigurations(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::ListBucketIntelligentTieringConfigurationsAsync(const ListBucketIntelligentTieringConfigurationsRequest& request, const ListBucketIntelligentTieringConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->ListBucketIntelligentTieringConfigurationsAsyncHelper( request, handler, context ); } ); +} + +void S3Client::ListBucketIntelligentTieringConfigurationsAsyncHelper(const ListBucketIntelligentTieringConfigurationsRequest& request, const ListBucketIntelligentTieringConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, ListBucketIntelligentTieringConfigurations(request), context); +} + +ListBucketInventoryConfigurationsOutcome S3Client::ListBucketInventoryConfigurations(const ListBucketInventoryConfigurationsRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListBucketInventoryConfigurations", "Required field: Bucket, is not set"); + return ListBucketInventoryConfigurationsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return ListBucketInventoryConfigurationsOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?inventory"); + uri.SetQueryString(ss.str()); + return ListBucketInventoryConfigurationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +ListBucketInventoryConfigurationsOutcomeCallable S3Client::ListBucketInventoryConfigurationsCallable(const ListBucketInventoryConfigurationsRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< ListBucketInventoryConfigurationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListBucketInventoryConfigurations(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::ListBucketInventoryConfigurationsAsync(const ListBucketInventoryConfigurationsRequest& request, const ListBucketInventoryConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->ListBucketInventoryConfigurationsAsyncHelper( request, handler, context ); } ); +} + +void S3Client::ListBucketInventoryConfigurationsAsyncHelper(const ListBucketInventoryConfigurationsRequest& request, const ListBucketInventoryConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, ListBucketInventoryConfigurations(request), context); +} + +ListBucketMetricsConfigurationsOutcome S3Client::ListBucketMetricsConfigurations(const ListBucketMetricsConfigurationsRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListBucketMetricsConfigurations", "Required field: Bucket, is not set"); + return ListBucketMetricsConfigurationsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return ListBucketMetricsConfigurationsOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?metrics"); + uri.SetQueryString(ss.str()); + return ListBucketMetricsConfigurationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +ListBucketMetricsConfigurationsOutcomeCallable S3Client::ListBucketMetricsConfigurationsCallable(const ListBucketMetricsConfigurationsRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< ListBucketMetricsConfigurationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListBucketMetricsConfigurations(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::ListBucketMetricsConfigurationsAsync(const ListBucketMetricsConfigurationsRequest& request, const ListBucketMetricsConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->ListBucketMetricsConfigurationsAsyncHelper( request, handler, context ); } ); +} + +void S3Client::ListBucketMetricsConfigurationsAsyncHelper(const ListBucketMetricsConfigurationsRequest& request, const ListBucketMetricsConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, ListBucketMetricsConfigurations(request), context); +} + +ListBucketsOutcome S3Client::ListBuckets() const +{ + Aws::StringStream ss; + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(); + if (!computeEndpointOutcome.IsSuccess()) + { + return ListBucketsOutcome(computeEndpointOutcome.GetError()); + } + ss << computeEndpointOutcome.GetResult().endpoint; + return ListBucketsOutcome(MakeRequest(ss.str(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, "ListBuckets", computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +ListBucketsOutcomeCallable S3Client::ListBucketsCallable() const +{ + auto task = Aws::MakeShared< std::packaged_task< ListBucketsOutcome() > >(ALLOCATION_TAG, [this](){ return this->ListBuckets(); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::ListBucketsAsync(const ListBucketsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, handler, context](){ this->ListBucketsAsyncHelper( handler, context ); } ); +} + +void S3Client::ListBucketsAsyncHelper(const ListBucketsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, ListBuckets(), context); +} + +ListMultipartUploadsOutcome S3Client::ListMultipartUploads(const ListMultipartUploadsRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListMultipartUploads", "Required field: Bucket, is not set"); + return ListMultipartUploadsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return ListMultipartUploadsOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?uploads"); + uri.SetQueryString(ss.str()); + return ListMultipartUploadsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +ListMultipartUploadsOutcomeCallable S3Client::ListMultipartUploadsCallable(const ListMultipartUploadsRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< ListMultipartUploadsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListMultipartUploads(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::ListMultipartUploadsAsync(const ListMultipartUploadsRequest& request, const ListMultipartUploadsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->ListMultipartUploadsAsyncHelper( request, handler, context ); } ); +} + +void S3Client::ListMultipartUploadsAsyncHelper(const ListMultipartUploadsRequest& request, const ListMultipartUploadsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, ListMultipartUploads(request), context); +} + +ListObjectVersionsOutcome S3Client::ListObjectVersions(const ListObjectVersionsRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListObjectVersions", "Required field: Bucket, is not set"); + return ListObjectVersionsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return ListObjectVersionsOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?versions"); + uri.SetQueryString(ss.str()); + return ListObjectVersionsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +ListObjectVersionsOutcomeCallable S3Client::ListObjectVersionsCallable(const ListObjectVersionsRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< ListObjectVersionsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListObjectVersions(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::ListObjectVersionsAsync(const ListObjectVersionsRequest& request, const ListObjectVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->ListObjectVersionsAsyncHelper( request, handler, context ); } ); +} + +void S3Client::ListObjectVersionsAsyncHelper(const ListObjectVersionsRequest& request, const ListObjectVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, ListObjectVersions(request), context); +} + +ListObjectsOutcome S3Client::ListObjects(const ListObjectsRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListObjects", "Required field: Bucket, is not set"); + return ListObjectsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return ListObjectsOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + uri.SetPath(uri.GetPath() + ss.str()); + return ListObjectsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +ListObjectsOutcomeCallable S3Client::ListObjectsCallable(const ListObjectsRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< ListObjectsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListObjects(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::ListObjectsAsync(const ListObjectsRequest& request, const ListObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->ListObjectsAsyncHelper( request, handler, context ); } ); +} + +void S3Client::ListObjectsAsyncHelper(const ListObjectsRequest& request, const ListObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, ListObjects(request), context); +} + +ListObjectsV2Outcome S3Client::ListObjectsV2(const ListObjectsV2Request& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListObjectsV2", "Required field: Bucket, is not set"); + return ListObjectsV2Outcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return ListObjectsV2Outcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?list-type=2"); + uri.SetQueryString(ss.str()); + return ListObjectsV2Outcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +ListObjectsV2OutcomeCallable S3Client::ListObjectsV2Callable(const ListObjectsV2Request& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< ListObjectsV2Outcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListObjectsV2(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::ListObjectsV2Async(const ListObjectsV2Request& request, const ListObjectsV2ResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->ListObjectsV2AsyncHelper( request, handler, context ); } ); +} + +void S3Client::ListObjectsV2AsyncHelper(const ListObjectsV2Request& request, const ListObjectsV2ResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, ListObjectsV2(request), context); +} + +ListPartsOutcome S3Client::ListParts(const ListPartsRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListParts", "Required field: Bucket, is not set"); + return ListPartsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListParts", "Required field: Key, is not set"); + return ListPartsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + if (!request.UploadIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListParts", "Required field: UploadId, is not set"); + return ListPartsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [UploadId]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return ListPartsOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + return ListPartsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +ListPartsOutcomeCallable S3Client::ListPartsCallable(const ListPartsRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< ListPartsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListParts(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::ListPartsAsync(const ListPartsRequest& request, const ListPartsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->ListPartsAsyncHelper( request, handler, context ); } ); +} + +void S3Client::ListPartsAsyncHelper(const ListPartsRequest& request, const ListPartsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, ListParts(request), context); +} + +PutBucketAccelerateConfigurationOutcome S3Client::PutBucketAccelerateConfiguration(const PutBucketAccelerateConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketAccelerateConfiguration", "Required field: Bucket, is not set"); + return PutBucketAccelerateConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketAccelerateConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?accelerate"); + uri.SetQueryString(ss.str()); + return PutBucketAccelerateConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketAccelerateConfigurationOutcomeCallable S3Client::PutBucketAccelerateConfigurationCallable(const PutBucketAccelerateConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketAccelerateConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketAccelerateConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketAccelerateConfigurationAsync(const PutBucketAccelerateConfigurationRequest& request, const PutBucketAccelerateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketAccelerateConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketAccelerateConfigurationAsyncHelper(const PutBucketAccelerateConfigurationRequest& request, const PutBucketAccelerateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketAccelerateConfiguration(request), context); +} + +PutBucketAclOutcome S3Client::PutBucketAcl(const PutBucketAclRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketAcl", "Required field: Bucket, is not set"); + return PutBucketAclOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketAclOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?acl"); + uri.SetQueryString(ss.str()); + return PutBucketAclOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketAclOutcomeCallable S3Client::PutBucketAclCallable(const PutBucketAclRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketAclOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketAcl(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketAclAsync(const PutBucketAclRequest& request, const PutBucketAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketAclAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketAclAsyncHelper(const PutBucketAclRequest& request, const PutBucketAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketAcl(request), context); +} + +PutBucketAnalyticsConfigurationOutcome S3Client::PutBucketAnalyticsConfiguration(const PutBucketAnalyticsConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketAnalyticsConfiguration", "Required field: Bucket, is not set"); + return PutBucketAnalyticsConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketAnalyticsConfiguration", "Required field: Id, is not set"); + return PutBucketAnalyticsConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketAnalyticsConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?analytics"); + uri.SetQueryString(ss.str()); + return PutBucketAnalyticsConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketAnalyticsConfigurationOutcomeCallable S3Client::PutBucketAnalyticsConfigurationCallable(const PutBucketAnalyticsConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketAnalyticsConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketAnalyticsConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketAnalyticsConfigurationAsync(const PutBucketAnalyticsConfigurationRequest& request, const PutBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketAnalyticsConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketAnalyticsConfigurationAsyncHelper(const PutBucketAnalyticsConfigurationRequest& request, const PutBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketAnalyticsConfiguration(request), context); +} + +PutBucketCorsOutcome S3Client::PutBucketCors(const PutBucketCorsRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketCors", "Required field: Bucket, is not set"); + return PutBucketCorsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketCorsOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?cors"); + uri.SetQueryString(ss.str()); + return PutBucketCorsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketCorsOutcomeCallable S3Client::PutBucketCorsCallable(const PutBucketCorsRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketCorsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketCors(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketCorsAsync(const PutBucketCorsRequest& request, const PutBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketCorsAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketCorsAsyncHelper(const PutBucketCorsRequest& request, const PutBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketCors(request), context); +} + +PutBucketEncryptionOutcome S3Client::PutBucketEncryption(const PutBucketEncryptionRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketEncryption", "Required field: Bucket, is not set"); + return PutBucketEncryptionOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketEncryptionOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?encryption"); + uri.SetQueryString(ss.str()); + return PutBucketEncryptionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketEncryptionOutcomeCallable S3Client::PutBucketEncryptionCallable(const PutBucketEncryptionRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketEncryptionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketEncryption(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketEncryptionAsync(const PutBucketEncryptionRequest& request, const PutBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketEncryptionAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketEncryptionAsyncHelper(const PutBucketEncryptionRequest& request, const PutBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketEncryption(request), context); +} + +PutBucketIntelligentTieringConfigurationOutcome S3Client::PutBucketIntelligentTieringConfiguration(const PutBucketIntelligentTieringConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketIntelligentTieringConfiguration", "Required field: Bucket, is not set"); + return PutBucketIntelligentTieringConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketIntelligentTieringConfiguration", "Required field: Id, is not set"); + return PutBucketIntelligentTieringConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketIntelligentTieringConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?intelligent-tiering"); + uri.SetQueryString(ss.str()); + return PutBucketIntelligentTieringConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketIntelligentTieringConfigurationOutcomeCallable S3Client::PutBucketIntelligentTieringConfigurationCallable(const PutBucketIntelligentTieringConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketIntelligentTieringConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketIntelligentTieringConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketIntelligentTieringConfigurationAsync(const PutBucketIntelligentTieringConfigurationRequest& request, const PutBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketIntelligentTieringConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketIntelligentTieringConfigurationAsyncHelper(const PutBucketIntelligentTieringConfigurationRequest& request, const PutBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketIntelligentTieringConfiguration(request), context); +} + +PutBucketInventoryConfigurationOutcome S3Client::PutBucketInventoryConfiguration(const PutBucketInventoryConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketInventoryConfiguration", "Required field: Bucket, is not set"); + return PutBucketInventoryConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketInventoryConfiguration", "Required field: Id, is not set"); + return PutBucketInventoryConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketInventoryConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?inventory"); + uri.SetQueryString(ss.str()); + return PutBucketInventoryConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketInventoryConfigurationOutcomeCallable S3Client::PutBucketInventoryConfigurationCallable(const PutBucketInventoryConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketInventoryConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketInventoryConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketInventoryConfigurationAsync(const PutBucketInventoryConfigurationRequest& request, const PutBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketInventoryConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketInventoryConfigurationAsyncHelper(const PutBucketInventoryConfigurationRequest& request, const PutBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketInventoryConfiguration(request), context); +} + +PutBucketLifecycleConfigurationOutcome S3Client::PutBucketLifecycleConfiguration(const PutBucketLifecycleConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketLifecycleConfiguration", "Required field: Bucket, is not set"); + return PutBucketLifecycleConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketLifecycleConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?lifecycle"); + uri.SetQueryString(ss.str()); + return PutBucketLifecycleConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketLifecycleConfigurationOutcomeCallable S3Client::PutBucketLifecycleConfigurationCallable(const PutBucketLifecycleConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketLifecycleConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketLifecycleConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketLifecycleConfigurationAsync(const PutBucketLifecycleConfigurationRequest& request, const PutBucketLifecycleConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketLifecycleConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketLifecycleConfigurationAsyncHelper(const PutBucketLifecycleConfigurationRequest& request, const PutBucketLifecycleConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketLifecycleConfiguration(request), context); +} + +PutBucketLoggingOutcome S3Client::PutBucketLogging(const PutBucketLoggingRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketLogging", "Required field: Bucket, is not set"); + return PutBucketLoggingOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketLoggingOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?logging"); + uri.SetQueryString(ss.str()); + return PutBucketLoggingOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketLoggingOutcomeCallable S3Client::PutBucketLoggingCallable(const PutBucketLoggingRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketLoggingOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketLogging(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketLoggingAsync(const PutBucketLoggingRequest& request, const PutBucketLoggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketLoggingAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketLoggingAsyncHelper(const PutBucketLoggingRequest& request, const PutBucketLoggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketLogging(request), context); +} + +PutBucketMetricsConfigurationOutcome S3Client::PutBucketMetricsConfiguration(const PutBucketMetricsConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketMetricsConfiguration", "Required field: Bucket, is not set"); + return PutBucketMetricsConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketMetricsConfiguration", "Required field: Id, is not set"); + return PutBucketMetricsConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketMetricsConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?metrics"); + uri.SetQueryString(ss.str()); + return PutBucketMetricsConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketMetricsConfigurationOutcomeCallable S3Client::PutBucketMetricsConfigurationCallable(const PutBucketMetricsConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketMetricsConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketMetricsConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketMetricsConfigurationAsync(const PutBucketMetricsConfigurationRequest& request, const PutBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketMetricsConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketMetricsConfigurationAsyncHelper(const PutBucketMetricsConfigurationRequest& request, const PutBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketMetricsConfiguration(request), context); +} + +PutBucketNotificationConfigurationOutcome S3Client::PutBucketNotificationConfiguration(const PutBucketNotificationConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketNotificationConfiguration", "Required field: Bucket, is not set"); + return PutBucketNotificationConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketNotificationConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?notification"); + uri.SetQueryString(ss.str()); + return PutBucketNotificationConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketNotificationConfigurationOutcomeCallable S3Client::PutBucketNotificationConfigurationCallable(const PutBucketNotificationConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketNotificationConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketNotificationConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketNotificationConfigurationAsync(const PutBucketNotificationConfigurationRequest& request, const PutBucketNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketNotificationConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketNotificationConfigurationAsyncHelper(const PutBucketNotificationConfigurationRequest& request, const PutBucketNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketNotificationConfiguration(request), context); +} + +PutBucketOwnershipControlsOutcome S3Client::PutBucketOwnershipControls(const PutBucketOwnershipControlsRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketOwnershipControls", "Required field: Bucket, is not set"); + return PutBucketOwnershipControlsOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketOwnershipControlsOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?ownershipControls"); + uri.SetQueryString(ss.str()); + return PutBucketOwnershipControlsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketOwnershipControlsOutcomeCallable S3Client::PutBucketOwnershipControlsCallable(const PutBucketOwnershipControlsRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketOwnershipControlsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketOwnershipControls(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketOwnershipControlsAsync(const PutBucketOwnershipControlsRequest& request, const PutBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketOwnershipControlsAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketOwnershipControlsAsyncHelper(const PutBucketOwnershipControlsRequest& request, const PutBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketOwnershipControls(request), context); +} + +PutBucketPolicyOutcome S3Client::PutBucketPolicy(const PutBucketPolicyRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketPolicy", "Required field: Bucket, is not set"); + return PutBucketPolicyOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketPolicyOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?policy"); + uri.SetQueryString(ss.str()); + return PutBucketPolicyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketPolicyOutcomeCallable S3Client::PutBucketPolicyCallable(const PutBucketPolicyRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketPolicyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketPolicy(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketPolicyAsync(const PutBucketPolicyRequest& request, const PutBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketPolicyAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketPolicyAsyncHelper(const PutBucketPolicyRequest& request, const PutBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketPolicy(request), context); +} + +PutBucketReplicationOutcome S3Client::PutBucketReplication(const PutBucketReplicationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketReplication", "Required field: Bucket, is not set"); + return PutBucketReplicationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketReplicationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?replication"); + uri.SetQueryString(ss.str()); + return PutBucketReplicationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketReplicationOutcomeCallable S3Client::PutBucketReplicationCallable(const PutBucketReplicationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketReplicationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketReplication(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketReplicationAsync(const PutBucketReplicationRequest& request, const PutBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketReplicationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketReplicationAsyncHelper(const PutBucketReplicationRequest& request, const PutBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketReplication(request), context); +} + +PutBucketRequestPaymentOutcome S3Client::PutBucketRequestPayment(const PutBucketRequestPaymentRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketRequestPayment", "Required field: Bucket, is not set"); + return PutBucketRequestPaymentOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketRequestPaymentOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?requestPayment"); + uri.SetQueryString(ss.str()); + return PutBucketRequestPaymentOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketRequestPaymentOutcomeCallable S3Client::PutBucketRequestPaymentCallable(const PutBucketRequestPaymentRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketRequestPaymentOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketRequestPayment(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketRequestPaymentAsync(const PutBucketRequestPaymentRequest& request, const PutBucketRequestPaymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketRequestPaymentAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketRequestPaymentAsyncHelper(const PutBucketRequestPaymentRequest& request, const PutBucketRequestPaymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketRequestPayment(request), context); +} + +PutBucketTaggingOutcome S3Client::PutBucketTagging(const PutBucketTaggingRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketTagging", "Required field: Bucket, is not set"); + return PutBucketTaggingOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketTaggingOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?tagging"); + uri.SetQueryString(ss.str()); + return PutBucketTaggingOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketTaggingOutcomeCallable S3Client::PutBucketTaggingCallable(const PutBucketTaggingRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketTaggingOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketTagging(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketTaggingAsync(const PutBucketTaggingRequest& request, const PutBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketTaggingAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketTaggingAsyncHelper(const PutBucketTaggingRequest& request, const PutBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketTagging(request), context); +} + +PutBucketVersioningOutcome S3Client::PutBucketVersioning(const PutBucketVersioningRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketVersioning", "Required field: Bucket, is not set"); + return PutBucketVersioningOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketVersioningOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?versioning"); + uri.SetQueryString(ss.str()); + return PutBucketVersioningOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketVersioningOutcomeCallable S3Client::PutBucketVersioningCallable(const PutBucketVersioningRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketVersioningOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketVersioning(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketVersioningAsync(const PutBucketVersioningRequest& request, const PutBucketVersioningResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketVersioningAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketVersioningAsyncHelper(const PutBucketVersioningRequest& request, const PutBucketVersioningResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketVersioning(request), context); +} + +PutBucketWebsiteOutcome S3Client::PutBucketWebsite(const PutBucketWebsiteRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutBucketWebsite", "Required field: Bucket, is not set"); + return PutBucketWebsiteOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutBucketWebsiteOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?website"); + uri.SetQueryString(ss.str()); + return PutBucketWebsiteOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutBucketWebsiteOutcomeCallable S3Client::PutBucketWebsiteCallable(const PutBucketWebsiteRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutBucketWebsiteOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBucketWebsite(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutBucketWebsiteAsync(const PutBucketWebsiteRequest& request, const PutBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutBucketWebsiteAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutBucketWebsiteAsyncHelper(const PutBucketWebsiteRequest& request, const PutBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutBucketWebsite(request), context); +} + +PutObjectOutcome S3Client::PutObject(const PutObjectRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutObject", "Required field: Bucket, is not set"); + return PutObjectOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutObject", "Required field: Key, is not set"); + return PutObjectOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutObjectOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + return PutObjectOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutObjectOutcomeCallable S3Client::PutObjectCallable(const PutObjectRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutObjectOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutObject(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutObjectAsync(const PutObjectRequest& request, const PutObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutObjectAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutObjectAsyncHelper(const PutObjectRequest& request, const PutObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutObject(request), context); +} + +PutObjectAclOutcome S3Client::PutObjectAcl(const PutObjectAclRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutObjectAcl", "Required field: Bucket, is not set"); + return PutObjectAclOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutObjectAcl", "Required field: Key, is not set"); + return PutObjectAclOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutObjectAclOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + ss.str("?acl"); + uri.SetQueryString(ss.str()); + return PutObjectAclOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutObjectAclOutcomeCallable S3Client::PutObjectAclCallable(const PutObjectAclRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutObjectAclOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutObjectAcl(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutObjectAclAsync(const PutObjectAclRequest& request, const PutObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutObjectAclAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutObjectAclAsyncHelper(const PutObjectAclRequest& request, const PutObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutObjectAcl(request), context); +} + +PutObjectLegalHoldOutcome S3Client::PutObjectLegalHold(const PutObjectLegalHoldRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutObjectLegalHold", "Required field: Bucket, is not set"); + return PutObjectLegalHoldOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutObjectLegalHold", "Required field: Key, is not set"); + return PutObjectLegalHoldOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutObjectLegalHoldOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + ss.str("?legal-hold"); + uri.SetQueryString(ss.str()); + return PutObjectLegalHoldOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutObjectLegalHoldOutcomeCallable S3Client::PutObjectLegalHoldCallable(const PutObjectLegalHoldRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutObjectLegalHoldOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutObjectLegalHold(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutObjectLegalHoldAsync(const PutObjectLegalHoldRequest& request, const PutObjectLegalHoldResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutObjectLegalHoldAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutObjectLegalHoldAsyncHelper(const PutObjectLegalHoldRequest& request, const PutObjectLegalHoldResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutObjectLegalHold(request), context); +} + +PutObjectLockConfigurationOutcome S3Client::PutObjectLockConfiguration(const PutObjectLockConfigurationRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutObjectLockConfiguration", "Required field: Bucket, is not set"); + return PutObjectLockConfigurationOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutObjectLockConfigurationOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?object-lock"); + uri.SetQueryString(ss.str()); + return PutObjectLockConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutObjectLockConfigurationOutcomeCallable S3Client::PutObjectLockConfigurationCallable(const PutObjectLockConfigurationRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutObjectLockConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutObjectLockConfiguration(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutObjectLockConfigurationAsync(const PutObjectLockConfigurationRequest& request, const PutObjectLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutObjectLockConfigurationAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutObjectLockConfigurationAsyncHelper(const PutObjectLockConfigurationRequest& request, const PutObjectLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutObjectLockConfiguration(request), context); +} + +PutObjectRetentionOutcome S3Client::PutObjectRetention(const PutObjectRetentionRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutObjectRetention", "Required field: Bucket, is not set"); + return PutObjectRetentionOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutObjectRetention", "Required field: Key, is not set"); + return PutObjectRetentionOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutObjectRetentionOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + ss.str("?retention"); + uri.SetQueryString(ss.str()); + return PutObjectRetentionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutObjectRetentionOutcomeCallable S3Client::PutObjectRetentionCallable(const PutObjectRetentionRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutObjectRetentionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutObjectRetention(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutObjectRetentionAsync(const PutObjectRetentionRequest& request, const PutObjectRetentionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutObjectRetentionAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutObjectRetentionAsyncHelper(const PutObjectRetentionRequest& request, const PutObjectRetentionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutObjectRetention(request), context); +} + +PutObjectTaggingOutcome S3Client::PutObjectTagging(const PutObjectTaggingRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutObjectTagging", "Required field: Bucket, is not set"); + return PutObjectTaggingOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutObjectTagging", "Required field: Key, is not set"); + return PutObjectTaggingOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutObjectTaggingOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + ss.str("?tagging"); + uri.SetQueryString(ss.str()); + return PutObjectTaggingOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutObjectTaggingOutcomeCallable S3Client::PutObjectTaggingCallable(const PutObjectTaggingRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutObjectTaggingOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutObjectTagging(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutObjectTaggingAsync(const PutObjectTaggingRequest& request, const PutObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutObjectTaggingAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutObjectTaggingAsyncHelper(const PutObjectTaggingRequest& request, const PutObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutObjectTagging(request), context); +} + +PutPublicAccessBlockOutcome S3Client::PutPublicAccessBlock(const PutPublicAccessBlockRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutPublicAccessBlock", "Required field: Bucket, is not set"); + return PutPublicAccessBlockOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return PutPublicAccessBlockOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss.str("?publicAccessBlock"); + uri.SetQueryString(ss.str()); + return PutPublicAccessBlockOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +PutPublicAccessBlockOutcomeCallable S3Client::PutPublicAccessBlockCallable(const PutPublicAccessBlockRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< PutPublicAccessBlockOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutPublicAccessBlock(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::PutPublicAccessBlockAsync(const PutPublicAccessBlockRequest& request, const PutPublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->PutPublicAccessBlockAsyncHelper( request, handler, context ); } ); +} + +void S3Client::PutPublicAccessBlockAsyncHelper(const PutPublicAccessBlockRequest& request, const PutPublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, PutPublicAccessBlock(request), context); +} + +RestoreObjectOutcome S3Client::RestoreObject(const RestoreObjectRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RestoreObject", "Required field: Bucket, is not set"); + return RestoreObjectOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RestoreObject", "Required field: Key, is not set"); + return RestoreObjectOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return RestoreObjectOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + ss.str("?restore"); + uri.SetQueryString(ss.str()); + return RestoreObjectOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +RestoreObjectOutcomeCallable S3Client::RestoreObjectCallable(const RestoreObjectRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< RestoreObjectOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->RestoreObject(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::RestoreObjectAsync(const RestoreObjectRequest& request, const RestoreObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->RestoreObjectAsyncHelper( request, handler, context ); } ); +} + +void S3Client::RestoreObjectAsyncHelper(const RestoreObjectRequest& request, const RestoreObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, RestoreObject(request), context); +} + +SelectObjectContentOutcome S3Client::SelectObjectContent(SelectObjectContentRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("SelectObjectContent", "Required field: Bucket, is not set"); + return SelectObjectContentOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("SelectObjectContent", "Required field: Key, is not set"); + return SelectObjectContentOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return SelectObjectContentOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + ss.str("?select&select-type=2"); + uri.SetQueryString(ss.str()); + request.SetResponseStreamFactory( + [&] { request.GetEventStreamDecoder().Reset(); return Aws::New<Aws::Utils::Event::EventDecoderStream>(ALLOCATION_TAG, request.GetEventStreamDecoder()); } + ); + return SelectObjectContentOutcome(MakeRequestWithEventStream(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +SelectObjectContentOutcomeCallable S3Client::SelectObjectContentCallable(SelectObjectContentRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< SelectObjectContentOutcome() > >(ALLOCATION_TAG, [this, &request](){ return this->SelectObjectContent(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::SelectObjectContentAsync(SelectObjectContentRequest& request, const SelectObjectContentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, &request, handler, context](){ this->SelectObjectContentAsyncHelper( request, handler, context ); } ); +} + +void S3Client::SelectObjectContentAsyncHelper(SelectObjectContentRequest& request, const SelectObjectContentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, SelectObjectContent(request), context); +} + +UploadPartOutcome S3Client::UploadPart(const UploadPartRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UploadPart", "Required field: Bucket, is not set"); + return UploadPartOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UploadPart", "Required field: Key, is not set"); + return UploadPartOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + if (!request.PartNumberHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UploadPart", "Required field: PartNumber, is not set"); + return UploadPartOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [PartNumber]", false)); + } + if (!request.UploadIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UploadPart", "Required field: UploadId, is not set"); + return UploadPartOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [UploadId]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return UploadPartOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + return UploadPartOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +UploadPartOutcomeCallable S3Client::UploadPartCallable(const UploadPartRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< UploadPartOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UploadPart(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::UploadPartAsync(const UploadPartRequest& request, const UploadPartResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->UploadPartAsyncHelper( request, handler, context ); } ); +} + +void S3Client::UploadPartAsyncHelper(const UploadPartRequest& request, const UploadPartResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, UploadPart(request), context); +} + +UploadPartCopyOutcome S3Client::UploadPartCopy(const UploadPartCopyRequest& request) const +{ + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UploadPartCopy", "Required field: Bucket, is not set"); + return UploadPartCopyOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.CopySourceHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UploadPartCopy", "Required field: CopySource, is not set"); + return UploadPartCopyOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [CopySource]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UploadPartCopy", "Required field: Key, is not set"); + return UploadPartCopyOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + if (!request.PartNumberHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UploadPartCopy", "Required field: PartNumber, is not set"); + return UploadPartCopyOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [PartNumber]", false)); + } + if (!request.UploadIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UploadPartCopy", "Required field: UploadId, is not set"); + return UploadPartCopyOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [UploadId]", false)); + } + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(request.GetBucket()); + if (!computeEndpointOutcome.IsSuccess()) + { + return UploadPartCopyOutcome(computeEndpointOutcome.GetError()); + } + Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; + Aws::StringStream ss; + ss << "/"; + ss << request.GetKey(); + uri.SetPath(uri.GetPath() + ss.str()); + return UploadPartCopyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); +} + +UploadPartCopyOutcomeCallable S3Client::UploadPartCopyCallable(const UploadPartCopyRequest& request) const +{ + auto task = Aws::MakeShared< std::packaged_task< UploadPartCopyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UploadPartCopy(request); } ); + auto packagedFunction = [task]() { (*task)(); }; + m_executor->Submit(packagedFunction); + return task->get_future(); +} + +void S3Client::UploadPartCopyAsync(const UploadPartCopyRequest& request, const UploadPartCopyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + m_executor->Submit( [this, request, handler, context](){ this->UploadPartCopyAsyncHelper( request, handler, context ); } ); +} + +void S3Client::UploadPartCopyAsyncHelper(const UploadPartCopyRequest& request, const UploadPartCopyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +{ + handler(this, request, UploadPartCopy(request), context); +} + + + +#include<aws/core/platform/Environment.h> + +static const char US_EAST_1_REGIONAL_ENDPOINT_ENV_VAR[] = "AWS_S3_US_EAST_1_REGIONAL_ENDPOINT"; +static const char US_EAST_1_REGIONAL_ENDPOINT_CONFIG_VAR[] = "s3_us_east_1_regional_endpoint"; +static const char S3_USE_ARN_REGION_ENVIRONMENT_VARIABLE[] = "AWS_S3_USE_ARN_REGION"; +static const char S3_USE_ARN_REGION_CONFIG_FILE_OPTION[] = "s3_use_arn_region"; + +void S3Client::LoadS3SpecificConfig(const Aws::String& profile) +{ + if (m_USEast1RegionalEndpointOption == Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET) + { + Aws::String option = Aws::Environment::GetEnv(US_EAST_1_REGIONAL_ENDPOINT_ENV_VAR); + if (option.empty()) + { + option = Aws::Config::GetCachedConfigValue(profile, US_EAST_1_REGIONAL_ENDPOINT_CONFIG_VAR); + } + + if (Aws::Utils::StringUtils::ToLower(option.c_str()) == "legacy") + { + m_USEast1RegionalEndpointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::LEGACY; + } + else // defaults is regional + { + m_USEast1RegionalEndpointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::REGIONAL; + } + } + + Aws::String s3UseArnRegion = Aws::Environment::GetEnv(S3_USE_ARN_REGION_ENVIRONMENT_VARIABLE); + if (s3UseArnRegion.empty()) + { + s3UseArnRegion = Aws::Config::GetCachedConfigValue(profile, S3_USE_ARN_REGION_CONFIG_FILE_OPTION); + } + + if (s3UseArnRegion == "true") + { + m_useArnRegion = true; + } + else + { + if (!s3UseArnRegion.empty() && s3UseArnRegion != "false") + { + AWS_LOGSTREAM_WARN("S3Client", "AWS_S3_USE_ARN_REGION in environment variables or s3_use_arn_region in config file" + << "should either be true of false if specified, otherwise turn off this flag by default."); + } + m_useArnRegion = false; + } +} + +#include<aws/core/utils/HashingUtils.h> +Aws::String S3Client::GeneratePresignedUrl(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, long long expirationInSeconds) +{ + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(bucket); + if (!computeEndpointOutcome.IsSuccess()) + { + AWS_LOGSTREAM_ERROR(ALLOCATION_TAG, "Presigned URL generating failed. Encountered error: " << computeEndpointOutcome.GetError()); + return {}; + } + Aws::StringStream ss; + ss << computeEndpointOutcome.GetResult().endpoint << "/" << key; + URI uri(ss.str()); + return AWSClient::GeneratePresignedUrl(uri, method, computeEndpointOutcome.GetResult().signerRegion.c_str(), computeEndpointOutcome.GetResult().signerServiceName.c_str(), expirationInSeconds); +} + +Aws::String S3Client::GeneratePresignedUrl(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, const Http::HeaderValueCollection& customizedHeaders, long long expirationInSeconds) +{ + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(bucket); + if (!computeEndpointOutcome.IsSuccess()) + { + AWS_LOGSTREAM_ERROR(ALLOCATION_TAG, "Presigned URL generating failed. Encountered error: " << computeEndpointOutcome.GetError()); + return {}; + } + Aws::StringStream ss; + ss << computeEndpointOutcome.GetResult().endpoint << "/" << key; + URI uri(ss.str()); + return AWSClient::GeneratePresignedUrl(uri, method, computeEndpointOutcome.GetResult().signerRegion.c_str(), computeEndpointOutcome.GetResult().signerServiceName.c_str(), customizedHeaders, expirationInSeconds); +} + +Aws::String S3Client::GeneratePresignedUrlWithSSES3(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, long long expirationInSeconds) +{ + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(bucket); + if (!computeEndpointOutcome.IsSuccess()) + { + AWS_LOGSTREAM_ERROR(ALLOCATION_TAG, "Presigned URL generating failed. Encountered error: " << computeEndpointOutcome.GetError()); + return {}; + } + Aws::StringStream ss; + ss << computeEndpointOutcome.GetResult().endpoint << "/" << key; + URI uri(ss.str()); + Aws::Http::HeaderValueCollection headers; + headers.emplace(Aws::S3::SSEHeaders::SERVER_SIDE_ENCRYPTION, Aws::S3::Model::ServerSideEncryptionMapper::GetNameForServerSideEncryption(Aws::S3::Model::ServerSideEncryption::AES256)); + return AWSClient::GeneratePresignedUrl(uri, method, computeEndpointOutcome.GetResult().signerRegion.c_str(), computeEndpointOutcome.GetResult().signerServiceName.c_str(), headers, expirationInSeconds); +} + +Aws::String S3Client::GeneratePresignedUrlWithSSES3(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, Http::HeaderValueCollection customizedHeaders, long long expirationInSeconds) +{ + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(bucket); + if (!computeEndpointOutcome.IsSuccess()) + { + AWS_LOGSTREAM_ERROR(ALLOCATION_TAG, "Presigned URL generating failed. Encountered error: " << computeEndpointOutcome.GetError()); + return {}; + } + Aws::StringStream ss; + ss << computeEndpointOutcome.GetResult().endpoint << "/" << key; + URI uri(ss.str()); + customizedHeaders.emplace(Aws::S3::SSEHeaders::SERVER_SIDE_ENCRYPTION, Aws::S3::Model::ServerSideEncryptionMapper::GetNameForServerSideEncryption(Aws::S3::Model::ServerSideEncryption::AES256)); + return AWSClient::GeneratePresignedUrl(uri, method, computeEndpointOutcome.GetResult().signerRegion.c_str(), computeEndpointOutcome.GetResult().signerServiceName.c_str(), customizedHeaders, expirationInSeconds); +} + +Aws::String S3Client::GeneratePresignedUrlWithSSEKMS(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, const Aws::String& kmsMasterKeyId, long long expirationInSeconds) +{ + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(bucket); + if (!computeEndpointOutcome.IsSuccess()) + { + AWS_LOGSTREAM_ERROR(ALLOCATION_TAG, "Presigned URL generating failed. Encountered error: " << computeEndpointOutcome.GetError()); + return {}; + } + Aws::StringStream ss; + ss << computeEndpointOutcome.GetResult().endpoint << "/" << key; + URI uri(ss.str()); + Aws::Http::HeaderValueCollection headers; + headers.emplace(Aws::S3::SSEHeaders::SERVER_SIDE_ENCRYPTION, Aws::S3::Model::ServerSideEncryptionMapper::GetNameForServerSideEncryption(Aws::S3::Model::ServerSideEncryption::aws_kms)); + headers.emplace(Aws::S3::SSEHeaders::SERVER_SIDE_ENCRYPTION_AWS_KMS_KEY_ID, kmsMasterKeyId); + return AWSClient::GeneratePresignedUrl(uri, method, computeEndpointOutcome.GetResult().signerRegion.c_str(), computeEndpointOutcome.GetResult().signerServiceName.c_str(), headers, expirationInSeconds); +} + +Aws::String S3Client::GeneratePresignedUrlWithSSEKMS(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, Http::HeaderValueCollection customizedHeaders, const Aws::String& kmsMasterKeyId, long long expirationInSeconds) +{ + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(bucket); + if (!computeEndpointOutcome.IsSuccess()) + { + AWS_LOGSTREAM_ERROR(ALLOCATION_TAG, "Presigned URL generating failed. Encountered error: " << computeEndpointOutcome.GetError()); + return {}; + } + Aws::StringStream ss; + ss << computeEndpointOutcome.GetResult().endpoint << "/" << key; + URI uri(ss.str()); + customizedHeaders.emplace(Aws::S3::SSEHeaders::SERVER_SIDE_ENCRYPTION, Aws::S3::Model::ServerSideEncryptionMapper::GetNameForServerSideEncryption(Aws::S3::Model::ServerSideEncryption::aws_kms)); + customizedHeaders.emplace(Aws::S3::SSEHeaders::SERVER_SIDE_ENCRYPTION_AWS_KMS_KEY_ID, kmsMasterKeyId); + return AWSClient::GeneratePresignedUrl(uri, method, computeEndpointOutcome.GetResult().signerRegion.c_str(), computeEndpointOutcome.GetResult().signerServiceName.c_str(), customizedHeaders, expirationInSeconds); +} + +Aws::String S3Client::GeneratePresignedUrlWithSSEC(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, const Aws::String& base64EncodedAES256Key, long long expirationInSeconds) +{ + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(bucket); + if (!computeEndpointOutcome.IsSuccess()) + { + AWS_LOGSTREAM_ERROR(ALLOCATION_TAG, "Presigned URL generating failed. Encountered error: " << computeEndpointOutcome.GetError()); + return {}; + } + Aws::StringStream ss; + ss << computeEndpointOutcome.GetResult().endpoint << "/" << key; + URI uri(ss.str()); + Aws::Http::HeaderValueCollection headers; + headers.emplace(Aws::S3::SSEHeaders::SERVER_SIDE_ENCRYPTION_CUSTOMER_ALGORITHM, Aws::S3::Model::ServerSideEncryptionMapper::GetNameForServerSideEncryption(Aws::S3::Model::ServerSideEncryption::AES256)); + headers.emplace(Aws::S3::SSEHeaders::SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY, base64EncodedAES256Key); + Aws::Utils::ByteBuffer buffer = Aws::Utils::HashingUtils::Base64Decode(base64EncodedAES256Key); + Aws::String strBuffer(reinterpret_cast<char*>(buffer.GetUnderlyingData()), buffer.GetLength()); + headers.emplace(Aws::S3::SSEHeaders::SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY_MD5, Aws::Utils::HashingUtils::Base64Encode(Aws::Utils::HashingUtils::CalculateMD5(strBuffer))); + return AWSClient::GeneratePresignedUrl(uri, method, computeEndpointOutcome.GetResult().signerRegion.c_str(), computeEndpointOutcome.GetResult().signerServiceName.c_str(), headers, expirationInSeconds); +} + +Aws::String S3Client::GeneratePresignedUrlWithSSEC(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, Http::HeaderValueCollection customizedHeaders, const Aws::String& base64EncodedAES256Key, long long expirationInSeconds) +{ + ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(bucket); + if (!computeEndpointOutcome.IsSuccess()) + { + AWS_LOGSTREAM_ERROR(ALLOCATION_TAG, "Presigned URL generating failed. Encountered error: " << computeEndpointOutcome.GetError()); + return {}; + } + Aws::StringStream ss; + ss << computeEndpointOutcome.GetResult().endpoint << "/" << key; + URI uri(ss.str()); + customizedHeaders.emplace(Aws::S3::SSEHeaders::SERVER_SIDE_ENCRYPTION_CUSTOMER_ALGORITHM, Aws::S3::Model::ServerSideEncryptionMapper::GetNameForServerSideEncryption(Aws::S3::Model::ServerSideEncryption::AES256)); + customizedHeaders.emplace(Aws::S3::SSEHeaders::SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY, base64EncodedAES256Key); + Aws::Utils::ByteBuffer buffer = Aws::Utils::HashingUtils::Base64Decode(base64EncodedAES256Key); + Aws::String strBuffer(reinterpret_cast<char*>(buffer.GetUnderlyingData()), buffer.GetLength()); + customizedHeaders.emplace(Aws::S3::SSEHeaders::SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY_MD5, Aws::Utils::HashingUtils::Base64Encode(Aws::Utils::HashingUtils::CalculateMD5(strBuffer))); + return AWSClient::GeneratePresignedUrl(uri, method, computeEndpointOutcome.GetResult().signerRegion.c_str(), computeEndpointOutcome.GetResult().signerServiceName.c_str(), customizedHeaders, expirationInSeconds); +} + +ComputeEndpointOutcome S3Client::ComputeEndpointString(const Aws::String& bucketOrArn) const +{ + Aws::StringStream ss; + ss << m_scheme << "://"; + Aws::String bucket = bucketOrArn; + Aws::String signerRegion = Aws::Region::ComputeSignerRegion(m_region); + S3ARN arn(bucketOrArn); + + if (arn) + { + if (m_useCustomEndpoint) + { + return ComputeEndpointOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::VALIDATION, "VALIDATION", + "Custom endpoint is not compatible with Access Point ARN or Outposts ARN in Bucket field.", false)); + } + + if (!m_useVirtualAddressing) + { + return ComputeEndpointOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::VALIDATION, "VALIDATION", + "Path style addressing is not compatible with Access Point ARN or Outposts ARN in Bucket field, please consider using virtual addressing for this client instead.", false)); + } + + S3ARNOutcome s3ArnOutcome = m_useArnRegion ? arn.Validate() : arn.Validate(m_region.c_str()); + if (!s3ArnOutcome.IsSuccess()) + { + return ComputeEndpointOutcome(s3ArnOutcome.GetError()); + } + signerRegion = m_useArnRegion ? arn.GetRegion() : signerRegion; + if (arn.GetResourceType() == ARNResourceType::ACCESSPOINT) + { + ss << S3Endpoint::ForAccessPointArn(arn, m_useArnRegion ? "" : m_region, m_useDualStack); + return ComputeEndpointOutcome(ComputeEndpointResult(ss.str(), signerRegion, SERVICE_NAME)); + } + else if (arn.GetResourceType() == ARNResourceType::OUTPOST) + { + if (m_useDualStack) + { + return ComputeEndpointOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::VALIDATION, "VALIDATION", + "Outposts Access Points do not support dualstack right now.", false)); + } + ss << S3Endpoint::ForOutpostsArn(arn, m_useArnRegion ? "" : m_region); + return ComputeEndpointOutcome(ComputeEndpointResult(ss.str(), signerRegion, "s3-outposts")); + } + } + + // when using virtual hosting of buckets, the bucket name has to follow some rules. + // Mainly, it has to be a valid DNS label, and it must be lowercase. + // For more information see http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket + if(m_useVirtualAddressing && Aws::Utils::IsValidDnsLabel(bucket) && + bucket == Aws::Utils::StringUtils::ToLower(bucket.c_str())) + { + ss << bucket << "." << m_baseUri; + } + else + { + ss << m_baseUri << "/" << bucket; + } + + return ComputeEndpointOutcome(ComputeEndpointResult(ss.str(), signerRegion, SERVICE_NAME)); +} + +ComputeEndpointOutcome S3Client::ComputeEndpointString() const +{ + Aws::StringStream ss; + ss << m_scheme << "://" << m_baseUri; + return ComputeEndpointOutcome(ComputeEndpointResult(ss.str(), Aws::Region::ComputeSignerRegion(m_region), SERVICE_NAME)); +} + +bool S3Client::MultipartUploadSupported() const +{ + return true; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Endpoint.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Endpoint.cpp new file mode 100644 index 0000000000..c81556085f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Endpoint.cpp @@ -0,0 +1,133 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/S3Endpoint.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/utils/HashingUtils.h> + +using namespace Aws; +using namespace Aws::S3; + +namespace Aws +{ +namespace S3 +{ +namespace S3Endpoint +{ + static const int CN_NORTH_1_HASH = Aws::Utils::HashingUtils::HashString("cn-north-1"); + static const int CN_NORTHWEST_1_HASH = Aws::Utils::HashingUtils::HashString("cn-northwest-1"); + static const int US_ISO_EAST_1_HASH = Aws::Utils::HashingUtils::HashString("us-iso-east-1"); + static const int US_ISOB_EAST_1_HASH = Aws::Utils::HashingUtils::HashString("us-isob-east-1"); + + static const int FIPS_US_GOV_WEST_1_HASH = Aws::Utils::HashingUtils::HashString("fips-us-gov-west-1"); + static const int US_GOV_WEST_1_HASH = Aws::Utils::HashingUtils::HashString("us-gov-west-1"); + static const int US_GOV_EAST_1_HASH = Aws::Utils::HashingUtils::HashString("us-gov-east-1"); + static const int US_EAST_1_HASH = Aws::Utils::HashingUtils::HashString("us-east-1"); + static const int AWS_GLOBAL_HASH = Aws::Utils::HashingUtils::HashString("aws-global"); + + Aws::String ForAccessPointArn(const S3ARN& arn, const Aws::String& regionNameOverride, bool useDualStack) + { + const Aws::String& region = regionNameOverride.empty() ? arn.GetRegion() : regionNameOverride; + auto hash = Aws::Utils::HashingUtils::HashString(region.c_str()); + + Aws::StringStream ss; + ss << arn.GetResourceId() << "-" << arn.GetAccountId() << ".s3-accesspoint."; + if (useDualStack) + { + ss << "dualstack."; + } + ss << region << "." << "amazonaws.com"; + + if (hash == CN_NORTH_1_HASH || hash == CN_NORTHWEST_1_HASH) + { + ss << ".cn"; + } + + return ss.str(); + } + + Aws::String ForOutpostsArn(const S3ARN& arn, const Aws::String& regionNameOverride) + { + const Aws::String& region = regionNameOverride.empty() ? arn.GetRegion() : regionNameOverride; + auto hash = Aws::Utils::HashingUtils::HashString(region.c_str()); + + Aws::StringStream ss; + ss << arn.GetSubResourceId() << "-" << arn.GetAccountId() << "." << arn.GetResourceId() << ".s3-outposts." << region << "." << "amazonaws.com"; + + if (hash == CN_NORTH_1_HASH || hash == CN_NORTHWEST_1_HASH) + { + ss << ".cn"; + } + + return ss.str(); + } + + Aws::String ForRegion(const Aws::String& regionName, bool useDualStack, bool USEast1UseRegionalEndpoint) + { + auto hash = Aws::Utils::HashingUtils::HashString(regionName.c_str()); + + if(!useDualStack) + { + if(hash == FIPS_US_GOV_WEST_1_HASH) + { + return "s3-fips-us-gov-west-1.amazonaws.com"; + } + if(hash == US_GOV_WEST_1_HASH) + { + return "s3.us-gov-west-1.amazonaws.com"; + } + if(hash == US_GOV_EAST_1_HASH) + { + return "s3.us-gov-east-1.amazonaws.com"; + } + if (hash == AWS_GLOBAL_HASH) + { + return "s3.amazonaws.com"; + } + if(hash == US_EAST_1_HASH) + { + if (USEast1UseRegionalEndpoint) + { + return "s3.us-east-1.amazonaws.com"; + } + else + { + return "s3.amazonaws.com"; + } + } + } + Aws::StringStream ss; + ss << "s3" << "."; + + if(useDualStack) + { + ss << "dualstack."; + } + + ss << regionName; + + if (hash == CN_NORTH_1_HASH || hash == CN_NORTHWEST_1_HASH) + { + ss << ".amazonaws.com.cn"; + } + else if (hash == US_ISO_EAST_1_HASH) + { + ss << ".c2s.ic.gov"; + } + else if (hash == US_ISOB_EAST_1_HASH) + { + ss << ".sc2s.sgov.gov"; + } + else + { + ss << ".amazonaws.com"; + } + + return ss.str(); + } + +} // namespace S3Endpoint +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ErrorMarshaller.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ErrorMarshaller.cpp new file mode 100644 index 0000000000..4fb648da25 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ErrorMarshaller.cpp @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/core/client/AWSError.h> +#include <aws/s3/S3ErrorMarshaller.h> +#include <aws/s3/S3Errors.h> + +using namespace Aws::Client; +using namespace Aws::S3; + +AWSError<CoreErrors> S3ErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError<CoreErrors> error = S3ErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} + +Aws::String S3ErrorMarshaller::ExtractRegion(const AWSError<CoreErrors>& error) const +{ + const auto& headers = error.GetResponseHeaders(); + const auto& iter = headers.find("x-amz-bucket-region"); + if (iter != headers.end()) + { + return iter->second; + } + + const Aws::Utils::Xml::XmlDocument& xmlDocument = GetXmlPayloadFromError(error); + Aws::Utils::Xml::XmlNode xmlNode = xmlDocument.GetRootElement(); + if (!xmlNode.IsNull()) + { + Aws::Utils::Xml::XmlNode regionNode = xmlNode.FirstChild("Region"); + if (!regionNode.IsNull()) + { + return regionNode.GetText().c_str(); + } + } + + // as a last choice, try finding region from endpoint. + const auto& locIter = headers.find("location"); + if (locIter != headers.end()) + { + Aws::Http::URI uri(locIter->second); + auto authority = uri.GetAuthority(); + // virtual address example: <bucketname>.<[s3-]region>.amazonaws.com + // path style example: <[s3]-region>.amazonaws.com/<bucketname> + auto pos = authority.find(".amazonaws.com"); + if (pos == 0 || pos == std::string::npos) + { + return {}; + } + auto endPos = pos - 1; + while (pos > 0 && authority[pos - 1] != '.') + { + pos--; + } + auto region = authority.substr(pos, endPos + 1 - pos); + if (region.compare(0, 3, "s3-") == 0) + { + region = region.substr(3); + } + if (region.compare(0, 5, "fips-") == 0) + { + region = region.substr(5); + } + return region; + } + return {}; +} + +Aws::String S3ErrorMarshaller::ExtractEndpoint(const AWSError<CoreErrors>& error) const +{ + const auto& headers = error.GetResponseHeaders(); + const auto& iter = headers.find("location"); + if (iter != headers.end()) + { + Aws::Http::URI uri(iter->second); + return uri.GetAuthority(); + } + + const Aws::Utils::Xml::XmlDocument& xmlDocument = GetXmlPayloadFromError(error); + Aws::Utils::Xml::XmlNode xmlNode = xmlDocument.GetRootElement(); + if (!xmlNode.IsNull()) + { + Aws::Utils::Xml::XmlNode endpointNode = xmlNode.FirstChild("Endpoint"); + if (!endpointNode.IsNull()) + { + Aws::Http::URI uri(endpointNode.GetText().c_str()); + return uri.GetAuthority(); + } + } + + return {}; +}
\ No newline at end of file diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Errors.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Errors.cpp new file mode 100644 index 0000000000..cf227c9210 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Errors.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/core/client/AWSError.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/s3/S3Errors.h> +#include <aws/s3/model/InvalidObjectState.h> + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::S3; +using namespace Aws::S3::Model; + +namespace Aws +{ +namespace S3 +{ +template<> AWS_S3_API InvalidObjectState S3Error::GetModeledError() +{ + assert(this->GetErrorType() == S3Errors::INVALID_OBJECT_STATE); + return InvalidObjectState(this->GetXmlPayload().GetRootElement()); +} + +namespace S3ErrorMapper +{ + +static const int NO_SUCH_UPLOAD_HASH = HashingUtils::HashString("NoSuchUpload"); +static const int BUCKET_ALREADY_OWNED_BY_YOU_HASH = HashingUtils::HashString("BucketAlreadyOwnedByYou"); +static const int OBJECT_ALREADY_IN_ACTIVE_TIER_HASH = HashingUtils::HashString("ObjectAlreadyInActiveTierError"); +static const int NO_SUCH_BUCKET_HASH = HashingUtils::HashString("NoSuchBucket"); +static const int NO_SUCH_KEY_HASH = HashingUtils::HashString("NoSuchKey"); +static const int OBJECT_NOT_IN_ACTIVE_TIER_HASH = HashingUtils::HashString("ObjectNotInActiveTierError"); +static const int BUCKET_ALREADY_EXISTS_HASH = HashingUtils::HashString("BucketAlreadyExists"); +static const int INVALID_OBJECT_STATE_HASH = HashingUtils::HashString("InvalidObjectState"); + + +AWSError<CoreErrors> GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == NO_SUCH_UPLOAD_HASH) + { + return AWSError<CoreErrors>(static_cast<CoreErrors>(S3Errors::NO_SUCH_UPLOAD), false); + } + else if (hashCode == BUCKET_ALREADY_OWNED_BY_YOU_HASH) + { + return AWSError<CoreErrors>(static_cast<CoreErrors>(S3Errors::BUCKET_ALREADY_OWNED_BY_YOU), false); + } + else if (hashCode == OBJECT_ALREADY_IN_ACTIVE_TIER_HASH) + { + return AWSError<CoreErrors>(static_cast<CoreErrors>(S3Errors::OBJECT_ALREADY_IN_ACTIVE_TIER), false); + } + else if (hashCode == NO_SUCH_BUCKET_HASH) + { + return AWSError<CoreErrors>(static_cast<CoreErrors>(S3Errors::NO_SUCH_BUCKET), false); + } + else if (hashCode == NO_SUCH_KEY_HASH) + { + return AWSError<CoreErrors>(static_cast<CoreErrors>(S3Errors::NO_SUCH_KEY), false); + } + else if (hashCode == OBJECT_NOT_IN_ACTIVE_TIER_HASH) + { + return AWSError<CoreErrors>(static_cast<CoreErrors>(S3Errors::OBJECT_NOT_IN_ACTIVE_TIER), false); + } + else if (hashCode == BUCKET_ALREADY_EXISTS_HASH) + { + return AWSError<CoreErrors>(static_cast<CoreErrors>(S3Errors::BUCKET_ALREADY_EXISTS), false); + } + else if (hashCode == INVALID_OBJECT_STATE_HASH) + { + return AWSError<CoreErrors>(static_cast<CoreErrors>(S3Errors::INVALID_OBJECT_STATE), false); + } + return AWSError<CoreErrors>(CoreErrors::UNKNOWN, false); +} + +} // namespace S3ErrorMapper +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortIncompleteMultipartUpload.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortIncompleteMultipartUpload.cpp new file mode 100644 index 0000000000..983062c170 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortIncompleteMultipartUpload.cpp @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/AbortIncompleteMultipartUpload.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 +{ + +AbortIncompleteMultipartUpload::AbortIncompleteMultipartUpload() : + m_daysAfterInitiation(0), + m_daysAfterInitiationHasBeenSet(false) +{ +} + +AbortIncompleteMultipartUpload::AbortIncompleteMultipartUpload(const XmlNode& xmlNode) : + m_daysAfterInitiation(0), + m_daysAfterInitiationHasBeenSet(false) +{ + *this = xmlNode; +} + +AbortIncompleteMultipartUpload& AbortIncompleteMultipartUpload::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode daysAfterInitiationNode = resultNode.FirstChild("DaysAfterInitiation"); + if(!daysAfterInitiationNode.IsNull()) + { + m_daysAfterInitiation = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(daysAfterInitiationNode.GetText()).c_str()).c_str()); + m_daysAfterInitiationHasBeenSet = true; + } + } + + return *this; +} + +void AbortIncompleteMultipartUpload::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_daysAfterInitiationHasBeenSet) + { + XmlNode daysAfterInitiationNode = parentNode.CreateChildElement("DaysAfterInitiation"); + ss << m_daysAfterInitiation; + daysAfterInitiationNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadRequest.cpp new file mode 100644 index 0000000000..4d8645caab --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadRequest.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/AbortMultipartUploadRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +AbortMultipartUploadRequest::AbortMultipartUploadRequest() : + m_bucketHasBeenSet(false), + m_keyHasBeenSet(false), + m_uploadIdHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String AbortMultipartUploadRequest::SerializePayload() const +{ + return {}; +} + +void AbortMultipartUploadRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_uploadIdHasBeenSet) + { + ss << m_uploadId; + uri.AddQueryStringParameter("uploadId", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection AbortMultipartUploadRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadResult.cpp new file mode 100644 index 0000000000..5372be5cc7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadResult.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/AbortMultipartUploadResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +AbortMultipartUploadResult::AbortMultipartUploadResult() : + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +AbortMultipartUploadResult::AbortMultipartUploadResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +AbortMultipartUploadResult& AbortMultipartUploadResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccelerateConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccelerateConfiguration.cpp new file mode 100644 index 0000000000..67a01a288d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccelerateConfiguration.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/AccelerateConfiguration.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 +{ + +AccelerateConfiguration::AccelerateConfiguration() : + m_status(BucketAccelerateStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +AccelerateConfiguration::AccelerateConfiguration(const XmlNode& xmlNode) : + m_status(BucketAccelerateStatus::NOT_SET), + m_statusHasBeenSet(false) +{ + *this = xmlNode; +} + +AccelerateConfiguration& AccelerateConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode statusNode = resultNode.FirstChild("Status"); + if(!statusNode.IsNull()) + { + m_status = BucketAccelerateStatusMapper::GetBucketAccelerateStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusNode.GetText()).c_str()).c_str()); + m_statusHasBeenSet = true; + } + } + + return *this; +} + +void AccelerateConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_statusHasBeenSet) + { + XmlNode statusNode = parentNode.CreateChildElement("Status"); + statusNode.SetText(BucketAccelerateStatusMapper::GetNameForBucketAccelerateStatus(m_status)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccessControlPolicy.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccessControlPolicy.cpp new file mode 100644 index 0000000000..78efb9809c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccessControlPolicy.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/AccessControlPolicy.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 +{ + +AccessControlPolicy::AccessControlPolicy() : + m_grantsHasBeenSet(false), + m_ownerHasBeenSet(false) +{ +} + +AccessControlPolicy::AccessControlPolicy(const XmlNode& xmlNode) : + m_grantsHasBeenSet(false), + m_ownerHasBeenSet(false) +{ + *this = xmlNode; +} + +AccessControlPolicy& AccessControlPolicy::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode grantsNode = resultNode.FirstChild("AccessControlList"); + if(!grantsNode.IsNull()) + { + XmlNode grantsMember = grantsNode.FirstChild("Grant"); + while(!grantsMember.IsNull()) + { + m_grants.push_back(grantsMember); + grantsMember = grantsMember.NextNode("Grant"); + } + + m_grantsHasBeenSet = true; + } + XmlNode ownerNode = resultNode.FirstChild("Owner"); + if(!ownerNode.IsNull()) + { + m_owner = ownerNode; + m_ownerHasBeenSet = true; + } + } + + return *this; +} + +void AccessControlPolicy::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_grantsHasBeenSet) + { + XmlNode grantsParentNode = parentNode.CreateChildElement("AccessControlList"); + for(const auto& item : m_grants) + { + XmlNode grantsNode = grantsParentNode.CreateChildElement("Grant"); + item.AddToNode(grantsNode); + } + } + + if(m_ownerHasBeenSet) + { + XmlNode ownerNode = parentNode.CreateChildElement("Owner"); + m_owner.AddToNode(ownerNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccessControlTranslation.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccessControlTranslation.cpp new file mode 100644 index 0000000000..de34b1189b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccessControlTranslation.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/AccessControlTranslation.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 +{ + +AccessControlTranslation::AccessControlTranslation() : + m_owner(OwnerOverride::NOT_SET), + m_ownerHasBeenSet(false) +{ +} + +AccessControlTranslation::AccessControlTranslation(const XmlNode& xmlNode) : + m_owner(OwnerOverride::NOT_SET), + m_ownerHasBeenSet(false) +{ + *this = xmlNode; +} + +AccessControlTranslation& AccessControlTranslation::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode ownerNode = resultNode.FirstChild("Owner"); + if(!ownerNode.IsNull()) + { + m_owner = OwnerOverrideMapper::GetOwnerOverrideForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(ownerNode.GetText()).c_str()).c_str()); + m_ownerHasBeenSet = true; + } + } + + return *this; +} + +void AccessControlTranslation::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_ownerHasBeenSet) + { + XmlNode ownerNode = parentNode.CreateChildElement("Owner"); + ownerNode.SetText(OwnerOverrideMapper::GetNameForOwnerOverride(m_owner)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsAndOperator.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsAndOperator.cpp new file mode 100644 index 0000000000..8c25c4e75f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsAndOperator.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/AnalyticsAndOperator.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 +{ + +AnalyticsAndOperator::AnalyticsAndOperator() : + m_prefixHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +AnalyticsAndOperator::AnalyticsAndOperator(const XmlNode& xmlNode) : + m_prefixHasBeenSet(false), + m_tagsHasBeenSet(false) +{ + *this = xmlNode; +} + +AnalyticsAndOperator& AnalyticsAndOperator::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + m_prefixHasBeenSet = true; + } + XmlNode tagsNode = resultNode.FirstChild("Tag"); + if(!tagsNode.IsNull()) + { + XmlNode tagMember = tagsNode; + while(!tagMember.IsNull()) + { + m_tags.push_back(tagMember); + tagMember = tagMember.NextNode("Tag"); + } + + m_tagsHasBeenSet = true; + } + } + + return *this; +} + +void AnalyticsAndOperator::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_prefixHasBeenSet) + { + XmlNode prefixNode = parentNode.CreateChildElement("Prefix"); + prefixNode.SetText(m_prefix); + } + + if(m_tagsHasBeenSet) + { + XmlNode tagsParentNode = parentNode.CreateChildElement("Tags"); + for(const auto& item : m_tags) + { + XmlNode tagsNode = tagsParentNode.CreateChildElement("Tag"); + item.AddToNode(tagsNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsConfiguration.cpp new file mode 100644 index 0000000000..0ca8b9fef4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsConfiguration.cpp @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/AnalyticsConfiguration.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 +{ + +AnalyticsConfiguration::AnalyticsConfiguration() : + m_idHasBeenSet(false), + m_filterHasBeenSet(false), + m_storageClassAnalysisHasBeenSet(false) +{ +} + +AnalyticsConfiguration::AnalyticsConfiguration(const XmlNode& xmlNode) : + m_idHasBeenSet(false), + m_filterHasBeenSet(false), + m_storageClassAnalysisHasBeenSet(false) +{ + *this = xmlNode; +} + +AnalyticsConfiguration& AnalyticsConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + 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 storageClassAnalysisNode = resultNode.FirstChild("StorageClassAnalysis"); + if(!storageClassAnalysisNode.IsNull()) + { + m_storageClassAnalysis = storageClassAnalysisNode; + m_storageClassAnalysisHasBeenSet = true; + } + } + + return *this; +} + +void AnalyticsConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + 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_storageClassAnalysisHasBeenSet) + { + XmlNode storageClassAnalysisNode = parentNode.CreateChildElement("StorageClassAnalysis"); + m_storageClassAnalysis.AddToNode(storageClassAnalysisNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsExportDestination.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsExportDestination.cpp new file mode 100644 index 0000000000..0993bf28b9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsExportDestination.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/AnalyticsExportDestination.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 +{ + +AnalyticsExportDestination::AnalyticsExportDestination() : + m_s3BucketDestinationHasBeenSet(false) +{ +} + +AnalyticsExportDestination::AnalyticsExportDestination(const XmlNode& xmlNode) : + m_s3BucketDestinationHasBeenSet(false) +{ + *this = xmlNode; +} + +AnalyticsExportDestination& AnalyticsExportDestination::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode s3BucketDestinationNode = resultNode.FirstChild("S3BucketDestination"); + if(!s3BucketDestinationNode.IsNull()) + { + m_s3BucketDestination = s3BucketDestinationNode; + m_s3BucketDestinationHasBeenSet = true; + } + } + + return *this; +} + +void AnalyticsExportDestination::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_s3BucketDestinationHasBeenSet) + { + XmlNode s3BucketDestinationNode = parentNode.CreateChildElement("S3BucketDestination"); + m_s3BucketDestination.AddToNode(s3BucketDestinationNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsFilter.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsFilter.cpp new file mode 100644 index 0000000000..f4428f1ad1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsFilter.cpp @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/AnalyticsFilter.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 +{ + +AnalyticsFilter::AnalyticsFilter() : + m_prefixHasBeenSet(false), + m_tagHasBeenSet(false), + m_andHasBeenSet(false) +{ +} + +AnalyticsFilter::AnalyticsFilter(const XmlNode& xmlNode) : + m_prefixHasBeenSet(false), + m_tagHasBeenSet(false), + m_andHasBeenSet(false) +{ + *this = xmlNode; +} + +AnalyticsFilter& AnalyticsFilter::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + m_prefixHasBeenSet = true; + } + XmlNode tagNode = resultNode.FirstChild("Tag"); + if(!tagNode.IsNull()) + { + m_tag = tagNode; + m_tagHasBeenSet = true; + } + XmlNode andNode = resultNode.FirstChild("And"); + if(!andNode.IsNull()) + { + m_and = andNode; + m_andHasBeenSet = true; + } + } + + return *this; +} + +void AnalyticsFilter::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_prefixHasBeenSet) + { + XmlNode prefixNode = parentNode.CreateChildElement("Prefix"); + prefixNode.SetText(m_prefix); + } + + if(m_tagHasBeenSet) + { + XmlNode tagNode = parentNode.CreateChildElement("Tag"); + m_tag.AddToNode(tagNode); + } + + if(m_andHasBeenSet) + { + XmlNode andNode = parentNode.CreateChildElement("And"); + m_and.AddToNode(andNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsS3BucketDestination.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsS3BucketDestination.cpp new file mode 100644 index 0000000000..6722b20888 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsS3BucketDestination.cpp @@ -0,0 +1,108 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/AnalyticsS3BucketDestination.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 +{ + +AnalyticsS3BucketDestination::AnalyticsS3BucketDestination() : + m_format(AnalyticsS3ExportFileFormat::NOT_SET), + m_formatHasBeenSet(false), + m_bucketAccountIdHasBeenSet(false), + m_bucketHasBeenSet(false), + m_prefixHasBeenSet(false) +{ +} + +AnalyticsS3BucketDestination::AnalyticsS3BucketDestination(const XmlNode& xmlNode) : + m_format(AnalyticsS3ExportFileFormat::NOT_SET), + m_formatHasBeenSet(false), + m_bucketAccountIdHasBeenSet(false), + m_bucketHasBeenSet(false), + m_prefixHasBeenSet(false) +{ + *this = xmlNode; +} + +AnalyticsS3BucketDestination& AnalyticsS3BucketDestination::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode formatNode = resultNode.FirstChild("Format"); + if(!formatNode.IsNull()) + { + m_format = AnalyticsS3ExportFileFormatMapper::GetAnalyticsS3ExportFileFormatForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(formatNode.GetText()).c_str()).c_str()); + m_formatHasBeenSet = true; + } + XmlNode bucketAccountIdNode = resultNode.FirstChild("BucketAccountId"); + if(!bucketAccountIdNode.IsNull()) + { + m_bucketAccountId = Aws::Utils::Xml::DecodeEscapedXmlText(bucketAccountIdNode.GetText()); + m_bucketAccountIdHasBeenSet = true; + } + XmlNode bucketNode = resultNode.FirstChild("Bucket"); + if(!bucketNode.IsNull()) + { + m_bucket = Aws::Utils::Xml::DecodeEscapedXmlText(bucketNode.GetText()); + m_bucketHasBeenSet = true; + } + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + m_prefixHasBeenSet = true; + } + } + + return *this; +} + +void AnalyticsS3BucketDestination::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_formatHasBeenSet) + { + XmlNode formatNode = parentNode.CreateChildElement("Format"); + formatNode.SetText(AnalyticsS3ExportFileFormatMapper::GetNameForAnalyticsS3ExportFileFormat(m_format)); + } + + if(m_bucketAccountIdHasBeenSet) + { + XmlNode bucketAccountIdNode = parentNode.CreateChildElement("BucketAccountId"); + bucketAccountIdNode.SetText(m_bucketAccountId); + } + + if(m_bucketHasBeenSet) + { + XmlNode bucketNode = parentNode.CreateChildElement("Bucket"); + bucketNode.SetText(m_bucket); + } + + if(m_prefixHasBeenSet) + { + XmlNode prefixNode = parentNode.CreateChildElement("Prefix"); + prefixNode.SetText(m_prefix); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsS3ExportFileFormat.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsS3ExportFileFormat.cpp new file mode 100644 index 0000000000..50160ef573 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsS3ExportFileFormat.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/AnalyticsS3ExportFileFormat.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace AnalyticsS3ExportFileFormatMapper + { + + static const int CSV_HASH = HashingUtils::HashString("CSV"); + + + AnalyticsS3ExportFileFormat GetAnalyticsS3ExportFileFormatForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CSV_HASH) + { + return AnalyticsS3ExportFileFormat::CSV; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<AnalyticsS3ExportFileFormat>(hashCode); + } + + return AnalyticsS3ExportFileFormat::NOT_SET; + } + + Aws::String GetNameForAnalyticsS3ExportFileFormat(AnalyticsS3ExportFileFormat enumValue) + { + switch(enumValue) + { + case AnalyticsS3ExportFileFormat::CSV: + return "CSV"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace AnalyticsS3ExportFileFormatMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ArchiveStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ArchiveStatus.cpp new file mode 100644 index 0000000000..65ebaa5232 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ArchiveStatus.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ArchiveStatus.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ArchiveStatusMapper + { + + static const int ARCHIVE_ACCESS_HASH = HashingUtils::HashString("ARCHIVE_ACCESS"); + static const int DEEP_ARCHIVE_ACCESS_HASH = HashingUtils::HashString("DEEP_ARCHIVE_ACCESS"); + + + ArchiveStatus GetArchiveStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ARCHIVE_ACCESS_HASH) + { + return ArchiveStatus::ARCHIVE_ACCESS; + } + else if (hashCode == DEEP_ARCHIVE_ACCESS_HASH) + { + return ArchiveStatus::DEEP_ARCHIVE_ACCESS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ArchiveStatus>(hashCode); + } + + return ArchiveStatus::NOT_SET; + } + + Aws::String GetNameForArchiveStatus(ArchiveStatus enumValue) + { + switch(enumValue) + { + case ArchiveStatus::ARCHIVE_ACCESS: + return "ARCHIVE_ACCESS"; + case ArchiveStatus::DEEP_ARCHIVE_ACCESS: + return "DEEP_ARCHIVE_ACCESS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ArchiveStatusMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Bucket.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Bucket.cpp new file mode 100644 index 0000000000..1ad9b5f310 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Bucket.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Bucket.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 +{ + +Bucket::Bucket() : + m_nameHasBeenSet(false), + m_creationDateHasBeenSet(false) +{ +} + +Bucket::Bucket(const XmlNode& xmlNode) : + m_nameHasBeenSet(false), + m_creationDateHasBeenSet(false) +{ + *this = xmlNode; +} + +Bucket& Bucket::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode nameNode = resultNode.FirstChild("Name"); + if(!nameNode.IsNull()) + { + m_name = Aws::Utils::Xml::DecodeEscapedXmlText(nameNode.GetText()); + m_nameHasBeenSet = true; + } + XmlNode creationDateNode = resultNode.FirstChild("CreationDate"); + if(!creationDateNode.IsNull()) + { + m_creationDate = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(creationDateNode.GetText()).c_str()).c_str(), DateFormat::ISO_8601); + m_creationDateHasBeenSet = true; + } + } + + return *this; +} + +void Bucket::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_nameHasBeenSet) + { + XmlNode nameNode = parentNode.CreateChildElement("Name"); + nameNode.SetText(m_name); + } + + if(m_creationDateHasBeenSet) + { + XmlNode creationDateNode = parentNode.CreateChildElement("CreationDate"); + creationDateNode.SetText(m_creationDate.ToGmtString(DateFormat::ISO_8601)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketAccelerateStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketAccelerateStatus.cpp new file mode 100644 index 0000000000..8de8e5085d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketAccelerateStatus.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/BucketAccelerateStatus.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace BucketAccelerateStatusMapper + { + + static const int Enabled_HASH = HashingUtils::HashString("Enabled"); + static const int Suspended_HASH = HashingUtils::HashString("Suspended"); + + + BucketAccelerateStatus GetBucketAccelerateStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Enabled_HASH) + { + return BucketAccelerateStatus::Enabled; + } + else if (hashCode == Suspended_HASH) + { + return BucketAccelerateStatus::Suspended; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<BucketAccelerateStatus>(hashCode); + } + + return BucketAccelerateStatus::NOT_SET; + } + + Aws::String GetNameForBucketAccelerateStatus(BucketAccelerateStatus enumValue) + { + switch(enumValue) + { + case BucketAccelerateStatus::Enabled: + return "Enabled"; + case BucketAccelerateStatus::Suspended: + return "Suspended"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace BucketAccelerateStatusMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketCannedACL.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketCannedACL.cpp new file mode 100644 index 0000000000..d00069a78f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketCannedACL.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/BucketCannedACL.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace BucketCannedACLMapper + { + + static const int private__HASH = HashingUtils::HashString("private"); + static const int public_read_HASH = HashingUtils::HashString("public-read"); + static const int public_read_write_HASH = HashingUtils::HashString("public-read-write"); + static const int authenticated_read_HASH = HashingUtils::HashString("authenticated-read"); + + + BucketCannedACL GetBucketCannedACLForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == private__HASH) + { + return BucketCannedACL::private_; + } + else if (hashCode == public_read_HASH) + { + return BucketCannedACL::public_read; + } + else if (hashCode == public_read_write_HASH) + { + return BucketCannedACL::public_read_write; + } + else if (hashCode == authenticated_read_HASH) + { + return BucketCannedACL::authenticated_read; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<BucketCannedACL>(hashCode); + } + + return BucketCannedACL::NOT_SET; + } + + Aws::String GetNameForBucketCannedACL(BucketCannedACL enumValue) + { + switch(enumValue) + { + case BucketCannedACL::private_: + return "private"; + case BucketCannedACL::public_read: + return "public-read"; + case BucketCannedACL::public_read_write: + return "public-read-write"; + case BucketCannedACL::authenticated_read: + return "authenticated-read"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace BucketCannedACLMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketLifecycleConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketLifecycleConfiguration.cpp new file mode 100644 index 0000000000..ffec873f64 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketLifecycleConfiguration.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/BucketLifecycleConfiguration.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 +{ + +BucketLifecycleConfiguration::BucketLifecycleConfiguration() : + m_rulesHasBeenSet(false) +{ +} + +BucketLifecycleConfiguration::BucketLifecycleConfiguration(const XmlNode& xmlNode) : + m_rulesHasBeenSet(false) +{ + *this = xmlNode; +} + +BucketLifecycleConfiguration& BucketLifecycleConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode rulesNode = resultNode.FirstChild("Rule"); + if(!rulesNode.IsNull()) + { + XmlNode ruleMember = rulesNode; + while(!ruleMember.IsNull()) + { + m_rules.push_back(ruleMember); + ruleMember = ruleMember.NextNode("Rule"); + } + + m_rulesHasBeenSet = true; + } + } + + return *this; +} + +void BucketLifecycleConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_rulesHasBeenSet) + { + for(const auto& item : m_rules) + { + XmlNode rulesNode = parentNode.CreateChildElement("Rule"); + item.AddToNode(rulesNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketLocationConstraint.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketLocationConstraint.cpp new file mode 100644 index 0000000000..1bcdd2b471 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketLocationConstraint.cpp @@ -0,0 +1,238 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/BucketLocationConstraint.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace BucketLocationConstraintMapper + { + + static const int af_south_1_HASH = HashingUtils::HashString("af-south-1"); + static const int ap_east_1_HASH = HashingUtils::HashString("ap-east-1"); + static const int ap_northeast_1_HASH = HashingUtils::HashString("ap-northeast-1"); + static const int ap_northeast_2_HASH = HashingUtils::HashString("ap-northeast-2"); + static const int ap_northeast_3_HASH = HashingUtils::HashString("ap-northeast-3"); + static const int ap_south_1_HASH = HashingUtils::HashString("ap-south-1"); + static const int ap_southeast_1_HASH = HashingUtils::HashString("ap-southeast-1"); + static const int ap_southeast_2_HASH = HashingUtils::HashString("ap-southeast-2"); + static const int ca_central_1_HASH = HashingUtils::HashString("ca-central-1"); + static const int cn_north_1_HASH = HashingUtils::HashString("cn-north-1"); + static const int cn_northwest_1_HASH = HashingUtils::HashString("cn-northwest-1"); + static const int EU_HASH = HashingUtils::HashString("EU"); + static const int eu_central_1_HASH = HashingUtils::HashString("eu-central-1"); + static const int eu_north_1_HASH = HashingUtils::HashString("eu-north-1"); + static const int eu_south_1_HASH = HashingUtils::HashString("eu-south-1"); + static const int eu_west_1_HASH = HashingUtils::HashString("eu-west-1"); + static const int eu_west_2_HASH = HashingUtils::HashString("eu-west-2"); + static const int eu_west_3_HASH = HashingUtils::HashString("eu-west-3"); + static const int me_south_1_HASH = HashingUtils::HashString("me-south-1"); + static const int sa_east_1_HASH = HashingUtils::HashString("sa-east-1"); + static const int us_east_2_HASH = HashingUtils::HashString("us-east-2"); + static const int us_gov_east_1_HASH = HashingUtils::HashString("us-gov-east-1"); + static const int us_gov_west_1_HASH = HashingUtils::HashString("us-gov-west-1"); + static const int us_west_1_HASH = HashingUtils::HashString("us-west-1"); + static const int us_west_2_HASH = HashingUtils::HashString("us-west-2"); + static const int us_east_1_HASH = HashingUtils::HashString("us-east-1"); + + + BucketLocationConstraint GetBucketLocationConstraintForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == af_south_1_HASH) + { + return BucketLocationConstraint::af_south_1; + } + else if (hashCode == ap_east_1_HASH) + { + return BucketLocationConstraint::ap_east_1; + } + else if (hashCode == ap_northeast_1_HASH) + { + return BucketLocationConstraint::ap_northeast_1; + } + else if (hashCode == ap_northeast_2_HASH) + { + return BucketLocationConstraint::ap_northeast_2; + } + else if (hashCode == ap_northeast_3_HASH) + { + return BucketLocationConstraint::ap_northeast_3; + } + else if (hashCode == ap_south_1_HASH) + { + return BucketLocationConstraint::ap_south_1; + } + else if (hashCode == ap_southeast_1_HASH) + { + return BucketLocationConstraint::ap_southeast_1; + } + else if (hashCode == ap_southeast_2_HASH) + { + return BucketLocationConstraint::ap_southeast_2; + } + else if (hashCode == ca_central_1_HASH) + { + return BucketLocationConstraint::ca_central_1; + } + else if (hashCode == cn_north_1_HASH) + { + return BucketLocationConstraint::cn_north_1; + } + else if (hashCode == cn_northwest_1_HASH) + { + return BucketLocationConstraint::cn_northwest_1; + } + else if (hashCode == EU_HASH) + { + return BucketLocationConstraint::EU; + } + else if (hashCode == eu_central_1_HASH) + { + return BucketLocationConstraint::eu_central_1; + } + else if (hashCode == eu_north_1_HASH) + { + return BucketLocationConstraint::eu_north_1; + } + else if (hashCode == eu_south_1_HASH) + { + return BucketLocationConstraint::eu_south_1; + } + else if (hashCode == eu_west_1_HASH) + { + return BucketLocationConstraint::eu_west_1; + } + else if (hashCode == eu_west_2_HASH) + { + return BucketLocationConstraint::eu_west_2; + } + else if (hashCode == eu_west_3_HASH) + { + return BucketLocationConstraint::eu_west_3; + } + else if (hashCode == me_south_1_HASH) + { + return BucketLocationConstraint::me_south_1; + } + else if (hashCode == sa_east_1_HASH) + { + return BucketLocationConstraint::sa_east_1; + } + else if (hashCode == us_east_2_HASH) + { + return BucketLocationConstraint::us_east_2; + } + else if (hashCode == us_gov_east_1_HASH) + { + return BucketLocationConstraint::us_gov_east_1; + } + else if (hashCode == us_gov_west_1_HASH) + { + return BucketLocationConstraint::us_gov_west_1; + } + else if (hashCode == us_west_1_HASH) + { + return BucketLocationConstraint::us_west_1; + } + else if (hashCode == us_west_2_HASH) + { + return BucketLocationConstraint::us_west_2; + } + else if (hashCode == us_east_1_HASH) + { + return BucketLocationConstraint::us_east_1; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<BucketLocationConstraint>(hashCode); + } + + return BucketLocationConstraint::NOT_SET; + } + + Aws::String GetNameForBucketLocationConstraint(BucketLocationConstraint enumValue) + { + switch(enumValue) + { + case BucketLocationConstraint::af_south_1: + return "af-south-1"; + case BucketLocationConstraint::ap_east_1: + return "ap-east-1"; + case BucketLocationConstraint::ap_northeast_1: + return "ap-northeast-1"; + case BucketLocationConstraint::ap_northeast_2: + return "ap-northeast-2"; + case BucketLocationConstraint::ap_northeast_3: + return "ap-northeast-3"; + case BucketLocationConstraint::ap_south_1: + return "ap-south-1"; + case BucketLocationConstraint::ap_southeast_1: + return "ap-southeast-1"; + case BucketLocationConstraint::ap_southeast_2: + return "ap-southeast-2"; + case BucketLocationConstraint::ca_central_1: + return "ca-central-1"; + case BucketLocationConstraint::cn_north_1: + return "cn-north-1"; + case BucketLocationConstraint::cn_northwest_1: + return "cn-northwest-1"; + case BucketLocationConstraint::EU: + return "EU"; + case BucketLocationConstraint::eu_central_1: + return "eu-central-1"; + case BucketLocationConstraint::eu_north_1: + return "eu-north-1"; + case BucketLocationConstraint::eu_south_1: + return "eu-south-1"; + case BucketLocationConstraint::eu_west_1: + return "eu-west-1"; + case BucketLocationConstraint::eu_west_2: + return "eu-west-2"; + case BucketLocationConstraint::eu_west_3: + return "eu-west-3"; + case BucketLocationConstraint::me_south_1: + return "me-south-1"; + case BucketLocationConstraint::sa_east_1: + return "sa-east-1"; + case BucketLocationConstraint::us_east_2: + return "us-east-2"; + case BucketLocationConstraint::us_gov_east_1: + return "us-gov-east-1"; + case BucketLocationConstraint::us_gov_west_1: + return "us-gov-west-1"; + case BucketLocationConstraint::us_west_1: + return "us-west-1"; + case BucketLocationConstraint::us_west_2: + return "us-west-2"; + case BucketLocationConstraint::us_east_1: + return "us-east-1"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace BucketLocationConstraintMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketLoggingStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketLoggingStatus.cpp new file mode 100644 index 0000000000..fba5c076d7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketLoggingStatus.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/BucketLoggingStatus.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 +{ + +BucketLoggingStatus::BucketLoggingStatus() : + m_loggingEnabledHasBeenSet(false) +{ +} + +BucketLoggingStatus::BucketLoggingStatus(const XmlNode& xmlNode) : + m_loggingEnabledHasBeenSet(false) +{ + *this = xmlNode; +} + +BucketLoggingStatus& BucketLoggingStatus::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode loggingEnabledNode = resultNode.FirstChild("LoggingEnabled"); + if(!loggingEnabledNode.IsNull()) + { + m_loggingEnabled = loggingEnabledNode; + m_loggingEnabledHasBeenSet = true; + } + } + + return *this; +} + +void BucketLoggingStatus::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_loggingEnabledHasBeenSet) + { + XmlNode loggingEnabledNode = parentNode.CreateChildElement("LoggingEnabled"); + m_loggingEnabled.AddToNode(loggingEnabledNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketLogsPermission.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketLogsPermission.cpp new file mode 100644 index 0000000000..f419f46bdc --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketLogsPermission.cpp @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/BucketLogsPermission.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace BucketLogsPermissionMapper + { + + static const int FULL_CONTROL_HASH = HashingUtils::HashString("FULL_CONTROL"); + static const int READ_HASH = HashingUtils::HashString("READ"); + static const int WRITE_HASH = HashingUtils::HashString("WRITE"); + + + BucketLogsPermission GetBucketLogsPermissionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FULL_CONTROL_HASH) + { + return BucketLogsPermission::FULL_CONTROL; + } + else if (hashCode == READ_HASH) + { + return BucketLogsPermission::READ; + } + else if (hashCode == WRITE_HASH) + { + return BucketLogsPermission::WRITE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<BucketLogsPermission>(hashCode); + } + + return BucketLogsPermission::NOT_SET; + } + + Aws::String GetNameForBucketLogsPermission(BucketLogsPermission enumValue) + { + switch(enumValue) + { + case BucketLogsPermission::FULL_CONTROL: + return "FULL_CONTROL"; + case BucketLogsPermission::READ: + return "READ"; + case BucketLogsPermission::WRITE: + return "WRITE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace BucketLogsPermissionMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketVersioningStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketVersioningStatus.cpp new file mode 100644 index 0000000000..d561ddb8a9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketVersioningStatus.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/BucketVersioningStatus.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace BucketVersioningStatusMapper + { + + static const int Enabled_HASH = HashingUtils::HashString("Enabled"); + static const int Suspended_HASH = HashingUtils::HashString("Suspended"); + + + BucketVersioningStatus GetBucketVersioningStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Enabled_HASH) + { + return BucketVersioningStatus::Enabled; + } + else if (hashCode == Suspended_HASH) + { + return BucketVersioningStatus::Suspended; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<BucketVersioningStatus>(hashCode); + } + + return BucketVersioningStatus::NOT_SET; + } + + Aws::String GetNameForBucketVersioningStatus(BucketVersioningStatus enumValue) + { + switch(enumValue) + { + case BucketVersioningStatus::Enabled: + return "Enabled"; + case BucketVersioningStatus::Suspended: + return "Suspended"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace BucketVersioningStatusMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSConfiguration.cpp new file mode 100644 index 0000000000..e9adaac563 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSConfiguration.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CORSConfiguration.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 +{ + +CORSConfiguration::CORSConfiguration() : + m_cORSRulesHasBeenSet(false) +{ +} + +CORSConfiguration::CORSConfiguration(const XmlNode& xmlNode) : + m_cORSRulesHasBeenSet(false) +{ + *this = xmlNode; +} + +CORSConfiguration& CORSConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode cORSRulesNode = resultNode.FirstChild("CORSRule"); + if(!cORSRulesNode.IsNull()) + { + XmlNode cORSRuleMember = cORSRulesNode; + while(!cORSRuleMember.IsNull()) + { + m_cORSRules.push_back(cORSRuleMember); + cORSRuleMember = cORSRuleMember.NextNode("CORSRule"); + } + + m_cORSRulesHasBeenSet = true; + } + } + + return *this; +} + +void CORSConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_cORSRulesHasBeenSet) + { + for(const auto& item : m_cORSRules) + { + XmlNode cORSRulesNode = parentNode.CreateChildElement("CORSRule"); + item.AddToNode(cORSRulesNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSRule.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSRule.cpp new file mode 100644 index 0000000000..dd1b40db2f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSRule.cpp @@ -0,0 +1,160 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CORSRule.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 +{ + +CORSRule::CORSRule() : + m_allowedHeadersHasBeenSet(false), + m_allowedMethodsHasBeenSet(false), + m_allowedOriginsHasBeenSet(false), + m_exposeHeadersHasBeenSet(false), + m_maxAgeSeconds(0), + m_maxAgeSecondsHasBeenSet(false) +{ +} + +CORSRule::CORSRule(const XmlNode& xmlNode) : + m_allowedHeadersHasBeenSet(false), + m_allowedMethodsHasBeenSet(false), + m_allowedOriginsHasBeenSet(false), + m_exposeHeadersHasBeenSet(false), + m_maxAgeSeconds(0), + m_maxAgeSecondsHasBeenSet(false) +{ + *this = xmlNode; +} + +CORSRule& CORSRule::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode allowedHeadersNode = resultNode.FirstChild("AllowedHeader"); + if(!allowedHeadersNode.IsNull()) + { + XmlNode allowedHeaderMember = allowedHeadersNode; + while(!allowedHeaderMember.IsNull()) + { + m_allowedHeaders.push_back(allowedHeaderMember.GetText()); + allowedHeaderMember = allowedHeaderMember.NextNode("AllowedHeader"); + } + + m_allowedHeadersHasBeenSet = true; + } + XmlNode allowedMethodsNode = resultNode.FirstChild("AllowedMethod"); + if(!allowedMethodsNode.IsNull()) + { + XmlNode allowedMethodMember = allowedMethodsNode; + while(!allowedMethodMember.IsNull()) + { + m_allowedMethods.push_back(allowedMethodMember.GetText()); + allowedMethodMember = allowedMethodMember.NextNode("AllowedMethod"); + } + + m_allowedMethodsHasBeenSet = true; + } + XmlNode allowedOriginsNode = resultNode.FirstChild("AllowedOrigin"); + if(!allowedOriginsNode.IsNull()) + { + XmlNode allowedOriginMember = allowedOriginsNode; + while(!allowedOriginMember.IsNull()) + { + m_allowedOrigins.push_back(allowedOriginMember.GetText()); + allowedOriginMember = allowedOriginMember.NextNode("AllowedOrigin"); + } + + m_allowedOriginsHasBeenSet = true; + } + XmlNode exposeHeadersNode = resultNode.FirstChild("ExposeHeader"); + if(!exposeHeadersNode.IsNull()) + { + XmlNode exposeHeaderMember = exposeHeadersNode; + while(!exposeHeaderMember.IsNull()) + { + m_exposeHeaders.push_back(exposeHeaderMember.GetText()); + exposeHeaderMember = exposeHeaderMember.NextNode("ExposeHeader"); + } + + m_exposeHeadersHasBeenSet = true; + } + XmlNode maxAgeSecondsNode = resultNode.FirstChild("MaxAgeSeconds"); + if(!maxAgeSecondsNode.IsNull()) + { + m_maxAgeSeconds = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(maxAgeSecondsNode.GetText()).c_str()).c_str()); + m_maxAgeSecondsHasBeenSet = true; + } + } + + return *this; +} + +void CORSRule::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_allowedHeadersHasBeenSet) + { + for(const auto& item : m_allowedHeaders) + { + XmlNode allowedHeadersNode = parentNode.CreateChildElement("AllowedHeader"); + allowedHeadersNode.SetText(item); + } + } + + if(m_allowedMethodsHasBeenSet) + { + for(const auto& item : m_allowedMethods) + { + XmlNode allowedMethodsNode = parentNode.CreateChildElement("AllowedMethod"); + allowedMethodsNode.SetText(item); + } + } + + if(m_allowedOriginsHasBeenSet) + { + for(const auto& item : m_allowedOrigins) + { + XmlNode allowedOriginsNode = parentNode.CreateChildElement("AllowedOrigin"); + allowedOriginsNode.SetText(item); + } + } + + if(m_exposeHeadersHasBeenSet) + { + for(const auto& item : m_exposeHeaders) + { + XmlNode exposeHeadersNode = parentNode.CreateChildElement("ExposeHeader"); + exposeHeadersNode.SetText(item); + } + } + + if(m_maxAgeSecondsHasBeenSet) + { + XmlNode maxAgeSecondsNode = parentNode.CreateChildElement("MaxAgeSeconds"); + ss << m_maxAgeSeconds; + maxAgeSecondsNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVInput.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVInput.cpp new file mode 100644 index 0000000000..fb0fe5b4c8 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVInput.cpp @@ -0,0 +1,154 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CSVInput.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 +{ + +CSVInput::CSVInput() : + m_fileHeaderInfo(FileHeaderInfo::NOT_SET), + m_fileHeaderInfoHasBeenSet(false), + m_commentsHasBeenSet(false), + m_quoteEscapeCharacterHasBeenSet(false), + m_recordDelimiterHasBeenSet(false), + m_fieldDelimiterHasBeenSet(false), + m_quoteCharacterHasBeenSet(false), + m_allowQuotedRecordDelimiter(false), + m_allowQuotedRecordDelimiterHasBeenSet(false) +{ +} + +CSVInput::CSVInput(const XmlNode& xmlNode) : + m_fileHeaderInfo(FileHeaderInfo::NOT_SET), + m_fileHeaderInfoHasBeenSet(false), + m_commentsHasBeenSet(false), + m_quoteEscapeCharacterHasBeenSet(false), + m_recordDelimiterHasBeenSet(false), + m_fieldDelimiterHasBeenSet(false), + m_quoteCharacterHasBeenSet(false), + m_allowQuotedRecordDelimiter(false), + m_allowQuotedRecordDelimiterHasBeenSet(false) +{ + *this = xmlNode; +} + +CSVInput& CSVInput::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode fileHeaderInfoNode = resultNode.FirstChild("FileHeaderInfo"); + if(!fileHeaderInfoNode.IsNull()) + { + m_fileHeaderInfo = FileHeaderInfoMapper::GetFileHeaderInfoForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(fileHeaderInfoNode.GetText()).c_str()).c_str()); + m_fileHeaderInfoHasBeenSet = true; + } + XmlNode commentsNode = resultNode.FirstChild("Comments"); + if(!commentsNode.IsNull()) + { + m_comments = Aws::Utils::Xml::DecodeEscapedXmlText(commentsNode.GetText()); + m_commentsHasBeenSet = true; + } + XmlNode quoteEscapeCharacterNode = resultNode.FirstChild("QuoteEscapeCharacter"); + if(!quoteEscapeCharacterNode.IsNull()) + { + m_quoteEscapeCharacter = Aws::Utils::Xml::DecodeEscapedXmlText(quoteEscapeCharacterNode.GetText()); + m_quoteEscapeCharacterHasBeenSet = true; + } + XmlNode recordDelimiterNode = resultNode.FirstChild("RecordDelimiter"); + if(!recordDelimiterNode.IsNull()) + { + m_recordDelimiter = Aws::Utils::Xml::DecodeEscapedXmlText(recordDelimiterNode.GetText()); + m_recordDelimiterHasBeenSet = true; + } + XmlNode fieldDelimiterNode = resultNode.FirstChild("FieldDelimiter"); + if(!fieldDelimiterNode.IsNull()) + { + m_fieldDelimiter = Aws::Utils::Xml::DecodeEscapedXmlText(fieldDelimiterNode.GetText()); + m_fieldDelimiterHasBeenSet = true; + } + XmlNode quoteCharacterNode = resultNode.FirstChild("QuoteCharacter"); + if(!quoteCharacterNode.IsNull()) + { + m_quoteCharacter = Aws::Utils::Xml::DecodeEscapedXmlText(quoteCharacterNode.GetText()); + m_quoteCharacterHasBeenSet = true; + } + XmlNode allowQuotedRecordDelimiterNode = resultNode.FirstChild("AllowQuotedRecordDelimiter"); + if(!allowQuotedRecordDelimiterNode.IsNull()) + { + m_allowQuotedRecordDelimiter = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(allowQuotedRecordDelimiterNode.GetText()).c_str()).c_str()); + m_allowQuotedRecordDelimiterHasBeenSet = true; + } + } + + return *this; +} + +void CSVInput::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_fileHeaderInfoHasBeenSet) + { + XmlNode fileHeaderInfoNode = parentNode.CreateChildElement("FileHeaderInfo"); + fileHeaderInfoNode.SetText(FileHeaderInfoMapper::GetNameForFileHeaderInfo(m_fileHeaderInfo)); + } + + if(m_commentsHasBeenSet) + { + XmlNode commentsNode = parentNode.CreateChildElement("Comments"); + commentsNode.SetText(m_comments); + } + + if(m_quoteEscapeCharacterHasBeenSet) + { + XmlNode quoteEscapeCharacterNode = parentNode.CreateChildElement("QuoteEscapeCharacter"); + quoteEscapeCharacterNode.SetText(m_quoteEscapeCharacter); + } + + if(m_recordDelimiterHasBeenSet) + { + XmlNode recordDelimiterNode = parentNode.CreateChildElement("RecordDelimiter"); + recordDelimiterNode.SetText(m_recordDelimiter); + } + + if(m_fieldDelimiterHasBeenSet) + { + XmlNode fieldDelimiterNode = parentNode.CreateChildElement("FieldDelimiter"); + fieldDelimiterNode.SetText(m_fieldDelimiter); + } + + if(m_quoteCharacterHasBeenSet) + { + XmlNode quoteCharacterNode = parentNode.CreateChildElement("QuoteCharacter"); + quoteCharacterNode.SetText(m_quoteCharacter); + } + + if(m_allowQuotedRecordDelimiterHasBeenSet) + { + XmlNode allowQuotedRecordDelimiterNode = parentNode.CreateChildElement("AllowQuotedRecordDelimiter"); + ss << std::boolalpha << m_allowQuotedRecordDelimiter; + allowQuotedRecordDelimiterNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVOutput.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVOutput.cpp new file mode 100644 index 0000000000..e48e8184f2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVOutput.cpp @@ -0,0 +1,122 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CSVOutput.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 +{ + +CSVOutput::CSVOutput() : + m_quoteFields(QuoteFields::NOT_SET), + m_quoteFieldsHasBeenSet(false), + m_quoteEscapeCharacterHasBeenSet(false), + m_recordDelimiterHasBeenSet(false), + m_fieldDelimiterHasBeenSet(false), + m_quoteCharacterHasBeenSet(false) +{ +} + +CSVOutput::CSVOutput(const XmlNode& xmlNode) : + m_quoteFields(QuoteFields::NOT_SET), + m_quoteFieldsHasBeenSet(false), + m_quoteEscapeCharacterHasBeenSet(false), + m_recordDelimiterHasBeenSet(false), + m_fieldDelimiterHasBeenSet(false), + m_quoteCharacterHasBeenSet(false) +{ + *this = xmlNode; +} + +CSVOutput& CSVOutput::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode quoteFieldsNode = resultNode.FirstChild("QuoteFields"); + if(!quoteFieldsNode.IsNull()) + { + m_quoteFields = QuoteFieldsMapper::GetQuoteFieldsForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(quoteFieldsNode.GetText()).c_str()).c_str()); + m_quoteFieldsHasBeenSet = true; + } + XmlNode quoteEscapeCharacterNode = resultNode.FirstChild("QuoteEscapeCharacter"); + if(!quoteEscapeCharacterNode.IsNull()) + { + m_quoteEscapeCharacter = Aws::Utils::Xml::DecodeEscapedXmlText(quoteEscapeCharacterNode.GetText()); + m_quoteEscapeCharacterHasBeenSet = true; + } + XmlNode recordDelimiterNode = resultNode.FirstChild("RecordDelimiter"); + if(!recordDelimiterNode.IsNull()) + { + m_recordDelimiter = Aws::Utils::Xml::DecodeEscapedXmlText(recordDelimiterNode.GetText()); + m_recordDelimiterHasBeenSet = true; + } + XmlNode fieldDelimiterNode = resultNode.FirstChild("FieldDelimiter"); + if(!fieldDelimiterNode.IsNull()) + { + m_fieldDelimiter = Aws::Utils::Xml::DecodeEscapedXmlText(fieldDelimiterNode.GetText()); + m_fieldDelimiterHasBeenSet = true; + } + XmlNode quoteCharacterNode = resultNode.FirstChild("QuoteCharacter"); + if(!quoteCharacterNode.IsNull()) + { + m_quoteCharacter = Aws::Utils::Xml::DecodeEscapedXmlText(quoteCharacterNode.GetText()); + m_quoteCharacterHasBeenSet = true; + } + } + + return *this; +} + +void CSVOutput::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_quoteFieldsHasBeenSet) + { + XmlNode quoteFieldsNode = parentNode.CreateChildElement("QuoteFields"); + quoteFieldsNode.SetText(QuoteFieldsMapper::GetNameForQuoteFields(m_quoteFields)); + } + + if(m_quoteEscapeCharacterHasBeenSet) + { + XmlNode quoteEscapeCharacterNode = parentNode.CreateChildElement("QuoteEscapeCharacter"); + quoteEscapeCharacterNode.SetText(m_quoteEscapeCharacter); + } + + if(m_recordDelimiterHasBeenSet) + { + XmlNode recordDelimiterNode = parentNode.CreateChildElement("RecordDelimiter"); + recordDelimiterNode.SetText(m_recordDelimiter); + } + + if(m_fieldDelimiterHasBeenSet) + { + XmlNode fieldDelimiterNode = parentNode.CreateChildElement("FieldDelimiter"); + fieldDelimiterNode.SetText(m_fieldDelimiter); + } + + if(m_quoteCharacterHasBeenSet) + { + XmlNode quoteCharacterNode = parentNode.CreateChildElement("QuoteCharacter"); + quoteCharacterNode.SetText(m_quoteCharacter); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CloudFunctionConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CloudFunctionConfiguration.cpp new file mode 100644 index 0000000000..66656947f8 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CloudFunctionConfiguration.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CloudFunctionConfiguration.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 +{ + +CloudFunctionConfiguration::CloudFunctionConfiguration() : + m_idHasBeenSet(false), + m_eventsHasBeenSet(false), + m_cloudFunctionHasBeenSet(false), + m_invocationRoleHasBeenSet(false) +{ +} + +CloudFunctionConfiguration::CloudFunctionConfiguration(const XmlNode& xmlNode) : + m_idHasBeenSet(false), + m_eventsHasBeenSet(false), + m_cloudFunctionHasBeenSet(false), + m_invocationRoleHasBeenSet(false) +{ + *this = xmlNode; +} + +CloudFunctionConfiguration& CloudFunctionConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode idNode = resultNode.FirstChild("Id"); + if(!idNode.IsNull()) + { + m_id = Aws::Utils::Xml::DecodeEscapedXmlText(idNode.GetText()); + m_idHasBeenSet = true; + } + XmlNode eventsNode = resultNode.FirstChild("Event"); + if(!eventsNode.IsNull()) + { + XmlNode eventMember = eventsNode; + while(!eventMember.IsNull()) + { + m_events.push_back(EventMapper::GetEventForName(StringUtils::Trim(eventMember.GetText().c_str()))); + eventMember = eventMember.NextNode("Event"); + } + + m_eventsHasBeenSet = true; + } + XmlNode cloudFunctionNode = resultNode.FirstChild("CloudFunction"); + if(!cloudFunctionNode.IsNull()) + { + m_cloudFunction = Aws::Utils::Xml::DecodeEscapedXmlText(cloudFunctionNode.GetText()); + m_cloudFunctionHasBeenSet = true; + } + XmlNode invocationRoleNode = resultNode.FirstChild("InvocationRole"); + if(!invocationRoleNode.IsNull()) + { + m_invocationRole = Aws::Utils::Xml::DecodeEscapedXmlText(invocationRoleNode.GetText()); + m_invocationRoleHasBeenSet = true; + } + } + + return *this; +} + +void CloudFunctionConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + XmlNode idNode = parentNode.CreateChildElement("Id"); + idNode.SetText(m_id); + } + + if(m_eventsHasBeenSet) + { + for(const auto& item : m_events) + { + XmlNode eventsNode = parentNode.CreateChildElement("Event"); + eventsNode.SetText(EventMapper::GetNameForEvent(item)); + } + } + + if(m_cloudFunctionHasBeenSet) + { + XmlNode cloudFunctionNode = parentNode.CreateChildElement("CloudFunction"); + cloudFunctionNode.SetText(m_cloudFunction); + } + + if(m_invocationRoleHasBeenSet) + { + XmlNode invocationRoleNode = parentNode.CreateChildElement("InvocationRole"); + invocationRoleNode.SetText(m_invocationRole); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CommonPrefix.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CommonPrefix.cpp new file mode 100644 index 0000000000..bef4ebd40c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CommonPrefix.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CommonPrefix.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 +{ + +CommonPrefix::CommonPrefix() : + m_prefixHasBeenSet(false) +{ +} + +CommonPrefix::CommonPrefix(const XmlNode& xmlNode) : + m_prefixHasBeenSet(false) +{ + *this = xmlNode; +} + +CommonPrefix& CommonPrefix::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + m_prefixHasBeenSet = true; + } + } + + return *this; +} + +void CommonPrefix::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_prefixHasBeenSet) + { + XmlNode prefixNode = parentNode.CreateChildElement("Prefix"); + prefixNode.SetText(m_prefix); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadRequest.cpp new file mode 100644 index 0000000000..8c058ba507 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadRequest.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CompleteMultipartUploadRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +CompleteMultipartUploadRequest::CompleteMultipartUploadRequest() : + m_bucketHasBeenSet(false), + m_keyHasBeenSet(false), + m_multipartUploadHasBeenSet(false), + m_uploadIdHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String CompleteMultipartUploadRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("CompleteMultipartUpload"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_multipartUpload.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void CompleteMultipartUploadRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_uploadIdHasBeenSet) + { + ss << m_uploadId; + uri.AddQueryStringParameter("uploadId", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection CompleteMultipartUploadRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadResult.cpp new file mode 100644 index 0000000000..da3f191993 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadResult.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CompleteMultipartUploadResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +CompleteMultipartUploadResult::CompleteMultipartUploadResult() : + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_bucketKeyEnabled(false), + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +CompleteMultipartUploadResult::CompleteMultipartUploadResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_bucketKeyEnabled(false), + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +CompleteMultipartUploadResult& CompleteMultipartUploadResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode locationNode = resultNode.FirstChild("Location"); + if(!locationNode.IsNull()) + { + m_location = Aws::Utils::Xml::DecodeEscapedXmlText(locationNode.GetText()); + } + XmlNode bucketNode = resultNode.FirstChild("Bucket"); + if(!bucketNode.IsNull()) + { + m_bucket = Aws::Utils::Xml::DecodeEscapedXmlText(bucketNode.GetText()); + } + XmlNode keyNode = resultNode.FirstChild("Key"); + if(!keyNode.IsNull()) + { + m_key = Aws::Utils::Xml::DecodeEscapedXmlText(keyNode.GetText()); + } + XmlNode eTagNode = resultNode.FirstChild("ETag"); + if(!eTagNode.IsNull()) + { + m_eTag = Aws::Utils::Xml::DecodeEscapedXmlText(eTagNode.GetText()); + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& expirationIter = headers.find("x-amz-expiration"); + if(expirationIter != headers.end()) + { + m_expiration = expirationIter->second; + } + + const auto& serverSideEncryptionIter = headers.find("x-amz-server-side-encryption"); + if(serverSideEncryptionIter != headers.end()) + { + m_serverSideEncryption = ServerSideEncryptionMapper::GetServerSideEncryptionForName(serverSideEncryptionIter->second); + } + + const auto& versionIdIter = headers.find("x-amz-version-id"); + if(versionIdIter != headers.end()) + { + m_versionId = versionIdIter->second; + } + + const auto& sSEKMSKeyIdIter = headers.find("x-amz-server-side-encryption-aws-kms-key-id"); + if(sSEKMSKeyIdIter != headers.end()) + { + m_sSEKMSKeyId = sSEKMSKeyIdIter->second; + } + + const auto& bucketKeyEnabledIter = headers.find("x-amz-server-side-encryption-bucket-key-enabled"); + if(bucketKeyEnabledIter != headers.end()) + { + m_bucketKeyEnabled = StringUtils::ConvertToBool(bucketKeyEnabledIter->second.c_str()); + } + + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompletedMultipartUpload.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompletedMultipartUpload.cpp new file mode 100644 index 0000000000..350f482fa7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompletedMultipartUpload.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CompletedMultipartUpload.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 +{ + +CompletedMultipartUpload::CompletedMultipartUpload() : + m_partsHasBeenSet(false) +{ +} + +CompletedMultipartUpload::CompletedMultipartUpload(const XmlNode& xmlNode) : + m_partsHasBeenSet(false) +{ + *this = xmlNode; +} + +CompletedMultipartUpload& CompletedMultipartUpload::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode partsNode = resultNode.FirstChild("Part"); + if(!partsNode.IsNull()) + { + XmlNode partMember = partsNode; + while(!partMember.IsNull()) + { + m_parts.push_back(partMember); + partMember = partMember.NextNode("Part"); + } + + m_partsHasBeenSet = true; + } + } + + return *this; +} + +void CompletedMultipartUpload::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_partsHasBeenSet) + { + for(const auto& item : m_parts) + { + XmlNode partsNode = parentNode.CreateChildElement("Part"); + item.AddToNode(partsNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompletedPart.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompletedPart.cpp new file mode 100644 index 0000000000..8fb63ee1f3 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompletedPart.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CompletedPart.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 +{ + +CompletedPart::CompletedPart() : + m_eTagHasBeenSet(false), + m_partNumber(0), + m_partNumberHasBeenSet(false) +{ +} + +CompletedPart::CompletedPart(const XmlNode& xmlNode) : + m_eTagHasBeenSet(false), + m_partNumber(0), + m_partNumberHasBeenSet(false) +{ + *this = xmlNode; +} + +CompletedPart& CompletedPart::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode eTagNode = resultNode.FirstChild("ETag"); + if(!eTagNode.IsNull()) + { + m_eTag = Aws::Utils::Xml::DecodeEscapedXmlText(eTagNode.GetText()); + m_eTagHasBeenSet = true; + } + XmlNode partNumberNode = resultNode.FirstChild("PartNumber"); + if(!partNumberNode.IsNull()) + { + m_partNumber = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(partNumberNode.GetText()).c_str()).c_str()); + m_partNumberHasBeenSet = true; + } + } + + return *this; +} + +void CompletedPart::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_eTagHasBeenSet) + { + XmlNode eTagNode = parentNode.CreateChildElement("ETag"); + eTagNode.SetText(m_eTag); + } + + if(m_partNumberHasBeenSet) + { + XmlNode partNumberNode = parentNode.CreateChildElement("PartNumber"); + ss << m_partNumber; + partNumberNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompressionType.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompressionType.cpp new file mode 100644 index 0000000000..84b6ee5250 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompressionType.cpp @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CompressionType.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace CompressionTypeMapper + { + + static const int NONE_HASH = HashingUtils::HashString("NONE"); + static const int GZIP_HASH = HashingUtils::HashString("GZIP"); + static const int BZIP2_HASH = HashingUtils::HashString("BZIP2"); + + + CompressionType GetCompressionTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == NONE_HASH) + { + return CompressionType::NONE; + } + else if (hashCode == GZIP_HASH) + { + return CompressionType::GZIP; + } + else if (hashCode == BZIP2_HASH) + { + return CompressionType::BZIP2; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<CompressionType>(hashCode); + } + + return CompressionType::NOT_SET; + } + + Aws::String GetNameForCompressionType(CompressionType enumValue) + { + switch(enumValue) + { + case CompressionType::NONE: + return "NONE"; + case CompressionType::GZIP: + return "GZIP"; + case CompressionType::BZIP2: + return "BZIP2"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace CompressionTypeMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Condition.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Condition.cpp new file mode 100644 index 0000000000..a97e68bffc --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Condition.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Condition.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 +{ + +Condition::Condition() : + m_httpErrorCodeReturnedEqualsHasBeenSet(false), + m_keyPrefixEqualsHasBeenSet(false) +{ +} + +Condition::Condition(const XmlNode& xmlNode) : + m_httpErrorCodeReturnedEqualsHasBeenSet(false), + m_keyPrefixEqualsHasBeenSet(false) +{ + *this = xmlNode; +} + +Condition& Condition::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode httpErrorCodeReturnedEqualsNode = resultNode.FirstChild("HttpErrorCodeReturnedEquals"); + if(!httpErrorCodeReturnedEqualsNode.IsNull()) + { + m_httpErrorCodeReturnedEquals = Aws::Utils::Xml::DecodeEscapedXmlText(httpErrorCodeReturnedEqualsNode.GetText()); + m_httpErrorCodeReturnedEqualsHasBeenSet = true; + } + XmlNode keyPrefixEqualsNode = resultNode.FirstChild("KeyPrefixEquals"); + if(!keyPrefixEqualsNode.IsNull()) + { + m_keyPrefixEquals = Aws::Utils::Xml::DecodeEscapedXmlText(keyPrefixEqualsNode.GetText()); + m_keyPrefixEqualsHasBeenSet = true; + } + } + + return *this; +} + +void Condition::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_httpErrorCodeReturnedEqualsHasBeenSet) + { + XmlNode httpErrorCodeReturnedEqualsNode = parentNode.CreateChildElement("HttpErrorCodeReturnedEquals"); + httpErrorCodeReturnedEqualsNode.SetText(m_httpErrorCodeReturnedEquals); + } + + if(m_keyPrefixEqualsHasBeenSet) + { + XmlNode keyPrefixEqualsNode = parentNode.CreateChildElement("KeyPrefixEquals"); + keyPrefixEqualsNode.SetText(m_keyPrefixEquals); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyObjectRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyObjectRequest.cpp new file mode 100644 index 0000000000..bd9f656890 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyObjectRequest.cpp @@ -0,0 +1,350 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CopyObjectRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +CopyObjectRequest::CopyObjectRequest() : + m_aCL(ObjectCannedACL::NOT_SET), + m_aCLHasBeenSet(false), + m_bucketHasBeenSet(false), + m_cacheControlHasBeenSet(false), + m_contentDispositionHasBeenSet(false), + m_contentEncodingHasBeenSet(false), + m_contentLanguageHasBeenSet(false), + m_contentTypeHasBeenSet(false), + m_copySourceHasBeenSet(false), + m_copySourceIfMatchHasBeenSet(false), + m_copySourceIfModifiedSinceHasBeenSet(false), + m_copySourceIfNoneMatchHasBeenSet(false), + m_copySourceIfUnmodifiedSinceHasBeenSet(false), + m_expiresHasBeenSet(false), + m_grantFullControlHasBeenSet(false), + m_grantReadHasBeenSet(false), + m_grantReadACPHasBeenSet(false), + m_grantWriteACPHasBeenSet(false), + m_keyHasBeenSet(false), + m_metadataHasBeenSet(false), + m_metadataDirective(MetadataDirective::NOT_SET), + m_metadataDirectiveHasBeenSet(false), + m_taggingDirective(TaggingDirective::NOT_SET), + m_taggingDirectiveHasBeenSet(false), + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_serverSideEncryptionHasBeenSet(false), + m_storageClass(StorageClass::NOT_SET), + m_storageClassHasBeenSet(false), + m_websiteRedirectLocationHasBeenSet(false), + m_sSECustomerAlgorithmHasBeenSet(false), + m_sSECustomerKeyHasBeenSet(false), + m_sSECustomerKeyMD5HasBeenSet(false), + m_sSEKMSKeyIdHasBeenSet(false), + m_sSEKMSEncryptionContextHasBeenSet(false), + m_bucketKeyEnabled(false), + m_bucketKeyEnabledHasBeenSet(false), + m_copySourceSSECustomerAlgorithmHasBeenSet(false), + m_copySourceSSECustomerKeyHasBeenSet(false), + m_copySourceSSECustomerKeyMD5HasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_taggingHasBeenSet(false), + m_objectLockMode(ObjectLockMode::NOT_SET), + m_objectLockModeHasBeenSet(false), + m_objectLockRetainUntilDateHasBeenSet(false), + m_objectLockLegalHoldStatus(ObjectLockLegalHoldStatus::NOT_SET), + m_objectLockLegalHoldStatusHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_expectedSourceBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String CopyObjectRequest::SerializePayload() const +{ + return {}; +} + +void CopyObjectRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection CopyObjectRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_aCLHasBeenSet) + { + headers.emplace("x-amz-acl", ObjectCannedACLMapper::GetNameForObjectCannedACL(m_aCL)); + } + + if(m_cacheControlHasBeenSet) + { + ss << m_cacheControl; + headers.emplace("cache-control", ss.str()); + ss.str(""); + } + + if(m_contentDispositionHasBeenSet) + { + ss << m_contentDisposition; + headers.emplace("content-disposition", ss.str()); + ss.str(""); + } + + if(m_contentEncodingHasBeenSet) + { + ss << m_contentEncoding; + headers.emplace("content-encoding", ss.str()); + ss.str(""); + } + + if(m_contentLanguageHasBeenSet) + { + ss << m_contentLanguage; + headers.emplace("content-language", ss.str()); + ss.str(""); + } + + if(m_contentTypeHasBeenSet) + { + ss << m_contentType; + headers.emplace("content-type", ss.str()); + ss.str(""); + } + + if(m_copySourceHasBeenSet) + { + ss << m_copySource; + headers.emplace("x-amz-copy-source", URI::URLEncodePath(ss.str())); + ss.str(""); + } + + if(m_copySourceIfMatchHasBeenSet) + { + ss << m_copySourceIfMatch; + headers.emplace("x-amz-copy-source-if-match", ss.str()); + ss.str(""); + } + + if(m_copySourceIfModifiedSinceHasBeenSet) + { + headers.emplace("x-amz-copy-source-if-modified-since", m_copySourceIfModifiedSince.ToGmtString(DateFormat::RFC822)); + } + + if(m_copySourceIfNoneMatchHasBeenSet) + { + ss << m_copySourceIfNoneMatch; + headers.emplace("x-amz-copy-source-if-none-match", ss.str()); + ss.str(""); + } + + if(m_copySourceIfUnmodifiedSinceHasBeenSet) + { + headers.emplace("x-amz-copy-source-if-unmodified-since", m_copySourceIfUnmodifiedSince.ToGmtString(DateFormat::RFC822)); + } + + if(m_expiresHasBeenSet) + { + headers.emplace("expires", m_expires.ToGmtString(DateFormat::RFC822)); + } + + if(m_grantFullControlHasBeenSet) + { + ss << m_grantFullControl; + headers.emplace("x-amz-grant-full-control", ss.str()); + ss.str(""); + } + + if(m_grantReadHasBeenSet) + { + ss << m_grantRead; + headers.emplace("x-amz-grant-read", ss.str()); + ss.str(""); + } + + if(m_grantReadACPHasBeenSet) + { + ss << m_grantReadACP; + headers.emplace("x-amz-grant-read-acp", ss.str()); + ss.str(""); + } + + if(m_grantWriteACPHasBeenSet) + { + ss << m_grantWriteACP; + headers.emplace("x-amz-grant-write-acp", ss.str()); + ss.str(""); + } + + if(m_metadataHasBeenSet) + { + for(const auto& item : m_metadata) + { + ss << "x-amz-meta-" << item.first; + headers.emplace(ss.str(), item.second); + ss.str(""); + } + } + + if(m_metadataDirectiveHasBeenSet) + { + headers.emplace("x-amz-metadata-directive", MetadataDirectiveMapper::GetNameForMetadataDirective(m_metadataDirective)); + } + + if(m_taggingDirectiveHasBeenSet) + { + headers.emplace("x-amz-tagging-directive", TaggingDirectiveMapper::GetNameForTaggingDirective(m_taggingDirective)); + } + + if(m_serverSideEncryptionHasBeenSet) + { + headers.emplace("x-amz-server-side-encryption", ServerSideEncryptionMapper::GetNameForServerSideEncryption(m_serverSideEncryption)); + } + + if(m_storageClassHasBeenSet) + { + headers.emplace("x-amz-storage-class", StorageClassMapper::GetNameForStorageClass(m_storageClass)); + } + + if(m_websiteRedirectLocationHasBeenSet) + { + ss << m_websiteRedirectLocation; + headers.emplace("x-amz-website-redirect-location", ss.str()); + ss.str(""); + } + + if(m_sSECustomerAlgorithmHasBeenSet) + { + ss << m_sSECustomerAlgorithm; + headers.emplace("x-amz-server-side-encryption-customer-algorithm", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyHasBeenSet) + { + ss << m_sSECustomerKey; + headers.emplace("x-amz-server-side-encryption-customer-key", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyMD5HasBeenSet) + { + ss << m_sSECustomerKeyMD5; + headers.emplace("x-amz-server-side-encryption-customer-key-md5", ss.str()); + ss.str(""); + } + + if(m_sSEKMSKeyIdHasBeenSet) + { + ss << m_sSEKMSKeyId; + headers.emplace("x-amz-server-side-encryption-aws-kms-key-id", ss.str()); + ss.str(""); + } + + if(m_sSEKMSEncryptionContextHasBeenSet) + { + ss << m_sSEKMSEncryptionContext; + headers.emplace("x-amz-server-side-encryption-context", ss.str()); + ss.str(""); + } + + if(m_bucketKeyEnabledHasBeenSet) + { + ss << m_bucketKeyEnabled; + headers.emplace("x-amz-server-side-encryption-bucket-key-enabled", ss.str()); + ss.str(""); + } + + if(m_copySourceSSECustomerAlgorithmHasBeenSet) + { + ss << m_copySourceSSECustomerAlgorithm; + headers.emplace("x-amz-copy-source-server-side-encryption-customer-algorithm", ss.str()); + ss.str(""); + } + + if(m_copySourceSSECustomerKeyHasBeenSet) + { + ss << m_copySourceSSECustomerKey; + headers.emplace("x-amz-copy-source-server-side-encryption-customer-key", ss.str()); + ss.str(""); + } + + if(m_copySourceSSECustomerKeyMD5HasBeenSet) + { + ss << m_copySourceSSECustomerKeyMD5; + headers.emplace("x-amz-copy-source-server-side-encryption-customer-key-md5", ss.str()); + ss.str(""); + } + + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_taggingHasBeenSet) + { + ss << m_tagging; + headers.emplace("x-amz-tagging", ss.str()); + ss.str(""); + } + + if(m_objectLockModeHasBeenSet) + { + headers.emplace("x-amz-object-lock-mode", ObjectLockModeMapper::GetNameForObjectLockMode(m_objectLockMode)); + } + + if(m_objectLockRetainUntilDateHasBeenSet) + { + headers.emplace("x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(DateFormat::RFC822)); + } + + if(m_objectLockLegalHoldStatusHasBeenSet) + { + headers.emplace("x-amz-object-lock-legal-hold", ObjectLockLegalHoldStatusMapper::GetNameForObjectLockLegalHoldStatus(m_objectLockLegalHoldStatus)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + if(m_expectedSourceBucketOwnerHasBeenSet) + { + ss << m_expectedSourceBucketOwner; + headers.emplace("x-amz-source-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyObjectResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyObjectResult.cpp new file mode 100644 index 0000000000..a24fe26498 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyObjectResult.cpp @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CopyObjectResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +CopyObjectResult::CopyObjectResult() : + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_bucketKeyEnabled(false), + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +CopyObjectResult::CopyObjectResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_bucketKeyEnabled(false), + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +CopyObjectResult& CopyObjectResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_copyObjectResultDetails = resultNode; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& expirationIter = headers.find("x-amz-expiration"); + if(expirationIter != headers.end()) + { + m_expiration = expirationIter->second; + } + + const auto& copySourceVersionIdIter = headers.find("x-amz-copy-source-version-id"); + if(copySourceVersionIdIter != headers.end()) + { + m_copySourceVersionId = copySourceVersionIdIter->second; + } + + const auto& versionIdIter = headers.find("x-amz-version-id"); + if(versionIdIter != headers.end()) + { + m_versionId = versionIdIter->second; + } + + const auto& serverSideEncryptionIter = headers.find("x-amz-server-side-encryption"); + if(serverSideEncryptionIter != headers.end()) + { + m_serverSideEncryption = ServerSideEncryptionMapper::GetServerSideEncryptionForName(serverSideEncryptionIter->second); + } + + const auto& sSECustomerAlgorithmIter = headers.find("x-amz-server-side-encryption-customer-algorithm"); + if(sSECustomerAlgorithmIter != headers.end()) + { + m_sSECustomerAlgorithm = sSECustomerAlgorithmIter->second; + } + + const auto& sSECustomerKeyMD5Iter = headers.find("x-amz-server-side-encryption-customer-key-md5"); + if(sSECustomerKeyMD5Iter != headers.end()) + { + m_sSECustomerKeyMD5 = sSECustomerKeyMD5Iter->second; + } + + const auto& sSEKMSKeyIdIter = headers.find("x-amz-server-side-encryption-aws-kms-key-id"); + if(sSEKMSKeyIdIter != headers.end()) + { + m_sSEKMSKeyId = sSEKMSKeyIdIter->second; + } + + const auto& sSEKMSEncryptionContextIter = headers.find("x-amz-server-side-encryption-context"); + if(sSEKMSEncryptionContextIter != headers.end()) + { + m_sSEKMSEncryptionContext = sSEKMSEncryptionContextIter->second; + } + + const auto& bucketKeyEnabledIter = headers.find("x-amz-server-side-encryption-bucket-key-enabled"); + if(bucketKeyEnabledIter != headers.end()) + { + m_bucketKeyEnabled = StringUtils::ConvertToBool(bucketKeyEnabledIter->second.c_str()); + } + + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyObjectResultDetails.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyObjectResultDetails.cpp new file mode 100644 index 0000000000..6e03159046 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyObjectResultDetails.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CopyObjectResultDetails.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 +{ + +CopyObjectResultDetails::CopyObjectResultDetails() : + m_eTagHasBeenSet(false), + m_lastModifiedHasBeenSet(false) +{ +} + +CopyObjectResultDetails::CopyObjectResultDetails(const XmlNode& xmlNode) : + m_eTagHasBeenSet(false), + m_lastModifiedHasBeenSet(false) +{ + *this = xmlNode; +} + +CopyObjectResultDetails& CopyObjectResultDetails::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode eTagNode = resultNode.FirstChild("ETag"); + if(!eTagNode.IsNull()) + { + m_eTag = Aws::Utils::Xml::DecodeEscapedXmlText(eTagNode.GetText()); + m_eTagHasBeenSet = true; + } + XmlNode lastModifiedNode = resultNode.FirstChild("LastModified"); + if(!lastModifiedNode.IsNull()) + { + m_lastModified = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(lastModifiedNode.GetText()).c_str()).c_str(), DateFormat::ISO_8601); + m_lastModifiedHasBeenSet = true; + } + } + + return *this; +} + +void CopyObjectResultDetails::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_eTagHasBeenSet) + { + XmlNode eTagNode = parentNode.CreateChildElement("ETag"); + eTagNode.SetText(m_eTag); + } + + if(m_lastModifiedHasBeenSet) + { + XmlNode lastModifiedNode = parentNode.CreateChildElement("LastModified"); + lastModifiedNode.SetText(m_lastModified.ToGmtString(DateFormat::ISO_8601)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyPartResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyPartResult.cpp new file mode 100644 index 0000000000..f8f5c9809c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyPartResult.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CopyPartResult.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 +{ + +CopyPartResult::CopyPartResult() : + m_eTagHasBeenSet(false), + m_lastModifiedHasBeenSet(false) +{ +} + +CopyPartResult::CopyPartResult(const XmlNode& xmlNode) : + m_eTagHasBeenSet(false), + m_lastModifiedHasBeenSet(false) +{ + *this = xmlNode; +} + +CopyPartResult& CopyPartResult::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode eTagNode = resultNode.FirstChild("ETag"); + if(!eTagNode.IsNull()) + { + m_eTag = Aws::Utils::Xml::DecodeEscapedXmlText(eTagNode.GetText()); + m_eTagHasBeenSet = true; + } + XmlNode lastModifiedNode = resultNode.FirstChild("LastModified"); + if(!lastModifiedNode.IsNull()) + { + m_lastModified = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(lastModifiedNode.GetText()).c_str()).c_str(), DateFormat::ISO_8601); + m_lastModifiedHasBeenSet = true; + } + } + + return *this; +} + +void CopyPartResult::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_eTagHasBeenSet) + { + XmlNode eTagNode = parentNode.CreateChildElement("ETag"); + eTagNode.SetText(m_eTag); + } + + if(m_lastModifiedHasBeenSet) + { + XmlNode lastModifiedNode = parentNode.CreateChildElement("LastModified"); + lastModifiedNode.SetText(m_lastModified.ToGmtString(DateFormat::ISO_8601)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateBucketConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateBucketConfiguration.cpp new file mode 100644 index 0000000000..d29cbaa9bb --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateBucketConfiguration.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CreateBucketConfiguration.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 +{ + +CreateBucketConfiguration::CreateBucketConfiguration() : + m_locationConstraint(BucketLocationConstraint::NOT_SET), + m_locationConstraintHasBeenSet(false) +{ +} + +CreateBucketConfiguration::CreateBucketConfiguration(const XmlNode& xmlNode) : + m_locationConstraint(BucketLocationConstraint::NOT_SET), + m_locationConstraintHasBeenSet(false) +{ + *this = xmlNode; +} + +CreateBucketConfiguration& CreateBucketConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode locationConstraintNode = resultNode.FirstChild("LocationConstraint"); + if(!locationConstraintNode.IsNull()) + { + m_locationConstraint = BucketLocationConstraintMapper::GetBucketLocationConstraintForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(locationConstraintNode.GetText()).c_str()).c_str()); + m_locationConstraintHasBeenSet = true; + } + } + + return *this; +} + +void CreateBucketConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_locationConstraintHasBeenSet) + { + XmlNode locationConstraintNode = parentNode.CreateChildElement("LocationConstraint"); + locationConstraintNode.SetText(BucketLocationConstraintMapper::GetNameForBucketLocationConstraint(m_locationConstraint)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateBucketRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateBucketRequest.cpp new file mode 100644 index 0000000000..0cd50dbf6d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateBucketRequest.cpp @@ -0,0 +1,125 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CreateBucketRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +CreateBucketRequest::CreateBucketRequest() : + m_aCL(BucketCannedACL::NOT_SET), + m_aCLHasBeenSet(false), + m_bucketHasBeenSet(false), + m_createBucketConfigurationHasBeenSet(false), + m_grantFullControlHasBeenSet(false), + m_grantReadHasBeenSet(false), + m_grantReadACPHasBeenSet(false), + m_grantWriteHasBeenSet(false), + m_grantWriteACPHasBeenSet(false), + m_objectLockEnabledForBucket(false), + m_objectLockEnabledForBucketHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String CreateBucketRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("CreateBucketConfiguration"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_createBucketConfiguration.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void CreateBucketRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection CreateBucketRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_aCLHasBeenSet) + { + headers.emplace("x-amz-acl", BucketCannedACLMapper::GetNameForBucketCannedACL(m_aCL)); + } + + if(m_grantFullControlHasBeenSet) + { + ss << m_grantFullControl; + headers.emplace("x-amz-grant-full-control", ss.str()); + ss.str(""); + } + + if(m_grantReadHasBeenSet) + { + ss << m_grantRead; + headers.emplace("x-amz-grant-read", ss.str()); + ss.str(""); + } + + if(m_grantReadACPHasBeenSet) + { + ss << m_grantReadACP; + headers.emplace("x-amz-grant-read-acp", ss.str()); + ss.str(""); + } + + if(m_grantWriteHasBeenSet) + { + ss << m_grantWrite; + headers.emplace("x-amz-grant-write", ss.str()); + ss.str(""); + } + + if(m_grantWriteACPHasBeenSet) + { + ss << m_grantWriteACP; + headers.emplace("x-amz-grant-write-acp", ss.str()); + ss.str(""); + } + + if(m_objectLockEnabledForBucketHasBeenSet) + { + ss << m_objectLockEnabledForBucket; + headers.emplace("x-amz-bucket-object-lock-enabled", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateBucketResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateBucketResult.cpp new file mode 100644 index 0000000000..a6f72b616a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateBucketResult.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CreateBucketResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +CreateBucketResult::CreateBucketResult() +{ +} + +CreateBucketResult::CreateBucketResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +CreateBucketResult& CreateBucketResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& locationIter = headers.find("location"); + if(locationIter != headers.end()) + { + m_location = locationIter->second; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateMultipartUploadRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateMultipartUploadRequest.cpp new file mode 100644 index 0000000000..2347045761 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateMultipartUploadRequest.cpp @@ -0,0 +1,268 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CreateMultipartUploadRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +CreateMultipartUploadRequest::CreateMultipartUploadRequest() : + m_aCL(ObjectCannedACL::NOT_SET), + m_aCLHasBeenSet(false), + m_bucketHasBeenSet(false), + m_cacheControlHasBeenSet(false), + m_contentDispositionHasBeenSet(false), + m_contentEncodingHasBeenSet(false), + m_contentLanguageHasBeenSet(false), + m_contentTypeHasBeenSet(false), + m_expiresHasBeenSet(false), + m_grantFullControlHasBeenSet(false), + m_grantReadHasBeenSet(false), + m_grantReadACPHasBeenSet(false), + m_grantWriteACPHasBeenSet(false), + m_keyHasBeenSet(false), + m_metadataHasBeenSet(false), + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_serverSideEncryptionHasBeenSet(false), + m_storageClass(StorageClass::NOT_SET), + m_storageClassHasBeenSet(false), + m_websiteRedirectLocationHasBeenSet(false), + m_sSECustomerAlgorithmHasBeenSet(false), + m_sSECustomerKeyHasBeenSet(false), + m_sSECustomerKeyMD5HasBeenSet(false), + m_sSEKMSKeyIdHasBeenSet(false), + m_sSEKMSEncryptionContextHasBeenSet(false), + m_bucketKeyEnabled(false), + m_bucketKeyEnabledHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_taggingHasBeenSet(false), + m_objectLockMode(ObjectLockMode::NOT_SET), + m_objectLockModeHasBeenSet(false), + m_objectLockRetainUntilDateHasBeenSet(false), + m_objectLockLegalHoldStatus(ObjectLockLegalHoldStatus::NOT_SET), + m_objectLockLegalHoldStatusHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String CreateMultipartUploadRequest::SerializePayload() const +{ + return {}; +} + +void CreateMultipartUploadRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection CreateMultipartUploadRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_aCLHasBeenSet) + { + headers.emplace("x-amz-acl", ObjectCannedACLMapper::GetNameForObjectCannedACL(m_aCL)); + } + + if(m_cacheControlHasBeenSet) + { + ss << m_cacheControl; + headers.emplace("cache-control", ss.str()); + ss.str(""); + } + + if(m_contentDispositionHasBeenSet) + { + ss << m_contentDisposition; + headers.emplace("content-disposition", ss.str()); + ss.str(""); + } + + if(m_contentEncodingHasBeenSet) + { + ss << m_contentEncoding; + headers.emplace("content-encoding", ss.str()); + ss.str(""); + } + + if(m_contentLanguageHasBeenSet) + { + ss << m_contentLanguage; + headers.emplace("content-language", ss.str()); + ss.str(""); + } + + if(m_contentTypeHasBeenSet) + { + ss << m_contentType; + headers.emplace("content-type", ss.str()); + ss.str(""); + } + + if(m_expiresHasBeenSet) + { + headers.emplace("expires", m_expires.ToGmtString(DateFormat::RFC822)); + } + + if(m_grantFullControlHasBeenSet) + { + ss << m_grantFullControl; + headers.emplace("x-amz-grant-full-control", ss.str()); + ss.str(""); + } + + if(m_grantReadHasBeenSet) + { + ss << m_grantRead; + headers.emplace("x-amz-grant-read", ss.str()); + ss.str(""); + } + + if(m_grantReadACPHasBeenSet) + { + ss << m_grantReadACP; + headers.emplace("x-amz-grant-read-acp", ss.str()); + ss.str(""); + } + + if(m_grantWriteACPHasBeenSet) + { + ss << m_grantWriteACP; + headers.emplace("x-amz-grant-write-acp", ss.str()); + ss.str(""); + } + + if(m_metadataHasBeenSet) + { + for(const auto& item : m_metadata) + { + ss << "x-amz-meta-" << item.first; + headers.emplace(ss.str(), item.second); + ss.str(""); + } + } + + if(m_serverSideEncryptionHasBeenSet) + { + headers.emplace("x-amz-server-side-encryption", ServerSideEncryptionMapper::GetNameForServerSideEncryption(m_serverSideEncryption)); + } + + if(m_storageClassHasBeenSet) + { + headers.emplace("x-amz-storage-class", StorageClassMapper::GetNameForStorageClass(m_storageClass)); + } + + if(m_websiteRedirectLocationHasBeenSet) + { + ss << m_websiteRedirectLocation; + headers.emplace("x-amz-website-redirect-location", ss.str()); + ss.str(""); + } + + if(m_sSECustomerAlgorithmHasBeenSet) + { + ss << m_sSECustomerAlgorithm; + headers.emplace("x-amz-server-side-encryption-customer-algorithm", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyHasBeenSet) + { + ss << m_sSECustomerKey; + headers.emplace("x-amz-server-side-encryption-customer-key", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyMD5HasBeenSet) + { + ss << m_sSECustomerKeyMD5; + headers.emplace("x-amz-server-side-encryption-customer-key-md5", ss.str()); + ss.str(""); + } + + if(m_sSEKMSKeyIdHasBeenSet) + { + ss << m_sSEKMSKeyId; + headers.emplace("x-amz-server-side-encryption-aws-kms-key-id", ss.str()); + ss.str(""); + } + + if(m_sSEKMSEncryptionContextHasBeenSet) + { + ss << m_sSEKMSEncryptionContext; + headers.emplace("x-amz-server-side-encryption-context", ss.str()); + ss.str(""); + } + + if(m_bucketKeyEnabledHasBeenSet) + { + ss << m_bucketKeyEnabled; + headers.emplace("x-amz-server-side-encryption-bucket-key-enabled", ss.str()); + ss.str(""); + } + + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_taggingHasBeenSet) + { + ss << m_tagging; + headers.emplace("x-amz-tagging", ss.str()); + ss.str(""); + } + + if(m_objectLockModeHasBeenSet) + { + headers.emplace("x-amz-object-lock-mode", ObjectLockModeMapper::GetNameForObjectLockMode(m_objectLockMode)); + } + + if(m_objectLockRetainUntilDateHasBeenSet) + { + headers.emplace("x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(DateFormat::RFC822)); + } + + if(m_objectLockLegalHoldStatusHasBeenSet) + { + headers.emplace("x-amz-object-lock-legal-hold", ObjectLockLegalHoldStatusMapper::GetNameForObjectLockLegalHoldStatus(m_objectLockLegalHoldStatus)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateMultipartUploadResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateMultipartUploadResult.cpp new file mode 100644 index 0000000000..4a2772c9ef --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateMultipartUploadResult.cpp @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/CreateMultipartUploadResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +CreateMultipartUploadResult::CreateMultipartUploadResult() : + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_bucketKeyEnabled(false), + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +CreateMultipartUploadResult::CreateMultipartUploadResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_bucketKeyEnabled(false), + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +CreateMultipartUploadResult& CreateMultipartUploadResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode bucketNode = resultNode.FirstChild("Bucket"); + if(!bucketNode.IsNull()) + { + m_bucket = Aws::Utils::Xml::DecodeEscapedXmlText(bucketNode.GetText()); + } + XmlNode keyNode = resultNode.FirstChild("Key"); + if(!keyNode.IsNull()) + { + m_key = Aws::Utils::Xml::DecodeEscapedXmlText(keyNode.GetText()); + } + XmlNode uploadIdNode = resultNode.FirstChild("UploadId"); + if(!uploadIdNode.IsNull()) + { + m_uploadId = Aws::Utils::Xml::DecodeEscapedXmlText(uploadIdNode.GetText()); + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& abortDateIter = headers.find("x-amz-abort-date"); + if(abortDateIter != headers.end()) + { + m_abortDate = DateTime(abortDateIter->second, DateFormat::RFC822); + } + + const auto& abortRuleIdIter = headers.find("x-amz-abort-rule-id"); + if(abortRuleIdIter != headers.end()) + { + m_abortRuleId = abortRuleIdIter->second; + } + + const auto& serverSideEncryptionIter = headers.find("x-amz-server-side-encryption"); + if(serverSideEncryptionIter != headers.end()) + { + m_serverSideEncryption = ServerSideEncryptionMapper::GetServerSideEncryptionForName(serverSideEncryptionIter->second); + } + + const auto& sSECustomerAlgorithmIter = headers.find("x-amz-server-side-encryption-customer-algorithm"); + if(sSECustomerAlgorithmIter != headers.end()) + { + m_sSECustomerAlgorithm = sSECustomerAlgorithmIter->second; + } + + const auto& sSECustomerKeyMD5Iter = headers.find("x-amz-server-side-encryption-customer-key-md5"); + if(sSECustomerKeyMD5Iter != headers.end()) + { + m_sSECustomerKeyMD5 = sSECustomerKeyMD5Iter->second; + } + + const auto& sSEKMSKeyIdIter = headers.find("x-amz-server-side-encryption-aws-kms-key-id"); + if(sSEKMSKeyIdIter != headers.end()) + { + m_sSEKMSKeyId = sSEKMSKeyIdIter->second; + } + + const auto& sSEKMSEncryptionContextIter = headers.find("x-amz-server-side-encryption-context"); + if(sSEKMSEncryptionContextIter != headers.end()) + { + m_sSEKMSEncryptionContext = sSEKMSEncryptionContextIter->second; + } + + const auto& bucketKeyEnabledIter = headers.find("x-amz-server-side-encryption-bucket-key-enabled"); + if(bucketKeyEnabledIter != headers.end()) + { + m_bucketKeyEnabled = StringUtils::ConvertToBool(bucketKeyEnabledIter->second.c_str()); + } + + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DefaultRetention.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DefaultRetention.cpp new file mode 100644 index 0000000000..63cddad838 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DefaultRetention.cpp @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DefaultRetention.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 +{ + +DefaultRetention::DefaultRetention() : + m_mode(ObjectLockRetentionMode::NOT_SET), + m_modeHasBeenSet(false), + m_days(0), + m_daysHasBeenSet(false), + m_years(0), + m_yearsHasBeenSet(false) +{ +} + +DefaultRetention::DefaultRetention(const XmlNode& xmlNode) : + m_mode(ObjectLockRetentionMode::NOT_SET), + m_modeHasBeenSet(false), + m_days(0), + m_daysHasBeenSet(false), + m_years(0), + m_yearsHasBeenSet(false) +{ + *this = xmlNode; +} + +DefaultRetention& DefaultRetention::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode modeNode = resultNode.FirstChild("Mode"); + if(!modeNode.IsNull()) + { + m_mode = ObjectLockRetentionModeMapper::GetObjectLockRetentionModeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(modeNode.GetText()).c_str()).c_str()); + m_modeHasBeenSet = true; + } + XmlNode daysNode = resultNode.FirstChild("Days"); + if(!daysNode.IsNull()) + { + m_days = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(daysNode.GetText()).c_str()).c_str()); + m_daysHasBeenSet = true; + } + XmlNode yearsNode = resultNode.FirstChild("Years"); + if(!yearsNode.IsNull()) + { + m_years = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(yearsNode.GetText()).c_str()).c_str()); + m_yearsHasBeenSet = true; + } + } + + return *this; +} + +void DefaultRetention::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_modeHasBeenSet) + { + XmlNode modeNode = parentNode.CreateChildElement("Mode"); + modeNode.SetText(ObjectLockRetentionModeMapper::GetNameForObjectLockRetentionMode(m_mode)); + } + + if(m_daysHasBeenSet) + { + XmlNode daysNode = parentNode.CreateChildElement("Days"); + ss << m_days; + daysNode.SetText(ss.str()); + ss.str(""); + } + + if(m_yearsHasBeenSet) + { + XmlNode yearsNode = parentNode.CreateChildElement("Years"); + ss << m_years; + yearsNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Delete.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Delete.cpp new file mode 100644 index 0000000000..9789ee2140 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Delete.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Delete.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 +{ + +Delete::Delete() : + m_objectsHasBeenSet(false), + m_quiet(false), + m_quietHasBeenSet(false) +{ +} + +Delete::Delete(const XmlNode& xmlNode) : + m_objectsHasBeenSet(false), + m_quiet(false), + m_quietHasBeenSet(false) +{ + *this = xmlNode; +} + +Delete& Delete::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode objectsNode = resultNode.FirstChild("Object"); + if(!objectsNode.IsNull()) + { + XmlNode objectMember = objectsNode; + while(!objectMember.IsNull()) + { + m_objects.push_back(objectMember); + objectMember = objectMember.NextNode("Object"); + } + + m_objectsHasBeenSet = true; + } + XmlNode quietNode = resultNode.FirstChild("Quiet"); + if(!quietNode.IsNull()) + { + m_quiet = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(quietNode.GetText()).c_str()).c_str()); + m_quietHasBeenSet = true; + } + } + + return *this; +} + +void Delete::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_objectsHasBeenSet) + { + for(const auto& item : m_objects) + { + XmlNode objectsNode = parentNode.CreateChildElement("Object"); + item.AddToNode(objectsNode); + } + } + + if(m_quietHasBeenSet) + { + XmlNode quietNode = parentNode.CreateChildElement("Quiet"); + ss << std::boolalpha << m_quiet; + quietNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketAnalyticsConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketAnalyticsConfigurationRequest.cpp new file mode 100644 index 0000000000..bcd1e8f320 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketAnalyticsConfigurationRequest.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteBucketAnalyticsConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteBucketAnalyticsConfigurationRequest::DeleteBucketAnalyticsConfigurationRequest() : + m_bucketHasBeenSet(false), + m_idHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeleteBucketAnalyticsConfigurationRequest::SerializePayload() const +{ + return {}; +} + +void DeleteBucketAnalyticsConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + ss << m_id; + uri.AddQueryStringParameter("id", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection DeleteBucketAnalyticsConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketCorsRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketCorsRequest.cpp new file mode 100644 index 0000000000..b52d99571a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketCorsRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteBucketCorsRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteBucketCorsRequest::DeleteBucketCorsRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeleteBucketCorsRequest::SerializePayload() const +{ + return {}; +} + +void DeleteBucketCorsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection DeleteBucketCorsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketEncryptionRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketEncryptionRequest.cpp new file mode 100644 index 0000000000..3e01a0b9dc --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketEncryptionRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteBucketEncryptionRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteBucketEncryptionRequest::DeleteBucketEncryptionRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeleteBucketEncryptionRequest::SerializePayload() const +{ + return {}; +} + +void DeleteBucketEncryptionRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection DeleteBucketEncryptionRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp new file mode 100644 index 0000000000..b48d573ee6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteBucketIntelligentTieringConfigurationRequest::DeleteBucketIntelligentTieringConfigurationRequest() : + m_bucketHasBeenSet(false), + m_idHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeleteBucketIntelligentTieringConfigurationRequest::SerializePayload() const +{ + return {}; +} + +void DeleteBucketIntelligentTieringConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + ss << m_id; + uri.AddQueryStringParameter("id", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketInventoryConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketInventoryConfigurationRequest.cpp new file mode 100644 index 0000000000..7bc2d179d6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketInventoryConfigurationRequest.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteBucketInventoryConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteBucketInventoryConfigurationRequest::DeleteBucketInventoryConfigurationRequest() : + m_bucketHasBeenSet(false), + m_idHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeleteBucketInventoryConfigurationRequest::SerializePayload() const +{ + return {}; +} + +void DeleteBucketInventoryConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + ss << m_id; + uri.AddQueryStringParameter("id", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection DeleteBucketInventoryConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketLifecycleRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketLifecycleRequest.cpp new file mode 100644 index 0000000000..54311cff3e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketLifecycleRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteBucketLifecycleRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteBucketLifecycleRequest::DeleteBucketLifecycleRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeleteBucketLifecycleRequest::SerializePayload() const +{ + return {}; +} + +void DeleteBucketLifecycleRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection DeleteBucketLifecycleRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketMetricsConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketMetricsConfigurationRequest.cpp new file mode 100644 index 0000000000..631dee94a7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketMetricsConfigurationRequest.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteBucketMetricsConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteBucketMetricsConfigurationRequest::DeleteBucketMetricsConfigurationRequest() : + m_bucketHasBeenSet(false), + m_idHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeleteBucketMetricsConfigurationRequest::SerializePayload() const +{ + return {}; +} + +void DeleteBucketMetricsConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + ss << m_id; + uri.AddQueryStringParameter("id", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection DeleteBucketMetricsConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketOwnershipControlsRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketOwnershipControlsRequest.cpp new file mode 100644 index 0000000000..5b18b12424 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketOwnershipControlsRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteBucketOwnershipControlsRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteBucketOwnershipControlsRequest::DeleteBucketOwnershipControlsRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeleteBucketOwnershipControlsRequest::SerializePayload() const +{ + return {}; +} + +void DeleteBucketOwnershipControlsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection DeleteBucketOwnershipControlsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketPolicyRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketPolicyRequest.cpp new file mode 100644 index 0000000000..33bb2cef34 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketPolicyRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteBucketPolicyRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteBucketPolicyRequest::DeleteBucketPolicyRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeleteBucketPolicyRequest::SerializePayload() const +{ + return {}; +} + +void DeleteBucketPolicyRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection DeleteBucketPolicyRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketReplicationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketReplicationRequest.cpp new file mode 100644 index 0000000000..af6092ee6c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketReplicationRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteBucketReplicationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteBucketReplicationRequest::DeleteBucketReplicationRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeleteBucketReplicationRequest::SerializePayload() const +{ + return {}; +} + +void DeleteBucketReplicationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection DeleteBucketReplicationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketRequest.cpp new file mode 100644 index 0000000000..3cfa02d882 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteBucketRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteBucketRequest::DeleteBucketRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeleteBucketRequest::SerializePayload() const +{ + return {}; +} + +void DeleteBucketRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection DeleteBucketRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketTaggingRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketTaggingRequest.cpp new file mode 100644 index 0000000000..7d61b959f5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketTaggingRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteBucketTaggingRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteBucketTaggingRequest::DeleteBucketTaggingRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeleteBucketTaggingRequest::SerializePayload() const +{ + return {}; +} + +void DeleteBucketTaggingRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection DeleteBucketTaggingRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketWebsiteRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketWebsiteRequest.cpp new file mode 100644 index 0000000000..59bc58a8d7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketWebsiteRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteBucketWebsiteRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteBucketWebsiteRequest::DeleteBucketWebsiteRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeleteBucketWebsiteRequest::SerializePayload() const +{ + return {}; +} + +void DeleteBucketWebsiteRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection DeleteBucketWebsiteRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteMarkerEntry.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteMarkerEntry.cpp new file mode 100644 index 0000000000..05766bb960 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteMarkerEntry.cpp @@ -0,0 +1,124 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteMarkerEntry.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 +{ + +DeleteMarkerEntry::DeleteMarkerEntry() : + m_ownerHasBeenSet(false), + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_isLatest(false), + m_isLatestHasBeenSet(false), + m_lastModifiedHasBeenSet(false) +{ +} + +DeleteMarkerEntry::DeleteMarkerEntry(const XmlNode& xmlNode) : + m_ownerHasBeenSet(false), + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_isLatest(false), + m_isLatestHasBeenSet(false), + m_lastModifiedHasBeenSet(false) +{ + *this = xmlNode; +} + +DeleteMarkerEntry& DeleteMarkerEntry::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode ownerNode = resultNode.FirstChild("Owner"); + if(!ownerNode.IsNull()) + { + m_owner = ownerNode; + m_ownerHasBeenSet = true; + } + XmlNode keyNode = resultNode.FirstChild("Key"); + if(!keyNode.IsNull()) + { + m_key = Aws::Utils::Xml::DecodeEscapedXmlText(keyNode.GetText()); + m_keyHasBeenSet = true; + } + XmlNode versionIdNode = resultNode.FirstChild("VersionId"); + if(!versionIdNode.IsNull()) + { + m_versionId = Aws::Utils::Xml::DecodeEscapedXmlText(versionIdNode.GetText()); + m_versionIdHasBeenSet = true; + } + XmlNode isLatestNode = resultNode.FirstChild("IsLatest"); + if(!isLatestNode.IsNull()) + { + m_isLatest = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isLatestNode.GetText()).c_str()).c_str()); + m_isLatestHasBeenSet = true; + } + XmlNode lastModifiedNode = resultNode.FirstChild("LastModified"); + if(!lastModifiedNode.IsNull()) + { + m_lastModified = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(lastModifiedNode.GetText()).c_str()).c_str(), DateFormat::ISO_8601); + m_lastModifiedHasBeenSet = true; + } + } + + return *this; +} + +void DeleteMarkerEntry::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_ownerHasBeenSet) + { + XmlNode ownerNode = parentNode.CreateChildElement("Owner"); + m_owner.AddToNode(ownerNode); + } + + if(m_keyHasBeenSet) + { + XmlNode keyNode = parentNode.CreateChildElement("Key"); + keyNode.SetText(m_key); + } + + if(m_versionIdHasBeenSet) + { + XmlNode versionIdNode = parentNode.CreateChildElement("VersionId"); + versionIdNode.SetText(m_versionId); + } + + if(m_isLatestHasBeenSet) + { + XmlNode isLatestNode = parentNode.CreateChildElement("IsLatest"); + ss << std::boolalpha << m_isLatest; + isLatestNode.SetText(ss.str()); + ss.str(""); + } + + if(m_lastModifiedHasBeenSet) + { + XmlNode lastModifiedNode = parentNode.CreateChildElement("LastModified"); + lastModifiedNode.SetText(m_lastModified.ToGmtString(DateFormat::ISO_8601)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteMarkerReplication.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteMarkerReplication.cpp new file mode 100644 index 0000000000..3337521fa5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteMarkerReplication.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteMarkerReplication.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 +{ + +DeleteMarkerReplication::DeleteMarkerReplication() : + m_status(DeleteMarkerReplicationStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +DeleteMarkerReplication::DeleteMarkerReplication(const XmlNode& xmlNode) : + m_status(DeleteMarkerReplicationStatus::NOT_SET), + m_statusHasBeenSet(false) +{ + *this = xmlNode; +} + +DeleteMarkerReplication& DeleteMarkerReplication::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode statusNode = resultNode.FirstChild("Status"); + if(!statusNode.IsNull()) + { + m_status = DeleteMarkerReplicationStatusMapper::GetDeleteMarkerReplicationStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusNode.GetText()).c_str()).c_str()); + m_statusHasBeenSet = true; + } + } + + return *this; +} + +void DeleteMarkerReplication::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_statusHasBeenSet) + { + XmlNode statusNode = parentNode.CreateChildElement("Status"); + statusNode.SetText(DeleteMarkerReplicationStatusMapper::GetNameForDeleteMarkerReplicationStatus(m_status)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteMarkerReplicationStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteMarkerReplicationStatus.cpp new file mode 100644 index 0000000000..c5ec052949 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteMarkerReplicationStatus.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteMarkerReplicationStatus.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace DeleteMarkerReplicationStatusMapper + { + + static const int Enabled_HASH = HashingUtils::HashString("Enabled"); + static const int Disabled_HASH = HashingUtils::HashString("Disabled"); + + + DeleteMarkerReplicationStatus GetDeleteMarkerReplicationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Enabled_HASH) + { + return DeleteMarkerReplicationStatus::Enabled; + } + else if (hashCode == Disabled_HASH) + { + return DeleteMarkerReplicationStatus::Disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<DeleteMarkerReplicationStatus>(hashCode); + } + + return DeleteMarkerReplicationStatus::NOT_SET; + } + + Aws::String GetNameForDeleteMarkerReplicationStatus(DeleteMarkerReplicationStatus enumValue) + { + switch(enumValue) + { + case DeleteMarkerReplicationStatus::Enabled: + return "Enabled"; + case DeleteMarkerReplicationStatus::Disabled: + return "Disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace DeleteMarkerReplicationStatusMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectRequest.cpp new file mode 100644 index 0000000000..08da25d567 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectRequest.cpp @@ -0,0 +1,98 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteObjectRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteObjectRequest::DeleteObjectRequest() : + m_bucketHasBeenSet(false), + m_keyHasBeenSet(false), + m_mFAHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_bypassGovernanceRetention(false), + m_bypassGovernanceRetentionHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeleteObjectRequest::SerializePayload() const +{ + return {}; +} + +void DeleteObjectRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_versionIdHasBeenSet) + { + ss << m_versionId; + uri.AddQueryStringParameter("versionId", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection DeleteObjectRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_mFAHasBeenSet) + { + ss << m_mFA; + headers.emplace("x-amz-mfa", ss.str()); + ss.str(""); + } + + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_bypassGovernanceRetentionHasBeenSet) + { + ss << m_bypassGovernanceRetention; + headers.emplace("x-amz-bypass-governance-retention", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectResult.cpp new file mode 100644 index 0000000000..ee540456dc --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectResult.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteObjectResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +DeleteObjectResult::DeleteObjectResult() : + m_deleteMarker(false), + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +DeleteObjectResult::DeleteObjectResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_deleteMarker(false), + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +DeleteObjectResult& DeleteObjectResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& deleteMarkerIter = headers.find("x-amz-delete-marker"); + if(deleteMarkerIter != headers.end()) + { + m_deleteMarker = StringUtils::ConvertToBool(deleteMarkerIter->second.c_str()); + } + + const auto& versionIdIter = headers.find("x-amz-version-id"); + if(versionIdIter != headers.end()) + { + m_versionId = versionIdIter->second; + } + + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectTaggingRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectTaggingRequest.cpp new file mode 100644 index 0000000000..580a7fa70b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectTaggingRequest.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteObjectTaggingRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteObjectTaggingRequest::DeleteObjectTaggingRequest() : + m_bucketHasBeenSet(false), + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeleteObjectTaggingRequest::SerializePayload() const +{ + return {}; +} + +void DeleteObjectTaggingRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_versionIdHasBeenSet) + { + ss << m_versionId; + uri.AddQueryStringParameter("versionId", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection DeleteObjectTaggingRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectTaggingResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectTaggingResult.cpp new file mode 100644 index 0000000000..251d63ee55 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectTaggingResult.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteObjectTaggingResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +DeleteObjectTaggingResult::DeleteObjectTaggingResult() +{ +} + +DeleteObjectTaggingResult::DeleteObjectTaggingResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +DeleteObjectTaggingResult& DeleteObjectTaggingResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& versionIdIter = headers.find("x-amz-version-id"); + if(versionIdIter != headers.end()) + { + m_versionId = versionIdIter->second; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectsRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectsRequest.cpp new file mode 100644 index 0000000000..42118cc4b5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectsRequest.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteObjectsRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteObjectsRequest::DeleteObjectsRequest() : + m_bucketHasBeenSet(false), + m_deleteHasBeenSet(false), + m_mFAHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_bypassGovernanceRetention(false), + m_bypassGovernanceRetentionHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeleteObjectsRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("Delete"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_delete.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void DeleteObjectsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection DeleteObjectsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_mFAHasBeenSet) + { + ss << m_mFA; + headers.emplace("x-amz-mfa", ss.str()); + ss.str(""); + } + + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_bypassGovernanceRetentionHasBeenSet) + { + ss << m_bypassGovernanceRetention; + headers.emplace("x-amz-bypass-governance-retention", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectsResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectsResult.cpp new file mode 100644 index 0000000000..1af34a1d46 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectsResult.cpp @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeleteObjectsResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +DeleteObjectsResult::DeleteObjectsResult() : + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +DeleteObjectsResult::DeleteObjectsResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +DeleteObjectsResult& DeleteObjectsResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode deletedNode = resultNode.FirstChild("Deleted"); + if(!deletedNode.IsNull()) + { + XmlNode deletedMember = deletedNode; + while(!deletedMember.IsNull()) + { + m_deleted.push_back(deletedMember); + deletedMember = deletedMember.NextNode("Deleted"); + } + + } + XmlNode errorsNode = resultNode.FirstChild("Error"); + if(!errorsNode.IsNull()) + { + XmlNode errorMember = errorsNode; + while(!errorMember.IsNull()) + { + m_errors.push_back(errorMember); + errorMember = errorMember.NextNode("Error"); + } + + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeletePublicAccessBlockRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeletePublicAccessBlockRequest.cpp new file mode 100644 index 0000000000..750457f594 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeletePublicAccessBlockRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeletePublicAccessBlockRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeletePublicAccessBlockRequest::DeletePublicAccessBlockRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String DeletePublicAccessBlockRequest::SerializePayload() const +{ + return {}; +} + +void DeletePublicAccessBlockRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection DeletePublicAccessBlockRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeletedObject.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeletedObject.cpp new file mode 100644 index 0000000000..b883421480 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeletedObject.cpp @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/DeletedObject.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 +{ + +DeletedObject::DeletedObject() : + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_deleteMarker(false), + m_deleteMarkerHasBeenSet(false), + m_deleteMarkerVersionIdHasBeenSet(false) +{ +} + +DeletedObject::DeletedObject(const XmlNode& xmlNode) : + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_deleteMarker(false), + m_deleteMarkerHasBeenSet(false), + m_deleteMarkerVersionIdHasBeenSet(false) +{ + *this = xmlNode; +} + +DeletedObject& DeletedObject::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode keyNode = resultNode.FirstChild("Key"); + if(!keyNode.IsNull()) + { + m_key = Aws::Utils::Xml::DecodeEscapedXmlText(keyNode.GetText()); + m_keyHasBeenSet = true; + } + XmlNode versionIdNode = resultNode.FirstChild("VersionId"); + if(!versionIdNode.IsNull()) + { + m_versionId = Aws::Utils::Xml::DecodeEscapedXmlText(versionIdNode.GetText()); + m_versionIdHasBeenSet = true; + } + XmlNode deleteMarkerNode = resultNode.FirstChild("DeleteMarker"); + if(!deleteMarkerNode.IsNull()) + { + m_deleteMarker = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(deleteMarkerNode.GetText()).c_str()).c_str()); + m_deleteMarkerHasBeenSet = true; + } + XmlNode deleteMarkerVersionIdNode = resultNode.FirstChild("DeleteMarkerVersionId"); + if(!deleteMarkerVersionIdNode.IsNull()) + { + m_deleteMarkerVersionId = Aws::Utils::Xml::DecodeEscapedXmlText(deleteMarkerVersionIdNode.GetText()); + m_deleteMarkerVersionIdHasBeenSet = true; + } + } + + return *this; +} + +void DeletedObject::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + XmlNode keyNode = parentNode.CreateChildElement("Key"); + keyNode.SetText(m_key); + } + + if(m_versionIdHasBeenSet) + { + XmlNode versionIdNode = parentNode.CreateChildElement("VersionId"); + versionIdNode.SetText(m_versionId); + } + + if(m_deleteMarkerHasBeenSet) + { + XmlNode deleteMarkerNode = parentNode.CreateChildElement("DeleteMarker"); + ss << std::boolalpha << m_deleteMarker; + deleteMarkerNode.SetText(ss.str()); + ss.str(""); + } + + if(m_deleteMarkerVersionIdHasBeenSet) + { + XmlNode deleteMarkerVersionIdNode = parentNode.CreateChildElement("DeleteMarkerVersionId"); + deleteMarkerVersionIdNode.SetText(m_deleteMarkerVersionId); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Destination.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Destination.cpp new file mode 100644 index 0000000000..abffe638b4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Destination.cpp @@ -0,0 +1,150 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Destination.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 +{ + +Destination::Destination() : + m_bucketHasBeenSet(false), + m_accountHasBeenSet(false), + m_storageClass(StorageClass::NOT_SET), + m_storageClassHasBeenSet(false), + m_accessControlTranslationHasBeenSet(false), + m_encryptionConfigurationHasBeenSet(false), + m_replicationTimeHasBeenSet(false), + m_metricsHasBeenSet(false) +{ +} + +Destination::Destination(const XmlNode& xmlNode) : + m_bucketHasBeenSet(false), + m_accountHasBeenSet(false), + m_storageClass(StorageClass::NOT_SET), + m_storageClassHasBeenSet(false), + m_accessControlTranslationHasBeenSet(false), + m_encryptionConfigurationHasBeenSet(false), + m_replicationTimeHasBeenSet(false), + m_metricsHasBeenSet(false) +{ + *this = xmlNode; +} + +Destination& Destination::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode bucketNode = resultNode.FirstChild("Bucket"); + if(!bucketNode.IsNull()) + { + m_bucket = Aws::Utils::Xml::DecodeEscapedXmlText(bucketNode.GetText()); + m_bucketHasBeenSet = true; + } + XmlNode accountNode = resultNode.FirstChild("Account"); + if(!accountNode.IsNull()) + { + m_account = Aws::Utils::Xml::DecodeEscapedXmlText(accountNode.GetText()); + m_accountHasBeenSet = 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; + } + XmlNode accessControlTranslationNode = resultNode.FirstChild("AccessControlTranslation"); + if(!accessControlTranslationNode.IsNull()) + { + m_accessControlTranslation = accessControlTranslationNode; + m_accessControlTranslationHasBeenSet = true; + } + XmlNode encryptionConfigurationNode = resultNode.FirstChild("EncryptionConfiguration"); + if(!encryptionConfigurationNode.IsNull()) + { + m_encryptionConfiguration = encryptionConfigurationNode; + m_encryptionConfigurationHasBeenSet = true; + } + XmlNode replicationTimeNode = resultNode.FirstChild("ReplicationTime"); + if(!replicationTimeNode.IsNull()) + { + m_replicationTime = replicationTimeNode; + m_replicationTimeHasBeenSet = true; + } + XmlNode metricsNode = resultNode.FirstChild("Metrics"); + if(!metricsNode.IsNull()) + { + m_metrics = metricsNode; + m_metricsHasBeenSet = true; + } + } + + return *this; +} + +void Destination::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_bucketHasBeenSet) + { + XmlNode bucketNode = parentNode.CreateChildElement("Bucket"); + bucketNode.SetText(m_bucket); + } + + if(m_accountHasBeenSet) + { + XmlNode accountNode = parentNode.CreateChildElement("Account"); + accountNode.SetText(m_account); + } + + if(m_storageClassHasBeenSet) + { + XmlNode storageClassNode = parentNode.CreateChildElement("StorageClass"); + storageClassNode.SetText(StorageClassMapper::GetNameForStorageClass(m_storageClass)); + } + + if(m_accessControlTranslationHasBeenSet) + { + XmlNode accessControlTranslationNode = parentNode.CreateChildElement("AccessControlTranslation"); + m_accessControlTranslation.AddToNode(accessControlTranslationNode); + } + + if(m_encryptionConfigurationHasBeenSet) + { + XmlNode encryptionConfigurationNode = parentNode.CreateChildElement("EncryptionConfiguration"); + m_encryptionConfiguration.AddToNode(encryptionConfigurationNode); + } + + if(m_replicationTimeHasBeenSet) + { + XmlNode replicationTimeNode = parentNode.CreateChildElement("ReplicationTime"); + m_replicationTime.AddToNode(replicationTimeNode); + } + + if(m_metricsHasBeenSet) + { + XmlNode metricsNode = parentNode.CreateChildElement("Metrics"); + m_metrics.AddToNode(metricsNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/EncodingType.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/EncodingType.cpp new file mode 100644 index 0000000000..c72aa9a12f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/EncodingType.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/EncodingType.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace EncodingTypeMapper + { + + static const int url_HASH = HashingUtils::HashString("url"); + + + EncodingType GetEncodingTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == url_HASH) + { + return EncodingType::url; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<EncodingType>(hashCode); + } + + return EncodingType::NOT_SET; + } + + Aws::String GetNameForEncodingType(EncodingType enumValue) + { + switch(enumValue) + { + case EncodingType::url: + return "url"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace EncodingTypeMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Encryption.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Encryption.cpp new file mode 100644 index 0000000000..3bd7d72fd4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Encryption.cpp @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Encryption.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 +{ + +Encryption::Encryption() : + m_encryptionType(ServerSideEncryption::NOT_SET), + m_encryptionTypeHasBeenSet(false), + m_kMSKeyIdHasBeenSet(false), + m_kMSContextHasBeenSet(false) +{ +} + +Encryption::Encryption(const XmlNode& xmlNode) : + m_encryptionType(ServerSideEncryption::NOT_SET), + m_encryptionTypeHasBeenSet(false), + m_kMSKeyIdHasBeenSet(false), + m_kMSContextHasBeenSet(false) +{ + *this = xmlNode; +} + +Encryption& Encryption::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode encryptionTypeNode = resultNode.FirstChild("EncryptionType"); + if(!encryptionTypeNode.IsNull()) + { + m_encryptionType = ServerSideEncryptionMapper::GetServerSideEncryptionForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(encryptionTypeNode.GetText()).c_str()).c_str()); + m_encryptionTypeHasBeenSet = true; + } + XmlNode kMSKeyIdNode = resultNode.FirstChild("KMSKeyId"); + if(!kMSKeyIdNode.IsNull()) + { + m_kMSKeyId = Aws::Utils::Xml::DecodeEscapedXmlText(kMSKeyIdNode.GetText()); + m_kMSKeyIdHasBeenSet = true; + } + XmlNode kMSContextNode = resultNode.FirstChild("KMSContext"); + if(!kMSContextNode.IsNull()) + { + m_kMSContext = Aws::Utils::Xml::DecodeEscapedXmlText(kMSContextNode.GetText()); + m_kMSContextHasBeenSet = true; + } + } + + return *this; +} + +void Encryption::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_encryptionTypeHasBeenSet) + { + XmlNode encryptionTypeNode = parentNode.CreateChildElement("EncryptionType"); + encryptionTypeNode.SetText(ServerSideEncryptionMapper::GetNameForServerSideEncryption(m_encryptionType)); + } + + if(m_kMSKeyIdHasBeenSet) + { + XmlNode kMSKeyIdNode = parentNode.CreateChildElement("KMSKeyId"); + kMSKeyIdNode.SetText(m_kMSKeyId); + } + + if(m_kMSContextHasBeenSet) + { + XmlNode kMSContextNode = parentNode.CreateChildElement("KMSContext"); + kMSContextNode.SetText(m_kMSContext); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/EncryptionConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/EncryptionConfiguration.cpp new file mode 100644 index 0000000000..a81842d242 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/EncryptionConfiguration.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/EncryptionConfiguration.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 +{ + +EncryptionConfiguration::EncryptionConfiguration() : + m_replicaKmsKeyIDHasBeenSet(false) +{ +} + +EncryptionConfiguration::EncryptionConfiguration(const XmlNode& xmlNode) : + m_replicaKmsKeyIDHasBeenSet(false) +{ + *this = xmlNode; +} + +EncryptionConfiguration& EncryptionConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode replicaKmsKeyIDNode = resultNode.FirstChild("ReplicaKmsKeyID"); + if(!replicaKmsKeyIDNode.IsNull()) + { + m_replicaKmsKeyID = Aws::Utils::Xml::DecodeEscapedXmlText(replicaKmsKeyIDNode.GetText()); + m_replicaKmsKeyIDHasBeenSet = true; + } + } + + return *this; +} + +void EncryptionConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_replicaKmsKeyIDHasBeenSet) + { + XmlNode replicaKmsKeyIDNode = parentNode.CreateChildElement("ReplicaKmsKeyID"); + replicaKmsKeyIDNode.SetText(m_replicaKmsKeyID); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Error.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Error.cpp new file mode 100644 index 0000000000..bda3e85efe --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Error.cpp @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Error.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 +{ + +Error::Error() : + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_codeHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +Error::Error(const XmlNode& xmlNode) : + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_codeHasBeenSet(false), + m_messageHasBeenSet(false) +{ + *this = xmlNode; +} + +Error& Error::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode keyNode = resultNode.FirstChild("Key"); + if(!keyNode.IsNull()) + { + m_key = Aws::Utils::Xml::DecodeEscapedXmlText(keyNode.GetText()); + m_keyHasBeenSet = true; + } + XmlNode versionIdNode = resultNode.FirstChild("VersionId"); + if(!versionIdNode.IsNull()) + { + m_versionId = Aws::Utils::Xml::DecodeEscapedXmlText(versionIdNode.GetText()); + m_versionIdHasBeenSet = true; + } + XmlNode codeNode = resultNode.FirstChild("Code"); + if(!codeNode.IsNull()) + { + m_code = Aws::Utils::Xml::DecodeEscapedXmlText(codeNode.GetText()); + m_codeHasBeenSet = true; + } + XmlNode messageNode = resultNode.FirstChild("Message"); + if(!messageNode.IsNull()) + { + m_message = Aws::Utils::Xml::DecodeEscapedXmlText(messageNode.GetText()); + m_messageHasBeenSet = true; + } + } + + return *this; +} + +void Error::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + XmlNode keyNode = parentNode.CreateChildElement("Key"); + keyNode.SetText(m_key); + } + + if(m_versionIdHasBeenSet) + { + XmlNode versionIdNode = parentNode.CreateChildElement("VersionId"); + versionIdNode.SetText(m_versionId); + } + + if(m_codeHasBeenSet) + { + XmlNode codeNode = parentNode.CreateChildElement("Code"); + codeNode.SetText(m_code); + } + + if(m_messageHasBeenSet) + { + XmlNode messageNode = parentNode.CreateChildElement("Message"); + messageNode.SetText(m_message); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ErrorDocument.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ErrorDocument.cpp new file mode 100644 index 0000000000..84a923ca59 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ErrorDocument.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ErrorDocument.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 +{ + +ErrorDocument::ErrorDocument() : + m_keyHasBeenSet(false) +{ +} + +ErrorDocument::ErrorDocument(const XmlNode& xmlNode) : + m_keyHasBeenSet(false) +{ + *this = xmlNode; +} + +ErrorDocument& ErrorDocument::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode keyNode = resultNode.FirstChild("Key"); + if(!keyNode.IsNull()) + { + m_key = Aws::Utils::Xml::DecodeEscapedXmlText(keyNode.GetText()); + m_keyHasBeenSet = true; + } + } + + return *this; +} + +void ErrorDocument::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + XmlNode keyNode = parentNode.CreateChildElement("Key"); + keyNode.SetText(m_key); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Event.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Event.cpp new file mode 100644 index 0000000000..c6e779ab06 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Event.cpp @@ -0,0 +1,175 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Event.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace EventMapper + { + + static const int s3_ReducedRedundancyLostObject_HASH = HashingUtils::HashString("s3:ReducedRedundancyLostObject"); + static const int s3_ObjectCreated_HASH = HashingUtils::HashString("s3:ObjectCreated:*"); + static const int s3_ObjectCreated_Put_HASH = HashingUtils::HashString("s3:ObjectCreated:Put"); + static const int s3_ObjectCreated_Post_HASH = HashingUtils::HashString("s3:ObjectCreated:Post"); + static const int s3_ObjectCreated_Copy_HASH = HashingUtils::HashString("s3:ObjectCreated:Copy"); + static const int s3_ObjectCreated_CompleteMultipartUpload_HASH = HashingUtils::HashString("s3:ObjectCreated:CompleteMultipartUpload"); + static const int s3_ObjectRemoved_HASH = HashingUtils::HashString("s3:ObjectRemoved:*"); + static const int s3_ObjectRemoved_Delete_HASH = HashingUtils::HashString("s3:ObjectRemoved:Delete"); + static const int s3_ObjectRemoved_DeleteMarkerCreated_HASH = HashingUtils::HashString("s3:ObjectRemoved:DeleteMarkerCreated"); + static const int s3_ObjectRestore_HASH = HashingUtils::HashString("s3:ObjectRestore:*"); + static const int s3_ObjectRestore_Post_HASH = HashingUtils::HashString("s3:ObjectRestore:Post"); + static const int s3_ObjectRestore_Completed_HASH = HashingUtils::HashString("s3:ObjectRestore:Completed"); + static const int s3_Replication_HASH = HashingUtils::HashString("s3:Replication:*"); + static const int s3_Replication_OperationFailedReplication_HASH = HashingUtils::HashString("s3:Replication:OperationFailedReplication"); + static const int s3_Replication_OperationNotTracked_HASH = HashingUtils::HashString("s3:Replication:OperationNotTracked"); + static const int s3_Replication_OperationMissedThreshold_HASH = HashingUtils::HashString("s3:Replication:OperationMissedThreshold"); + static const int s3_Replication_OperationReplicatedAfterThreshold_HASH = HashingUtils::HashString("s3:Replication:OperationReplicatedAfterThreshold"); + + + Event GetEventForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == s3_ReducedRedundancyLostObject_HASH) + { + return Event::s3_ReducedRedundancyLostObject; + } + else if (hashCode == s3_ObjectCreated_HASH) + { + return Event::s3_ObjectCreated; + } + else if (hashCode == s3_ObjectCreated_Put_HASH) + { + return Event::s3_ObjectCreated_Put; + } + else if (hashCode == s3_ObjectCreated_Post_HASH) + { + return Event::s3_ObjectCreated_Post; + } + else if (hashCode == s3_ObjectCreated_Copy_HASH) + { + return Event::s3_ObjectCreated_Copy; + } + else if (hashCode == s3_ObjectCreated_CompleteMultipartUpload_HASH) + { + return Event::s3_ObjectCreated_CompleteMultipartUpload; + } + else if (hashCode == s3_ObjectRemoved_HASH) + { + return Event::s3_ObjectRemoved; + } + else if (hashCode == s3_ObjectRemoved_Delete_HASH) + { + return Event::s3_ObjectRemoved_Delete; + } + else if (hashCode == s3_ObjectRemoved_DeleteMarkerCreated_HASH) + { + return Event::s3_ObjectRemoved_DeleteMarkerCreated; + } + else if (hashCode == s3_ObjectRestore_HASH) + { + return Event::s3_ObjectRestore; + } + else if (hashCode == s3_ObjectRestore_Post_HASH) + { + return Event::s3_ObjectRestore_Post; + } + else if (hashCode == s3_ObjectRestore_Completed_HASH) + { + return Event::s3_ObjectRestore_Completed; + } + else if (hashCode == s3_Replication_HASH) + { + return Event::s3_Replication; + } + else if (hashCode == s3_Replication_OperationFailedReplication_HASH) + { + return Event::s3_Replication_OperationFailedReplication; + } + else if (hashCode == s3_Replication_OperationNotTracked_HASH) + { + return Event::s3_Replication_OperationNotTracked; + } + else if (hashCode == s3_Replication_OperationMissedThreshold_HASH) + { + return Event::s3_Replication_OperationMissedThreshold; + } + else if (hashCode == s3_Replication_OperationReplicatedAfterThreshold_HASH) + { + return Event::s3_Replication_OperationReplicatedAfterThreshold; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<Event>(hashCode); + } + + return Event::NOT_SET; + } + + Aws::String GetNameForEvent(Event enumValue) + { + switch(enumValue) + { + case Event::s3_ReducedRedundancyLostObject: + return "s3:ReducedRedundancyLostObject"; + case Event::s3_ObjectCreated: + return "s3:ObjectCreated:*"; + case Event::s3_ObjectCreated_Put: + return "s3:ObjectCreated:Put"; + case Event::s3_ObjectCreated_Post: + return "s3:ObjectCreated:Post"; + case Event::s3_ObjectCreated_Copy: + return "s3:ObjectCreated:Copy"; + case Event::s3_ObjectCreated_CompleteMultipartUpload: + return "s3:ObjectCreated:CompleteMultipartUpload"; + case Event::s3_ObjectRemoved: + return "s3:ObjectRemoved:*"; + case Event::s3_ObjectRemoved_Delete: + return "s3:ObjectRemoved:Delete"; + case Event::s3_ObjectRemoved_DeleteMarkerCreated: + return "s3:ObjectRemoved:DeleteMarkerCreated"; + case Event::s3_ObjectRestore: + return "s3:ObjectRestore:*"; + case Event::s3_ObjectRestore_Post: + return "s3:ObjectRestore:Post"; + case Event::s3_ObjectRestore_Completed: + return "s3:ObjectRestore:Completed"; + case Event::s3_Replication: + return "s3:Replication:*"; + case Event::s3_Replication_OperationFailedReplication: + return "s3:Replication:OperationFailedReplication"; + case Event::s3_Replication_OperationNotTracked: + return "s3:Replication:OperationNotTracked"; + case Event::s3_Replication_OperationMissedThreshold: + return "s3:Replication:OperationMissedThreshold"; + case Event::s3_Replication_OperationReplicatedAfterThreshold: + return "s3:Replication:OperationReplicatedAfterThreshold"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace EventMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplication.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplication.cpp new file mode 100644 index 0000000000..7746f0211b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplication.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ExistingObjectReplication.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 +{ + +ExistingObjectReplication::ExistingObjectReplication() : + m_status(ExistingObjectReplicationStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +ExistingObjectReplication::ExistingObjectReplication(const XmlNode& xmlNode) : + m_status(ExistingObjectReplicationStatus::NOT_SET), + m_statusHasBeenSet(false) +{ + *this = xmlNode; +} + +ExistingObjectReplication& ExistingObjectReplication::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode statusNode = resultNode.FirstChild("Status"); + if(!statusNode.IsNull()) + { + m_status = ExistingObjectReplicationStatusMapper::GetExistingObjectReplicationStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusNode.GetText()).c_str()).c_str()); + m_statusHasBeenSet = true; + } + } + + return *this; +} + +void ExistingObjectReplication::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_statusHasBeenSet) + { + XmlNode statusNode = parentNode.CreateChildElement("Status"); + statusNode.SetText(ExistingObjectReplicationStatusMapper::GetNameForExistingObjectReplicationStatus(m_status)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplicationStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplicationStatus.cpp new file mode 100644 index 0000000000..73e9299a23 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplicationStatus.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ExistingObjectReplicationStatus.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ExistingObjectReplicationStatusMapper + { + + static const int Enabled_HASH = HashingUtils::HashString("Enabled"); + static const int Disabled_HASH = HashingUtils::HashString("Disabled"); + + + ExistingObjectReplicationStatus GetExistingObjectReplicationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Enabled_HASH) + { + return ExistingObjectReplicationStatus::Enabled; + } + else if (hashCode == Disabled_HASH) + { + return ExistingObjectReplicationStatus::Disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ExistingObjectReplicationStatus>(hashCode); + } + + return ExistingObjectReplicationStatus::NOT_SET; + } + + Aws::String GetNameForExistingObjectReplicationStatus(ExistingObjectReplicationStatus enumValue) + { + switch(enumValue) + { + case ExistingObjectReplicationStatus::Enabled: + return "Enabled"; + case ExistingObjectReplicationStatus::Disabled: + return "Disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ExistingObjectReplicationStatusMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExpirationStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExpirationStatus.cpp new file mode 100644 index 0000000000..3ead64146e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExpirationStatus.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ExpirationStatus.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ExpirationStatusMapper + { + + static const int Enabled_HASH = HashingUtils::HashString("Enabled"); + static const int Disabled_HASH = HashingUtils::HashString("Disabled"); + + + ExpirationStatus GetExpirationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Enabled_HASH) + { + return ExpirationStatus::Enabled; + } + else if (hashCode == Disabled_HASH) + { + return ExpirationStatus::Disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ExpirationStatus>(hashCode); + } + + return ExpirationStatus::NOT_SET; + } + + Aws::String GetNameForExpirationStatus(ExpirationStatus enumValue) + { + switch(enumValue) + { + case ExpirationStatus::Enabled: + return "Enabled"; + case ExpirationStatus::Disabled: + return "Disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ExpirationStatusMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExpressionType.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExpressionType.cpp new file mode 100644 index 0000000000..a54465e5c7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExpressionType.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ExpressionType.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ExpressionTypeMapper + { + + static const int SQL_HASH = HashingUtils::HashString("SQL"); + + + ExpressionType GetExpressionTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SQL_HASH) + { + return ExpressionType::SQL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ExpressionType>(hashCode); + } + + return ExpressionType::NOT_SET; + } + + Aws::String GetNameForExpressionType(ExpressionType enumValue) + { + switch(enumValue) + { + case ExpressionType::SQL: + return "SQL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ExpressionTypeMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/FileHeaderInfo.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/FileHeaderInfo.cpp new file mode 100644 index 0000000000..aced225854 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/FileHeaderInfo.cpp @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/FileHeaderInfo.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace FileHeaderInfoMapper + { + + static const int USE_HASH = HashingUtils::HashString("USE"); + static const int IGNORE_HASH = HashingUtils::HashString("IGNORE"); + static const int NONE_HASH = HashingUtils::HashString("NONE"); + + + FileHeaderInfo GetFileHeaderInfoForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == USE_HASH) + { + return FileHeaderInfo::USE; + } + else if (hashCode == IGNORE_HASH) + { + return FileHeaderInfo::IGNORE; + } + else if (hashCode == NONE_HASH) + { + return FileHeaderInfo::NONE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<FileHeaderInfo>(hashCode); + } + + return FileHeaderInfo::NOT_SET; + } + + Aws::String GetNameForFileHeaderInfo(FileHeaderInfo enumValue) + { + switch(enumValue) + { + case FileHeaderInfo::USE: + return "USE"; + case FileHeaderInfo::IGNORE: + return "IGNORE"; + case FileHeaderInfo::NONE: + return "NONE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace FileHeaderInfoMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/FilterRule.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/FilterRule.cpp new file mode 100644 index 0000000000..e677202fce --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/FilterRule.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/FilterRule.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 +{ + +FilterRule::FilterRule() : + m_name(FilterRuleName::NOT_SET), + m_nameHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +FilterRule::FilterRule(const XmlNode& xmlNode) : + m_name(FilterRuleName::NOT_SET), + m_nameHasBeenSet(false), + m_valueHasBeenSet(false) +{ + *this = xmlNode; +} + +FilterRule& FilterRule::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode nameNode = resultNode.FirstChild("Name"); + if(!nameNode.IsNull()) + { + m_name = FilterRuleNameMapper::GetFilterRuleNameForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(nameNode.GetText()).c_str()).c_str()); + m_nameHasBeenSet = true; + } + XmlNode valueNode = resultNode.FirstChild("Value"); + if(!valueNode.IsNull()) + { + m_value = Aws::Utils::Xml::DecodeEscapedXmlText(valueNode.GetText()); + m_valueHasBeenSet = true; + } + } + + return *this; +} + +void FilterRule::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_nameHasBeenSet) + { + XmlNode nameNode = parentNode.CreateChildElement("Name"); + nameNode.SetText(FilterRuleNameMapper::GetNameForFilterRuleName(m_name)); + } + + if(m_valueHasBeenSet) + { + XmlNode valueNode = parentNode.CreateChildElement("Value"); + valueNode.SetText(m_value); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/FilterRuleName.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/FilterRuleName.cpp new file mode 100644 index 0000000000..84122b0eb1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/FilterRuleName.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/FilterRuleName.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace FilterRuleNameMapper + { + + static const int prefix_HASH = HashingUtils::HashString("prefix"); + static const int suffix_HASH = HashingUtils::HashString("suffix"); + + + FilterRuleName GetFilterRuleNameForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == prefix_HASH) + { + return FilterRuleName::prefix; + } + else if (hashCode == suffix_HASH) + { + return FilterRuleName::suffix; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<FilterRuleName>(hashCode); + } + + return FilterRuleName::NOT_SET; + } + + Aws::String GetNameForFilterRuleName(FilterRuleName enumValue) + { + switch(enumValue) + { + case FilterRuleName::prefix: + return "prefix"; + case FilterRuleName::suffix: + return "suffix"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace FilterRuleNameMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAccelerateConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAccelerateConfigurationRequest.cpp new file mode 100644 index 0000000000..3bc67a43cc --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAccelerateConfigurationRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketAccelerateConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketAccelerateConfigurationRequest::GetBucketAccelerateConfigurationRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketAccelerateConfigurationRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketAccelerateConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketAccelerateConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAccelerateConfigurationResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAccelerateConfigurationResult.cpp new file mode 100644 index 0000000000..43f9c27209 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAccelerateConfigurationResult.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketAccelerateConfigurationResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketAccelerateConfigurationResult::GetBucketAccelerateConfigurationResult() : + m_status(BucketAccelerateStatus::NOT_SET) +{ +} + +GetBucketAccelerateConfigurationResult::GetBucketAccelerateConfigurationResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_status(BucketAccelerateStatus::NOT_SET) +{ + *this = result; +} + +GetBucketAccelerateConfigurationResult& GetBucketAccelerateConfigurationResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode statusNode = resultNode.FirstChild("Status"); + if(!statusNode.IsNull()) + { + m_status = BucketAccelerateStatusMapper::GetBucketAccelerateStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusNode.GetText()).c_str()).c_str()); + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAclRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAclRequest.cpp new file mode 100644 index 0000000000..df77a9e7f6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAclRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketAclRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketAclRequest::GetBucketAclRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketAclRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketAclRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketAclRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAclResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAclResult.cpp new file mode 100644 index 0000000000..015d5bb006 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAclResult.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketAclResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketAclResult::GetBucketAclResult() +{ +} + +GetBucketAclResult::GetBucketAclResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetBucketAclResult& GetBucketAclResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode ownerNode = resultNode.FirstChild("Owner"); + if(!ownerNode.IsNull()) + { + m_owner = ownerNode; + } + XmlNode grantsNode = resultNode.FirstChild("AccessControlList"); + if(!grantsNode.IsNull()) + { + XmlNode grantsMember = grantsNode.FirstChild("Grant"); + while(!grantsMember.IsNull()) + { + m_grants.push_back(grantsMember); + grantsMember = grantsMember.NextNode("Grant"); + } + + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAnalyticsConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAnalyticsConfigurationRequest.cpp new file mode 100644 index 0000000000..5e3d792e2c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAnalyticsConfigurationRequest.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketAnalyticsConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketAnalyticsConfigurationRequest::GetBucketAnalyticsConfigurationRequest() : + m_bucketHasBeenSet(false), + m_idHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketAnalyticsConfigurationRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketAnalyticsConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + ss << m_id; + uri.AddQueryStringParameter("id", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketAnalyticsConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAnalyticsConfigurationResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAnalyticsConfigurationResult.cpp new file mode 100644 index 0000000000..4cd6a0e61f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAnalyticsConfigurationResult.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketAnalyticsConfigurationResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketAnalyticsConfigurationResult::GetBucketAnalyticsConfigurationResult() +{ +} + +GetBucketAnalyticsConfigurationResult::GetBucketAnalyticsConfigurationResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetBucketAnalyticsConfigurationResult& GetBucketAnalyticsConfigurationResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_analyticsConfiguration = resultNode; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketCorsRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketCorsRequest.cpp new file mode 100644 index 0000000000..92cc762080 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketCorsRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketCorsRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketCorsRequest::GetBucketCorsRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketCorsRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketCorsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketCorsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketCorsResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketCorsResult.cpp new file mode 100644 index 0000000000..9136066b0f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketCorsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketCorsResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketCorsResult::GetBucketCorsResult() +{ +} + +GetBucketCorsResult::GetBucketCorsResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetBucketCorsResult& GetBucketCorsResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode cORSRulesNode = resultNode.FirstChild("CORSRule"); + if(!cORSRulesNode.IsNull()) + { + XmlNode cORSRuleMember = cORSRulesNode; + while(!cORSRuleMember.IsNull()) + { + m_cORSRules.push_back(cORSRuleMember); + cORSRuleMember = cORSRuleMember.NextNode("CORSRule"); + } + + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketEncryptionRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketEncryptionRequest.cpp new file mode 100644 index 0000000000..ad69f94035 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketEncryptionRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketEncryptionRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketEncryptionRequest::GetBucketEncryptionRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketEncryptionRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketEncryptionRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketEncryptionRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketEncryptionResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketEncryptionResult.cpp new file mode 100644 index 0000000000..6d1b42e4a0 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketEncryptionResult.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketEncryptionResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketEncryptionResult::GetBucketEncryptionResult() +{ +} + +GetBucketEncryptionResult::GetBucketEncryptionResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetBucketEncryptionResult& GetBucketEncryptionResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_serverSideEncryptionConfiguration = resultNode; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp new file mode 100644 index 0000000000..ac5e664e69 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketIntelligentTieringConfigurationRequest::GetBucketIntelligentTieringConfigurationRequest() : + m_bucketHasBeenSet(false), + m_idHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketIntelligentTieringConfigurationRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketIntelligentTieringConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + ss << m_id; + uri.AddQueryStringParameter("id", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketIntelligentTieringConfigurationResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketIntelligentTieringConfigurationResult.cpp new file mode 100644 index 0000000000..97f4391be3 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketIntelligentTieringConfigurationResult.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketIntelligentTieringConfigurationResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketIntelligentTieringConfigurationResult::GetBucketIntelligentTieringConfigurationResult() +{ +} + +GetBucketIntelligentTieringConfigurationResult::GetBucketIntelligentTieringConfigurationResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetBucketIntelligentTieringConfigurationResult& GetBucketIntelligentTieringConfigurationResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_intelligentTieringConfiguration = resultNode; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketInventoryConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketInventoryConfigurationRequest.cpp new file mode 100644 index 0000000000..f3ec3acdc5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketInventoryConfigurationRequest.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketInventoryConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketInventoryConfigurationRequest::GetBucketInventoryConfigurationRequest() : + m_bucketHasBeenSet(false), + m_idHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketInventoryConfigurationRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketInventoryConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + ss << m_id; + uri.AddQueryStringParameter("id", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketInventoryConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketInventoryConfigurationResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketInventoryConfigurationResult.cpp new file mode 100644 index 0000000000..93217331b9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketInventoryConfigurationResult.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketInventoryConfigurationResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketInventoryConfigurationResult::GetBucketInventoryConfigurationResult() +{ +} + +GetBucketInventoryConfigurationResult::GetBucketInventoryConfigurationResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetBucketInventoryConfigurationResult& GetBucketInventoryConfigurationResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_inventoryConfiguration = resultNode; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLifecycleConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLifecycleConfigurationRequest.cpp new file mode 100644 index 0000000000..5abc090ac4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLifecycleConfigurationRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketLifecycleConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketLifecycleConfigurationRequest::GetBucketLifecycleConfigurationRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketLifecycleConfigurationRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketLifecycleConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketLifecycleConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLifecycleConfigurationResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLifecycleConfigurationResult.cpp new file mode 100644 index 0000000000..6c0db940cf --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLifecycleConfigurationResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketLifecycleConfigurationResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketLifecycleConfigurationResult::GetBucketLifecycleConfigurationResult() +{ +} + +GetBucketLifecycleConfigurationResult::GetBucketLifecycleConfigurationResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetBucketLifecycleConfigurationResult& GetBucketLifecycleConfigurationResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode rulesNode = resultNode.FirstChild("Rule"); + if(!rulesNode.IsNull()) + { + XmlNode ruleMember = rulesNode; + while(!ruleMember.IsNull()) + { + m_rules.push_back(ruleMember); + ruleMember = ruleMember.NextNode("Rule"); + } + + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLocationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLocationRequest.cpp new file mode 100644 index 0000000000..68e7f366f6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLocationRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketLocationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketLocationRequest::GetBucketLocationRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketLocationRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketLocationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketLocationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLocationResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLocationResult.cpp new file mode 100644 index 0000000000..24fc4e62b0 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLocationResult.cpp @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketLocationResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketLocationResult::GetBucketLocationResult(): + m_locationConstraint(BucketLocationConstraint::NOT_SET) +{ +} + +GetBucketLocationResult::GetBucketLocationResult(const AmazonWebServiceResult<XmlDocument>& result): + m_locationConstraint(BucketLocationConstraint::NOT_SET) +{ + *this = result; +} + +GetBucketLocationResult& GetBucketLocationResult::operator =(const AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_locationConstraint = BucketLocationConstraintMapper::GetBucketLocationConstraintForName(StringUtils::Trim(resultNode.GetText().c_str()).c_str()); + } + + return *this; +} + diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLoggingRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLoggingRequest.cpp new file mode 100644 index 0000000000..ee141ec35c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLoggingRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketLoggingRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketLoggingRequest::GetBucketLoggingRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketLoggingRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketLoggingRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketLoggingRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLoggingResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLoggingResult.cpp new file mode 100644 index 0000000000..903c778a89 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLoggingResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketLoggingResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketLoggingResult::GetBucketLoggingResult() +{ +} + +GetBucketLoggingResult::GetBucketLoggingResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetBucketLoggingResult& GetBucketLoggingResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode loggingEnabledNode = resultNode.FirstChild("LoggingEnabled"); + if(!loggingEnabledNode.IsNull()) + { + m_loggingEnabled = loggingEnabledNode; + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketMetricsConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketMetricsConfigurationRequest.cpp new file mode 100644 index 0000000000..c384ad6f1e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketMetricsConfigurationRequest.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketMetricsConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketMetricsConfigurationRequest::GetBucketMetricsConfigurationRequest() : + m_bucketHasBeenSet(false), + m_idHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketMetricsConfigurationRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketMetricsConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + ss << m_id; + uri.AddQueryStringParameter("id", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketMetricsConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketMetricsConfigurationResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketMetricsConfigurationResult.cpp new file mode 100644 index 0000000000..139492f9a3 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketMetricsConfigurationResult.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketMetricsConfigurationResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketMetricsConfigurationResult::GetBucketMetricsConfigurationResult() +{ +} + +GetBucketMetricsConfigurationResult::GetBucketMetricsConfigurationResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetBucketMetricsConfigurationResult& GetBucketMetricsConfigurationResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_metricsConfiguration = resultNode; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketNotificationConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketNotificationConfigurationRequest.cpp new file mode 100644 index 0000000000..6e892ead3b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketNotificationConfigurationRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketNotificationConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketNotificationConfigurationRequest::GetBucketNotificationConfigurationRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketNotificationConfigurationRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketNotificationConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketNotificationConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketNotificationConfigurationResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketNotificationConfigurationResult.cpp new file mode 100644 index 0000000000..de68f4316a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketNotificationConfigurationResult.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketNotificationConfigurationResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketNotificationConfigurationResult::GetBucketNotificationConfigurationResult() +{ +} + +GetBucketNotificationConfigurationResult::GetBucketNotificationConfigurationResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetBucketNotificationConfigurationResult& GetBucketNotificationConfigurationResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode topicConfigurationsNode = resultNode.FirstChild("TopicConfiguration"); + if(!topicConfigurationsNode.IsNull()) + { + XmlNode topicConfigurationMember = topicConfigurationsNode; + while(!topicConfigurationMember.IsNull()) + { + m_topicConfigurations.push_back(topicConfigurationMember); + topicConfigurationMember = topicConfigurationMember.NextNode("TopicConfiguration"); + } + + } + XmlNode queueConfigurationsNode = resultNode.FirstChild("QueueConfiguration"); + if(!queueConfigurationsNode.IsNull()) + { + XmlNode queueConfigurationMember = queueConfigurationsNode; + while(!queueConfigurationMember.IsNull()) + { + m_queueConfigurations.push_back(queueConfigurationMember); + queueConfigurationMember = queueConfigurationMember.NextNode("QueueConfiguration"); + } + + } + XmlNode lambdaFunctionConfigurationsNode = resultNode.FirstChild("CloudFunctionConfiguration"); + if(!lambdaFunctionConfigurationsNode.IsNull()) + { + XmlNode cloudFunctionConfigurationMember = lambdaFunctionConfigurationsNode; + while(!cloudFunctionConfigurationMember.IsNull()) + { + m_lambdaFunctionConfigurations.push_back(cloudFunctionConfigurationMember); + cloudFunctionConfigurationMember = cloudFunctionConfigurationMember.NextNode("CloudFunctionConfiguration"); + } + + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketOwnershipControlsRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketOwnershipControlsRequest.cpp new file mode 100644 index 0000000000..efaa529d2e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketOwnershipControlsRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketOwnershipControlsRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketOwnershipControlsRequest::GetBucketOwnershipControlsRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketOwnershipControlsRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketOwnershipControlsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketOwnershipControlsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketOwnershipControlsResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketOwnershipControlsResult.cpp new file mode 100644 index 0000000000..185147032e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketOwnershipControlsResult.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketOwnershipControlsResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketOwnershipControlsResult::GetBucketOwnershipControlsResult() +{ +} + +GetBucketOwnershipControlsResult::GetBucketOwnershipControlsResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetBucketOwnershipControlsResult& GetBucketOwnershipControlsResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_ownershipControls = resultNode; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketPolicyRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketPolicyRequest.cpp new file mode 100644 index 0000000000..e41b1fe0c5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketPolicyRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketPolicyRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketPolicyRequest::GetBucketPolicyRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketPolicyRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketPolicyRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketPolicyRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketPolicyResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketPolicyResult.cpp new file mode 100644 index 0000000000..a5a1213c79 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketPolicyResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketPolicyResult.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketPolicyResult::GetBucketPolicyResult() +{ +} + +GetBucketPolicyResult::GetBucketPolicyResult(GetBucketPolicyResult&& toMove) : + m_policy(std::move(toMove.m_policy)) +{ +} + +GetBucketPolicyResult& GetBucketPolicyResult::operator=(GetBucketPolicyResult&& toMove) +{ + if(this == &toMove) + { + return *this; + } + + m_policy = std::move(toMove.m_policy); + + return *this; +} + +GetBucketPolicyResult::GetBucketPolicyResult(Aws::AmazonWebServiceResult<ResponseStream>&& result) +{ + *this = std::move(result); +} + +GetBucketPolicyResult& GetBucketPolicyResult::operator =(Aws::AmazonWebServiceResult<ResponseStream>&& result) +{ + m_policy = result.TakeOwnershipOfPayload(); + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketPolicyStatusRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketPolicyStatusRequest.cpp new file mode 100644 index 0000000000..3c487f9634 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketPolicyStatusRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketPolicyStatusRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketPolicyStatusRequest::GetBucketPolicyStatusRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketPolicyStatusRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketPolicyStatusRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketPolicyStatusRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketPolicyStatusResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketPolicyStatusResult.cpp new file mode 100644 index 0000000000..a3302a3fc5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketPolicyStatusResult.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketPolicyStatusResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketPolicyStatusResult::GetBucketPolicyStatusResult() +{ +} + +GetBucketPolicyStatusResult::GetBucketPolicyStatusResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetBucketPolicyStatusResult& GetBucketPolicyStatusResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_policyStatus = resultNode; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketReplicationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketReplicationRequest.cpp new file mode 100644 index 0000000000..3dcadfa2be --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketReplicationRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketReplicationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketReplicationRequest::GetBucketReplicationRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketReplicationRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketReplicationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketReplicationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketReplicationResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketReplicationResult.cpp new file mode 100644 index 0000000000..323feded63 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketReplicationResult.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketReplicationResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketReplicationResult::GetBucketReplicationResult() +{ +} + +GetBucketReplicationResult::GetBucketReplicationResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetBucketReplicationResult& GetBucketReplicationResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_replicationConfiguration = resultNode; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketRequestPaymentRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketRequestPaymentRequest.cpp new file mode 100644 index 0000000000..7f3e734b70 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketRequestPaymentRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketRequestPaymentRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketRequestPaymentRequest::GetBucketRequestPaymentRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketRequestPaymentRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketRequestPaymentRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketRequestPaymentRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketRequestPaymentResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketRequestPaymentResult.cpp new file mode 100644 index 0000000000..593bf0d9f9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketRequestPaymentResult.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketRequestPaymentResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketRequestPaymentResult::GetBucketRequestPaymentResult() : + m_payer(Payer::NOT_SET) +{ +} + +GetBucketRequestPaymentResult::GetBucketRequestPaymentResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_payer(Payer::NOT_SET) +{ + *this = result; +} + +GetBucketRequestPaymentResult& GetBucketRequestPaymentResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode payerNode = resultNode.FirstChild("Payer"); + if(!payerNode.IsNull()) + { + m_payer = PayerMapper::GetPayerForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(payerNode.GetText()).c_str()).c_str()); + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketTaggingRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketTaggingRequest.cpp new file mode 100644 index 0000000000..72373deaf1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketTaggingRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketTaggingRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketTaggingRequest::GetBucketTaggingRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketTaggingRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketTaggingRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketTaggingRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketTaggingResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketTaggingResult.cpp new file mode 100644 index 0000000000..c18f29ee30 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketTaggingResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketTaggingResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketTaggingResult::GetBucketTaggingResult() +{ +} + +GetBucketTaggingResult::GetBucketTaggingResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetBucketTaggingResult& GetBucketTaggingResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode tagSetNode = resultNode.FirstChild("TagSet"); + if(!tagSetNode.IsNull()) + { + XmlNode tagSetMember = tagSetNode.FirstChild("Tag"); + while(!tagSetMember.IsNull()) + { + m_tagSet.push_back(tagSetMember); + tagSetMember = tagSetMember.NextNode("Tag"); + } + + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketVersioningRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketVersioningRequest.cpp new file mode 100644 index 0000000000..7583f79117 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketVersioningRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketVersioningRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketVersioningRequest::GetBucketVersioningRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketVersioningRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketVersioningRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketVersioningRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketVersioningResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketVersioningResult.cpp new file mode 100644 index 0000000000..cb32d3a530 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketVersioningResult.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketVersioningResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketVersioningResult::GetBucketVersioningResult() : + m_status(BucketVersioningStatus::NOT_SET), + m_mFADelete(MFADeleteStatus::NOT_SET) +{ +} + +GetBucketVersioningResult::GetBucketVersioningResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_status(BucketVersioningStatus::NOT_SET), + m_mFADelete(MFADeleteStatus::NOT_SET) +{ + *this = result; +} + +GetBucketVersioningResult& GetBucketVersioningResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode statusNode = resultNode.FirstChild("Status"); + if(!statusNode.IsNull()) + { + m_status = BucketVersioningStatusMapper::GetBucketVersioningStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusNode.GetText()).c_str()).c_str()); + } + XmlNode mFADeleteNode = resultNode.FirstChild("MfaDelete"); + if(!mFADeleteNode.IsNull()) + { + m_mFADelete = MFADeleteStatusMapper::GetMFADeleteStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(mFADeleteNode.GetText()).c_str()).c_str()); + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketWebsiteRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketWebsiteRequest.cpp new file mode 100644 index 0000000000..067a281fa9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketWebsiteRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketWebsiteRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetBucketWebsiteRequest::GetBucketWebsiteRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetBucketWebsiteRequest::SerializePayload() const +{ + return {}; +} + +void GetBucketWebsiteRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetBucketWebsiteRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketWebsiteResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketWebsiteResult.cpp new file mode 100644 index 0000000000..ac0fcfe0e2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketWebsiteResult.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetBucketWebsiteResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetBucketWebsiteResult::GetBucketWebsiteResult() +{ +} + +GetBucketWebsiteResult::GetBucketWebsiteResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetBucketWebsiteResult& GetBucketWebsiteResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode redirectAllRequestsToNode = resultNode.FirstChild("RedirectAllRequestsTo"); + if(!redirectAllRequestsToNode.IsNull()) + { + m_redirectAllRequestsTo = redirectAllRequestsToNode; + } + XmlNode indexDocumentNode = resultNode.FirstChild("IndexDocument"); + if(!indexDocumentNode.IsNull()) + { + m_indexDocument = indexDocumentNode; + } + XmlNode errorDocumentNode = resultNode.FirstChild("ErrorDocument"); + if(!errorDocumentNode.IsNull()) + { + m_errorDocument = errorDocumentNode; + } + XmlNode routingRulesNode = resultNode.FirstChild("RoutingRules"); + if(!routingRulesNode.IsNull()) + { + XmlNode routingRulesMember = routingRulesNode.FirstChild("RoutingRule"); + while(!routingRulesMember.IsNull()) + { + m_routingRules.push_back(routingRulesMember); + routingRulesMember = routingRulesMember.NextNode("RoutingRule"); + } + + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclRequest.cpp new file mode 100644 index 0000000000..9019eea1c7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclRequest.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectAclRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetObjectAclRequest::GetObjectAclRequest() : + m_bucketHasBeenSet(false), + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetObjectAclRequest::SerializePayload() const +{ + return {}; +} + +void GetObjectAclRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_versionIdHasBeenSet) + { + ss << m_versionId; + uri.AddQueryStringParameter("versionId", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetObjectAclRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclResult.cpp new file mode 100644 index 0000000000..76bb1ec491 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclResult.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectAclResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetObjectAclResult::GetObjectAclResult() : + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +GetObjectAclResult::GetObjectAclResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +GetObjectAclResult& GetObjectAclResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode ownerNode = resultNode.FirstChild("Owner"); + if(!ownerNode.IsNull()) + { + m_owner = ownerNode; + } + XmlNode grantsNode = resultNode.FirstChild("AccessControlList"); + if(!grantsNode.IsNull()) + { + XmlNode grantsMember = grantsNode.FirstChild("Grant"); + while(!grantsMember.IsNull()) + { + m_grants.push_back(grantsMember); + grantsMember = grantsMember.NextNode("Grant"); + } + + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldRequest.cpp new file mode 100644 index 0000000000..6a3ba662dc --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldRequest.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectLegalHoldRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetObjectLegalHoldRequest::GetObjectLegalHoldRequest() : + m_bucketHasBeenSet(false), + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetObjectLegalHoldRequest::SerializePayload() const +{ + return {}; +} + +void GetObjectLegalHoldRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_versionIdHasBeenSet) + { + ss << m_versionId; + uri.AddQueryStringParameter("versionId", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetObjectLegalHoldRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldResult.cpp new file mode 100644 index 0000000000..0a008d85c2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldResult.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectLegalHoldResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetObjectLegalHoldResult::GetObjectLegalHoldResult() +{ +} + +GetObjectLegalHoldResult::GetObjectLegalHoldResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetObjectLegalHoldResult& GetObjectLegalHoldResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_legalHold = resultNode; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLockConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLockConfigurationRequest.cpp new file mode 100644 index 0000000000..d1cf37a030 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLockConfigurationRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectLockConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetObjectLockConfigurationRequest::GetObjectLockConfigurationRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetObjectLockConfigurationRequest::SerializePayload() const +{ + return {}; +} + +void GetObjectLockConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetObjectLockConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLockConfigurationResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLockConfigurationResult.cpp new file mode 100644 index 0000000000..4eae3d2b50 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLockConfigurationResult.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectLockConfigurationResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetObjectLockConfigurationResult::GetObjectLockConfigurationResult() +{ +} + +GetObjectLockConfigurationResult::GetObjectLockConfigurationResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetObjectLockConfigurationResult& GetObjectLockConfigurationResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_objectLockConfiguration = resultNode; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectRequest.cpp new file mode 100644 index 0000000000..a1939e2471 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectRequest.cpp @@ -0,0 +1,198 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetObjectRequest::GetObjectRequest() : + m_bucketHasBeenSet(false), + m_ifMatchHasBeenSet(false), + m_ifModifiedSinceHasBeenSet(false), + m_ifNoneMatchHasBeenSet(false), + m_ifUnmodifiedSinceHasBeenSet(false), + m_keyHasBeenSet(false), + m_rangeHasBeenSet(false), + m_responseCacheControlHasBeenSet(false), + m_responseContentDispositionHasBeenSet(false), + m_responseContentEncodingHasBeenSet(false), + m_responseContentLanguageHasBeenSet(false), + m_responseContentTypeHasBeenSet(false), + m_responseExpiresHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_sSECustomerAlgorithmHasBeenSet(false), + m_sSECustomerKeyHasBeenSet(false), + m_sSECustomerKeyMD5HasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_partNumber(0), + m_partNumberHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetObjectRequest::SerializePayload() const +{ + return {}; +} + +void GetObjectRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_responseCacheControlHasBeenSet) + { + ss << m_responseCacheControl; + uri.AddQueryStringParameter("response-cache-control", ss.str()); + ss.str(""); + } + + if(m_responseContentDispositionHasBeenSet) + { + ss << m_responseContentDisposition; + uri.AddQueryStringParameter("response-content-disposition", ss.str()); + ss.str(""); + } + + if(m_responseContentEncodingHasBeenSet) + { + ss << m_responseContentEncoding; + uri.AddQueryStringParameter("response-content-encoding", ss.str()); + ss.str(""); + } + + if(m_responseContentLanguageHasBeenSet) + { + ss << m_responseContentLanguage; + uri.AddQueryStringParameter("response-content-language", ss.str()); + ss.str(""); + } + + if(m_responseContentTypeHasBeenSet) + { + ss << m_responseContentType; + uri.AddQueryStringParameter("response-content-type", ss.str()); + ss.str(""); + } + + if(m_responseExpiresHasBeenSet) + { + ss << m_responseExpires.ToGmtString(DateFormat::RFC822); + uri.AddQueryStringParameter("response-expires", ss.str()); + ss.str(""); + } + + if(m_versionIdHasBeenSet) + { + ss << m_versionId; + uri.AddQueryStringParameter("versionId", ss.str()); + ss.str(""); + } + + if(m_partNumberHasBeenSet) + { + ss << m_partNumber; + uri.AddQueryStringParameter("partNumber", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetObjectRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_ifMatchHasBeenSet) + { + ss << m_ifMatch; + headers.emplace("if-match", ss.str()); + ss.str(""); + } + + if(m_ifModifiedSinceHasBeenSet) + { + headers.emplace("if-modified-since", m_ifModifiedSince.ToGmtString(DateFormat::RFC822)); + } + + if(m_ifNoneMatchHasBeenSet) + { + ss << m_ifNoneMatch; + headers.emplace("if-none-match", ss.str()); + ss.str(""); + } + + if(m_ifUnmodifiedSinceHasBeenSet) + { + headers.emplace("if-unmodified-since", m_ifUnmodifiedSince.ToGmtString(DateFormat::RFC822)); + } + + if(m_rangeHasBeenSet) + { + ss << m_range; + headers.emplace("range", ss.str()); + ss.str(""); + } + + if(m_sSECustomerAlgorithmHasBeenSet) + { + ss << m_sSECustomerAlgorithm; + headers.emplace("x-amz-server-side-encryption-customer-algorithm", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyHasBeenSet) + { + ss << m_sSECustomerKey; + headers.emplace("x-amz-server-side-encryption-customer-key", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyMD5HasBeenSet) + { + ss << m_sSECustomerKeyMD5; + headers.emplace("x-amz-server-side-encryption-customer-key-md5", ss.str()); + ss.str(""); + } + + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectResult.cpp new file mode 100644 index 0000000000..8c20face8e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectResult.cpp @@ -0,0 +1,344 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectResult.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +GetObjectResult::GetObjectResult() : + m_deleteMarker(false), + m_contentLength(0), + m_missingMeta(0), + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_bucketKeyEnabled(false), + m_storageClass(StorageClass::NOT_SET), + m_requestCharged(RequestCharged::NOT_SET), + m_replicationStatus(ReplicationStatus::NOT_SET), + m_partsCount(0), + m_tagCount(0), + m_objectLockMode(ObjectLockMode::NOT_SET), + m_objectLockLegalHoldStatus(ObjectLockLegalHoldStatus::NOT_SET) +{ +} + +GetObjectResult::GetObjectResult(GetObjectResult&& toMove) : + m_body(std::move(toMove.m_body)), + m_deleteMarker(toMove.m_deleteMarker), + m_acceptRanges(std::move(toMove.m_acceptRanges)), + m_expiration(std::move(toMove.m_expiration)), + m_restore(std::move(toMove.m_restore)), + m_lastModified(std::move(toMove.m_lastModified)), + m_contentLength(toMove.m_contentLength), + m_eTag(std::move(toMove.m_eTag)), + m_missingMeta(toMove.m_missingMeta), + m_versionId(std::move(toMove.m_versionId)), + m_cacheControl(std::move(toMove.m_cacheControl)), + m_contentDisposition(std::move(toMove.m_contentDisposition)), + m_contentEncoding(std::move(toMove.m_contentEncoding)), + m_contentLanguage(std::move(toMove.m_contentLanguage)), + m_contentRange(std::move(toMove.m_contentRange)), + m_contentType(std::move(toMove.m_contentType)), + m_expires(std::move(toMove.m_expires)), + m_websiteRedirectLocation(std::move(toMove.m_websiteRedirectLocation)), + m_serverSideEncryption(toMove.m_serverSideEncryption), + m_metadata(std::move(toMove.m_metadata)), + m_sSECustomerAlgorithm(std::move(toMove.m_sSECustomerAlgorithm)), + m_sSECustomerKeyMD5(std::move(toMove.m_sSECustomerKeyMD5)), + m_sSEKMSKeyId(std::move(toMove.m_sSEKMSKeyId)), + m_bucketKeyEnabled(toMove.m_bucketKeyEnabled), + m_storageClass(toMove.m_storageClass), + m_requestCharged(toMove.m_requestCharged), + m_replicationStatus(toMove.m_replicationStatus), + m_partsCount(toMove.m_partsCount), + m_tagCount(toMove.m_tagCount), + m_objectLockMode(toMove.m_objectLockMode), + m_objectLockRetainUntilDate(std::move(toMove.m_objectLockRetainUntilDate)), + m_objectLockLegalHoldStatus(toMove.m_objectLockLegalHoldStatus), + m_id2(std::move(toMove.m_id2)), + m_requestId(std::move(toMove.m_requestId)) +{ +} + +GetObjectResult& GetObjectResult::operator=(GetObjectResult&& toMove) +{ + if(this == &toMove) + { + return *this; + } + + m_body = std::move(toMove.m_body); + m_deleteMarker = toMove.m_deleteMarker; + m_acceptRanges = std::move(toMove.m_acceptRanges); + m_expiration = std::move(toMove.m_expiration); + m_restore = std::move(toMove.m_restore); + m_lastModified = std::move(toMove.m_lastModified); + m_contentLength = toMove.m_contentLength; + m_eTag = std::move(toMove.m_eTag); + m_missingMeta = toMove.m_missingMeta; + m_versionId = std::move(toMove.m_versionId); + m_cacheControl = std::move(toMove.m_cacheControl); + m_contentDisposition = std::move(toMove.m_contentDisposition); + m_contentEncoding = std::move(toMove.m_contentEncoding); + m_contentLanguage = std::move(toMove.m_contentLanguage); + m_contentRange = std::move(toMove.m_contentRange); + m_contentType = std::move(toMove.m_contentType); + m_expires = std::move(toMove.m_expires); + m_websiteRedirectLocation = std::move(toMove.m_websiteRedirectLocation); + m_serverSideEncryption = toMove.m_serverSideEncryption; + m_metadata = std::move(toMove.m_metadata); + m_sSECustomerAlgorithm = std::move(toMove.m_sSECustomerAlgorithm); + m_sSECustomerKeyMD5 = std::move(toMove.m_sSECustomerKeyMD5); + m_sSEKMSKeyId = std::move(toMove.m_sSEKMSKeyId); + m_bucketKeyEnabled = toMove.m_bucketKeyEnabled; + m_storageClass = toMove.m_storageClass; + m_requestCharged = toMove.m_requestCharged; + m_replicationStatus = toMove.m_replicationStatus; + m_partsCount = toMove.m_partsCount; + m_tagCount = toMove.m_tagCount; + m_objectLockMode = toMove.m_objectLockMode; + m_objectLockRetainUntilDate = std::move(toMove.m_objectLockRetainUntilDate); + m_objectLockLegalHoldStatus = toMove.m_objectLockLegalHoldStatus; + m_id2 = std::move(toMove.m_id2); + m_requestId = std::move(toMove.m_requestId); + + return *this; +} + +GetObjectResult::GetObjectResult(Aws::AmazonWebServiceResult<ResponseStream>&& result) : + m_deleteMarker(false), + m_contentLength(0), + m_missingMeta(0), + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_bucketKeyEnabled(false), + m_storageClass(StorageClass::NOT_SET), + m_requestCharged(RequestCharged::NOT_SET), + m_replicationStatus(ReplicationStatus::NOT_SET), + m_partsCount(0), + m_tagCount(0), + m_objectLockMode(ObjectLockMode::NOT_SET), + m_objectLockLegalHoldStatus(ObjectLockLegalHoldStatus::NOT_SET) +{ + *this = std::move(result); +} + +GetObjectResult& GetObjectResult::operator =(Aws::AmazonWebServiceResult<ResponseStream>&& result) +{ + m_body = result.TakeOwnershipOfPayload(); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& deleteMarkerIter = headers.find("x-amz-delete-marker"); + if(deleteMarkerIter != headers.end()) + { + m_deleteMarker = StringUtils::ConvertToBool(deleteMarkerIter->second.c_str()); + } + + const auto& acceptRangesIter = headers.find("accept-ranges"); + if(acceptRangesIter != headers.end()) + { + m_acceptRanges = acceptRangesIter->second; + } + + const auto& expirationIter = headers.find("x-amz-expiration"); + if(expirationIter != headers.end()) + { + m_expiration = expirationIter->second; + } + + const auto& restoreIter = headers.find("x-amz-restore"); + if(restoreIter != headers.end()) + { + m_restore = restoreIter->second; + } + + const auto& lastModifiedIter = headers.find("last-modified"); + if(lastModifiedIter != headers.end()) + { + m_lastModified = DateTime(lastModifiedIter->second, DateFormat::RFC822); + } + + const auto& contentLengthIter = headers.find("content-length"); + if(contentLengthIter != headers.end()) + { + m_contentLength = StringUtils::ConvertToInt64(contentLengthIter->second.c_str()); + } + + const auto& eTagIter = headers.find("etag"); + if(eTagIter != headers.end()) + { + m_eTag = eTagIter->second; + } + + const auto& missingMetaIter = headers.find("x-amz-missing-meta"); + if(missingMetaIter != headers.end()) + { + m_missingMeta = StringUtils::ConvertToInt32(missingMetaIter->second.c_str()); + } + + const auto& versionIdIter = headers.find("x-amz-version-id"); + if(versionIdIter != headers.end()) + { + m_versionId = versionIdIter->second; + } + + const auto& cacheControlIter = headers.find("cache-control"); + if(cacheControlIter != headers.end()) + { + m_cacheControl = cacheControlIter->second; + } + + const auto& contentDispositionIter = headers.find("content-disposition"); + if(contentDispositionIter != headers.end()) + { + m_contentDisposition = contentDispositionIter->second; + } + + const auto& contentEncodingIter = headers.find("content-encoding"); + if(contentEncodingIter != headers.end()) + { + m_contentEncoding = contentEncodingIter->second; + } + + const auto& contentLanguageIter = headers.find("content-language"); + if(contentLanguageIter != headers.end()) + { + m_contentLanguage = contentLanguageIter->second; + } + + const auto& contentRangeIter = headers.find("content-range"); + if(contentRangeIter != headers.end()) + { + m_contentRange = contentRangeIter->second; + } + + const auto& contentTypeIter = headers.find("content-type"); + if(contentTypeIter != headers.end()) + { + m_contentType = contentTypeIter->second; + } + + const auto& expiresIter = headers.find("expires"); + if(expiresIter != headers.end()) + { + m_expires = DateTime(expiresIter->second, DateFormat::RFC822); + } + + const auto& websiteRedirectLocationIter = headers.find("x-amz-website-redirect-location"); + if(websiteRedirectLocationIter != headers.end()) + { + m_websiteRedirectLocation = websiteRedirectLocationIter->second; + } + + const auto& serverSideEncryptionIter = headers.find("x-amz-server-side-encryption"); + if(serverSideEncryptionIter != headers.end()) + { + m_serverSideEncryption = ServerSideEncryptionMapper::GetServerSideEncryptionForName(serverSideEncryptionIter->second); + } + + std::size_t prefixSize = sizeof("x-amz-meta-") - 1; //subtract the NULL terminator out + for(const auto& item : headers) + { + std::size_t foundPrefix = item.first.find("x-amz-meta-"); + + if(foundPrefix != std::string::npos) + { + m_metadata[item.first.substr(prefixSize)] = item.second; + } + } + + const auto& sSECustomerAlgorithmIter = headers.find("x-amz-server-side-encryption-customer-algorithm"); + if(sSECustomerAlgorithmIter != headers.end()) + { + m_sSECustomerAlgorithm = sSECustomerAlgorithmIter->second; + } + + const auto& sSECustomerKeyMD5Iter = headers.find("x-amz-server-side-encryption-customer-key-md5"); + if(sSECustomerKeyMD5Iter != headers.end()) + { + m_sSECustomerKeyMD5 = sSECustomerKeyMD5Iter->second; + } + + const auto& sSEKMSKeyIdIter = headers.find("x-amz-server-side-encryption-aws-kms-key-id"); + if(sSEKMSKeyIdIter != headers.end()) + { + m_sSEKMSKeyId = sSEKMSKeyIdIter->second; + } + + const auto& bucketKeyEnabledIter = headers.find("x-amz-server-side-encryption-bucket-key-enabled"); + if(bucketKeyEnabledIter != headers.end()) + { + m_bucketKeyEnabled = StringUtils::ConvertToBool(bucketKeyEnabledIter->second.c_str()); + } + + const auto& storageClassIter = headers.find("x-amz-storage-class"); + if(storageClassIter != headers.end()) + { + m_storageClass = StorageClassMapper::GetStorageClassForName(storageClassIter->second); + } + + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + const auto& replicationStatusIter = headers.find("x-amz-replication-status"); + if(replicationStatusIter != headers.end()) + { + m_replicationStatus = ReplicationStatusMapper::GetReplicationStatusForName(replicationStatusIter->second); + } + + const auto& partsCountIter = headers.find("x-amz-mp-parts-count"); + if(partsCountIter != headers.end()) + { + m_partsCount = StringUtils::ConvertToInt32(partsCountIter->second.c_str()); + } + + const auto& tagCountIter = headers.find("x-amz-tagging-count"); + if(tagCountIter != headers.end()) + { + m_tagCount = StringUtils::ConvertToInt32(tagCountIter->second.c_str()); + } + + const auto& objectLockModeIter = headers.find("x-amz-object-lock-mode"); + if(objectLockModeIter != headers.end()) + { + m_objectLockMode = ObjectLockModeMapper::GetObjectLockModeForName(objectLockModeIter->second); + } + + const auto& objectLockRetainUntilDateIter = headers.find("x-amz-object-lock-retain-until-date"); + if(objectLockRetainUntilDateIter != headers.end()) + { + m_objectLockRetainUntilDate = DateTime(objectLockRetainUntilDateIter->second, DateFormat::RFC822); + } + + const auto& objectLockLegalHoldStatusIter = headers.find("x-amz-object-lock-legal-hold"); + if(objectLockLegalHoldStatusIter != headers.end()) + { + m_objectLockLegalHoldStatus = ObjectLockLegalHoldStatusMapper::GetObjectLockLegalHoldStatusForName(objectLockLegalHoldStatusIter->second); + } + + const auto& id2Iter = headers.find("x-amz-id-2"); + if(id2Iter != headers.end()) + { + m_id2 = id2Iter->second; + } + + const auto& requestIdIter = headers.find("x-amz-request-id"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectRetentionRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectRetentionRequest.cpp new file mode 100644 index 0000000000..d1917da723 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectRetentionRequest.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectRetentionRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetObjectRetentionRequest::GetObjectRetentionRequest() : + m_bucketHasBeenSet(false), + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetObjectRetentionRequest::SerializePayload() const +{ + return {}; +} + +void GetObjectRetentionRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_versionIdHasBeenSet) + { + ss << m_versionId; + uri.AddQueryStringParameter("versionId", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetObjectRetentionRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectRetentionResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectRetentionResult.cpp new file mode 100644 index 0000000000..bddb6b0ada --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectRetentionResult.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectRetentionResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetObjectRetentionResult::GetObjectRetentionResult() +{ +} + +GetObjectRetentionResult::GetObjectRetentionResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetObjectRetentionResult& GetObjectRetentionResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_retention = resultNode; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTaggingRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTaggingRequest.cpp new file mode 100644 index 0000000000..447a1c4041 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTaggingRequest.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectTaggingRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetObjectTaggingRequest::GetObjectTaggingRequest() : + m_bucketHasBeenSet(false), + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetObjectTaggingRequest::SerializePayload() const +{ + return {}; +} + +void GetObjectTaggingRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_versionIdHasBeenSet) + { + ss << m_versionId; + uri.AddQueryStringParameter("versionId", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetObjectTaggingRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTaggingResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTaggingResult.cpp new file mode 100644 index 0000000000..fbc71424ff --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTaggingResult.cpp @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectTaggingResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetObjectTaggingResult::GetObjectTaggingResult() +{ +} + +GetObjectTaggingResult::GetObjectTaggingResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetObjectTaggingResult& GetObjectTaggingResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode tagSetNode = resultNode.FirstChild("TagSet"); + if(!tagSetNode.IsNull()) + { + XmlNode tagSetMember = tagSetNode.FirstChild("Tag"); + while(!tagSetMember.IsNull()) + { + m_tagSet.push_back(tagSetMember); + tagSetMember = tagSetMember.NextNode("Tag"); + } + + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& versionIdIter = headers.find("x-amz-version-id"); + if(versionIdIter != headers.end()) + { + m_versionId = versionIdIter->second; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTorrentRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTorrentRequest.cpp new file mode 100644 index 0000000000..05aae88aa2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTorrentRequest.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectTorrentRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetObjectTorrentRequest::GetObjectTorrentRequest() : + m_bucketHasBeenSet(false), + m_keyHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetObjectTorrentRequest::SerializePayload() const +{ + return {}; +} + +void GetObjectTorrentRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetObjectTorrentRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTorrentResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTorrentResult.cpp new file mode 100644 index 0000000000..3e35340eee --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTorrentResult.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectTorrentResult.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +GetObjectTorrentResult::GetObjectTorrentResult() : + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +GetObjectTorrentResult::GetObjectTorrentResult(GetObjectTorrentResult&& toMove) : + m_body(std::move(toMove.m_body)), + m_requestCharged(toMove.m_requestCharged) +{ +} + +GetObjectTorrentResult& GetObjectTorrentResult::operator=(GetObjectTorrentResult&& toMove) +{ + if(this == &toMove) + { + return *this; + } + + m_body = std::move(toMove.m_body); + m_requestCharged = toMove.m_requestCharged; + + return *this; +} + +GetObjectTorrentResult::GetObjectTorrentResult(Aws::AmazonWebServiceResult<ResponseStream>&& result) : + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = std::move(result); +} + +GetObjectTorrentResult& GetObjectTorrentResult::operator =(Aws::AmazonWebServiceResult<ResponseStream>&& result) +{ + m_body = result.TakeOwnershipOfPayload(); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetPublicAccessBlockRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetPublicAccessBlockRequest.cpp new file mode 100644 index 0000000000..6616e19c0b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetPublicAccessBlockRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetPublicAccessBlockRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetPublicAccessBlockRequest::GetPublicAccessBlockRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetPublicAccessBlockRequest::SerializePayload() const +{ + return {}; +} + +void GetPublicAccessBlockRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection GetPublicAccessBlockRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetPublicAccessBlockResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetPublicAccessBlockResult.cpp new file mode 100644 index 0000000000..d8cd57631a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetPublicAccessBlockResult.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetPublicAccessBlockResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetPublicAccessBlockResult::GetPublicAccessBlockResult() +{ +} + +GetPublicAccessBlockResult::GetPublicAccessBlockResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +GetPublicAccessBlockResult& GetPublicAccessBlockResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_publicAccessBlockConfiguration = resultNode; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GlacierJobParameters.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GlacierJobParameters.cpp new file mode 100644 index 0000000000..1523c04f64 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GlacierJobParameters.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GlacierJobParameters.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 +{ + +GlacierJobParameters::GlacierJobParameters() : + m_tier(Tier::NOT_SET), + m_tierHasBeenSet(false) +{ +} + +GlacierJobParameters::GlacierJobParameters(const XmlNode& xmlNode) : + m_tier(Tier::NOT_SET), + m_tierHasBeenSet(false) +{ + *this = xmlNode; +} + +GlacierJobParameters& GlacierJobParameters::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode tierNode = resultNode.FirstChild("Tier"); + if(!tierNode.IsNull()) + { + m_tier = TierMapper::GetTierForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(tierNode.GetText()).c_str()).c_str()); + m_tierHasBeenSet = true; + } + } + + return *this; +} + +void GlacierJobParameters::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_tierHasBeenSet) + { + XmlNode tierNode = parentNode.CreateChildElement("Tier"); + tierNode.SetText(TierMapper::GetNameForTier(m_tier)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Grant.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Grant.cpp new file mode 100644 index 0000000000..bc23e70ee0 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Grant.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Grant.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 +{ + +Grant::Grant() : + m_granteeHasBeenSet(false), + m_permission(Permission::NOT_SET), + m_permissionHasBeenSet(false) +{ +} + +Grant::Grant(const XmlNode& xmlNode) : + m_granteeHasBeenSet(false), + m_permission(Permission::NOT_SET), + m_permissionHasBeenSet(false) +{ + *this = xmlNode; +} + +Grant& Grant::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode granteeNode = resultNode.FirstChild("Grantee"); + if(!granteeNode.IsNull()) + { + m_grantee = granteeNode; + m_granteeHasBeenSet = true; + } + XmlNode permissionNode = resultNode.FirstChild("Permission"); + if(!permissionNode.IsNull()) + { + m_permission = PermissionMapper::GetPermissionForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(permissionNode.GetText()).c_str()).c_str()); + m_permissionHasBeenSet = true; + } + } + + return *this; +} + +void Grant::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_granteeHasBeenSet) + { + XmlNode granteeNode = parentNode.CreateChildElement("Grantee"); + m_grantee.AddToNode(granteeNode); + } + + if(m_permissionHasBeenSet) + { + XmlNode permissionNode = parentNode.CreateChildElement("Permission"); + permissionNode.SetText(PermissionMapper::GetNameForPermission(m_permission)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Grantee.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Grantee.cpp new file mode 100644 index 0000000000..31a95234cf --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Grantee.cpp @@ -0,0 +1,122 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Grantee.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 +{ + +Grantee::Grantee() : + m_displayNameHasBeenSet(false), + m_emailAddressHasBeenSet(false), + m_iDHasBeenSet(false), + m_type(Type::NOT_SET), + m_typeHasBeenSet(false), + m_uRIHasBeenSet(false) +{ +} + +Grantee::Grantee(const XmlNode& xmlNode) : + m_displayNameHasBeenSet(false), + m_emailAddressHasBeenSet(false), + m_iDHasBeenSet(false), + m_type(Type::NOT_SET), + m_typeHasBeenSet(false), + m_uRIHasBeenSet(false) +{ + *this = xmlNode; +} + +Grantee& Grantee::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode displayNameNode = resultNode.FirstChild("DisplayName"); + if(!displayNameNode.IsNull()) + { + m_displayName = Aws::Utils::Xml::DecodeEscapedXmlText(displayNameNode.GetText()); + m_displayNameHasBeenSet = true; + } + XmlNode emailAddressNode = resultNode.FirstChild("EmailAddress"); + if(!emailAddressNode.IsNull()) + { + m_emailAddress = Aws::Utils::Xml::DecodeEscapedXmlText(emailAddressNode.GetText()); + m_emailAddressHasBeenSet = true; + } + XmlNode iDNode = resultNode.FirstChild("ID"); + if(!iDNode.IsNull()) + { + m_iD = Aws::Utils::Xml::DecodeEscapedXmlText(iDNode.GetText()); + m_iDHasBeenSet = true; + } + auto type = resultNode.GetAttributeValue("xsi:type"); + if(!type.empty()) + { + m_type = TypeMapper::GetTypeForName(StringUtils::Trim(type.c_str()).c_str()); + m_typeHasBeenSet = true; + } + XmlNode uRINode = resultNode.FirstChild("URI"); + if(!uRINode.IsNull()) + { + m_uRI = Aws::Utils::Xml::DecodeEscapedXmlText(uRINode.GetText()); + m_uRIHasBeenSet = true; + } + } + + return *this; +} + +void Grantee::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + parentNode.SetAttributeValue("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); + if(m_displayNameHasBeenSet) + { + XmlNode displayNameNode = parentNode.CreateChildElement("DisplayName"); + displayNameNode.SetText(m_displayName); + } + + if(m_emailAddressHasBeenSet) + { + XmlNode emailAddressNode = parentNode.CreateChildElement("EmailAddress"); + emailAddressNode.SetText(m_emailAddress); + } + + if(m_iDHasBeenSet) + { + XmlNode iDNode = parentNode.CreateChildElement("ID"); + iDNode.SetText(m_iD); + } + + if(m_typeHasBeenSet) + { + parentNode.SetAttributeValue("xsi:type", TypeMapper::GetNameForType(m_type)); + } + + if(m_uRIHasBeenSet) + { + XmlNode uRINode = parentNode.CreateChildElement("URI"); + uRINode.SetText(m_uRI); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/HeadBucketRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/HeadBucketRequest.cpp new file mode 100644 index 0000000000..b503f37b81 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/HeadBucketRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/HeadBucketRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +HeadBucketRequest::HeadBucketRequest() : + m_bucketHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String HeadBucketRequest::SerializePayload() const +{ + return {}; +} + +void HeadBucketRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection HeadBucketRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/HeadObjectRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/HeadObjectRequest.cpp new file mode 100644 index 0000000000..7bf7b7239e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/HeadObjectRequest.cpp @@ -0,0 +1,150 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/HeadObjectRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +HeadObjectRequest::HeadObjectRequest() : + m_bucketHasBeenSet(false), + m_ifMatchHasBeenSet(false), + m_ifModifiedSinceHasBeenSet(false), + m_ifNoneMatchHasBeenSet(false), + m_ifUnmodifiedSinceHasBeenSet(false), + m_keyHasBeenSet(false), + m_rangeHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_sSECustomerAlgorithmHasBeenSet(false), + m_sSECustomerKeyHasBeenSet(false), + m_sSECustomerKeyMD5HasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_partNumber(0), + m_partNumberHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String HeadObjectRequest::SerializePayload() const +{ + return {}; +} + +void HeadObjectRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_versionIdHasBeenSet) + { + ss << m_versionId; + uri.AddQueryStringParameter("versionId", ss.str()); + ss.str(""); + } + + if(m_partNumberHasBeenSet) + { + ss << m_partNumber; + uri.AddQueryStringParameter("partNumber", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection HeadObjectRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_ifMatchHasBeenSet) + { + ss << m_ifMatch; + headers.emplace("if-match", ss.str()); + ss.str(""); + } + + if(m_ifModifiedSinceHasBeenSet) + { + headers.emplace("if-modified-since", m_ifModifiedSince.ToGmtString(DateFormat::RFC822)); + } + + if(m_ifNoneMatchHasBeenSet) + { + ss << m_ifNoneMatch; + headers.emplace("if-none-match", ss.str()); + ss.str(""); + } + + if(m_ifUnmodifiedSinceHasBeenSet) + { + headers.emplace("if-unmodified-since", m_ifUnmodifiedSince.ToGmtString(DateFormat::RFC822)); + } + + if(m_rangeHasBeenSet) + { + ss << m_range; + headers.emplace("range", ss.str()); + ss.str(""); + } + + if(m_sSECustomerAlgorithmHasBeenSet) + { + ss << m_sSECustomerAlgorithm; + headers.emplace("x-amz-server-side-encryption-customer-algorithm", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyHasBeenSet) + { + ss << m_sSECustomerKey; + headers.emplace("x-amz-server-side-encryption-customer-key", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyMD5HasBeenSet) + { + ss << m_sSECustomerKeyMD5; + headers.emplace("x-amz-server-side-encryption-customer-key-md5", ss.str()); + ss.str(""); + } + + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/HeadObjectResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/HeadObjectResult.cpp new file mode 100644 index 0000000000..ce0305dcaf --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/HeadObjectResult.cpp @@ -0,0 +1,248 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/HeadObjectResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +HeadObjectResult::HeadObjectResult() : + m_deleteMarker(false), + m_archiveStatus(ArchiveStatus::NOT_SET), + m_contentLength(0), + m_missingMeta(0), + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_bucketKeyEnabled(false), + m_storageClass(StorageClass::NOT_SET), + m_requestCharged(RequestCharged::NOT_SET), + m_replicationStatus(ReplicationStatus::NOT_SET), + m_partsCount(0), + m_objectLockMode(ObjectLockMode::NOT_SET), + m_objectLockLegalHoldStatus(ObjectLockLegalHoldStatus::NOT_SET) +{ +} + +HeadObjectResult::HeadObjectResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_deleteMarker(false), + m_archiveStatus(ArchiveStatus::NOT_SET), + m_contentLength(0), + m_missingMeta(0), + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_bucketKeyEnabled(false), + m_storageClass(StorageClass::NOT_SET), + m_requestCharged(RequestCharged::NOT_SET), + m_replicationStatus(ReplicationStatus::NOT_SET), + m_partsCount(0), + m_objectLockMode(ObjectLockMode::NOT_SET), + m_objectLockLegalHoldStatus(ObjectLockLegalHoldStatus::NOT_SET) +{ + *this = result; +} + +HeadObjectResult& HeadObjectResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& deleteMarkerIter = headers.find("x-amz-delete-marker"); + if(deleteMarkerIter != headers.end()) + { + m_deleteMarker = StringUtils::ConvertToBool(deleteMarkerIter->second.c_str()); + } + + const auto& acceptRangesIter = headers.find("accept-ranges"); + if(acceptRangesIter != headers.end()) + { + m_acceptRanges = acceptRangesIter->second; + } + + const auto& expirationIter = headers.find("x-amz-expiration"); + if(expirationIter != headers.end()) + { + m_expiration = expirationIter->second; + } + + const auto& restoreIter = headers.find("x-amz-restore"); + if(restoreIter != headers.end()) + { + m_restore = restoreIter->second; + } + + const auto& archiveStatusIter = headers.find("x-amz-archive-status"); + if(archiveStatusIter != headers.end()) + { + m_archiveStatus = ArchiveStatusMapper::GetArchiveStatusForName(archiveStatusIter->second); + } + + const auto& lastModifiedIter = headers.find("last-modified"); + if(lastModifiedIter != headers.end()) + { + m_lastModified = DateTime(lastModifiedIter->second, DateFormat::RFC822); + } + + const auto& contentLengthIter = headers.find("content-length"); + if(contentLengthIter != headers.end()) + { + m_contentLength = StringUtils::ConvertToInt64(contentLengthIter->second.c_str()); + } + + const auto& eTagIter = headers.find("etag"); + if(eTagIter != headers.end()) + { + m_eTag = eTagIter->second; + } + + const auto& missingMetaIter = headers.find("x-amz-missing-meta"); + if(missingMetaIter != headers.end()) + { + m_missingMeta = StringUtils::ConvertToInt32(missingMetaIter->second.c_str()); + } + + const auto& versionIdIter = headers.find("x-amz-version-id"); + if(versionIdIter != headers.end()) + { + m_versionId = versionIdIter->second; + } + + const auto& cacheControlIter = headers.find("cache-control"); + if(cacheControlIter != headers.end()) + { + m_cacheControl = cacheControlIter->second; + } + + const auto& contentDispositionIter = headers.find("content-disposition"); + if(contentDispositionIter != headers.end()) + { + m_contentDisposition = contentDispositionIter->second; + } + + const auto& contentEncodingIter = headers.find("content-encoding"); + if(contentEncodingIter != headers.end()) + { + m_contentEncoding = contentEncodingIter->second; + } + + const auto& contentLanguageIter = headers.find("content-language"); + if(contentLanguageIter != headers.end()) + { + m_contentLanguage = contentLanguageIter->second; + } + + const auto& contentTypeIter = headers.find("content-type"); + if(contentTypeIter != headers.end()) + { + m_contentType = contentTypeIter->second; + } + + const auto& expiresIter = headers.find("expires"); + if(expiresIter != headers.end()) + { + m_expires = DateTime(expiresIter->second, DateFormat::RFC822); + } + + const auto& websiteRedirectLocationIter = headers.find("x-amz-website-redirect-location"); + if(websiteRedirectLocationIter != headers.end()) + { + m_websiteRedirectLocation = websiteRedirectLocationIter->second; + } + + const auto& serverSideEncryptionIter = headers.find("x-amz-server-side-encryption"); + if(serverSideEncryptionIter != headers.end()) + { + m_serverSideEncryption = ServerSideEncryptionMapper::GetServerSideEncryptionForName(serverSideEncryptionIter->second); + } + + std::size_t prefixSize = sizeof("x-amz-meta-") - 1; //subtract the NULL terminator out + for(const auto& item : headers) + { + std::size_t foundPrefix = item.first.find("x-amz-meta-"); + + if(foundPrefix != std::string::npos) + { + m_metadata[item.first.substr(prefixSize)] = item.second; + } + } + + const auto& sSECustomerAlgorithmIter = headers.find("x-amz-server-side-encryption-customer-algorithm"); + if(sSECustomerAlgorithmIter != headers.end()) + { + m_sSECustomerAlgorithm = sSECustomerAlgorithmIter->second; + } + + const auto& sSECustomerKeyMD5Iter = headers.find("x-amz-server-side-encryption-customer-key-md5"); + if(sSECustomerKeyMD5Iter != headers.end()) + { + m_sSECustomerKeyMD5 = sSECustomerKeyMD5Iter->second; + } + + const auto& sSEKMSKeyIdIter = headers.find("x-amz-server-side-encryption-aws-kms-key-id"); + if(sSEKMSKeyIdIter != headers.end()) + { + m_sSEKMSKeyId = sSEKMSKeyIdIter->second; + } + + const auto& bucketKeyEnabledIter = headers.find("x-amz-server-side-encryption-bucket-key-enabled"); + if(bucketKeyEnabledIter != headers.end()) + { + m_bucketKeyEnabled = StringUtils::ConvertToBool(bucketKeyEnabledIter->second.c_str()); + } + + const auto& storageClassIter = headers.find("x-amz-storage-class"); + if(storageClassIter != headers.end()) + { + m_storageClass = StorageClassMapper::GetStorageClassForName(storageClassIter->second); + } + + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + const auto& replicationStatusIter = headers.find("x-amz-replication-status"); + if(replicationStatusIter != headers.end()) + { + m_replicationStatus = ReplicationStatusMapper::GetReplicationStatusForName(replicationStatusIter->second); + } + + const auto& partsCountIter = headers.find("x-amz-mp-parts-count"); + if(partsCountIter != headers.end()) + { + m_partsCount = StringUtils::ConvertToInt32(partsCountIter->second.c_str()); + } + + const auto& objectLockModeIter = headers.find("x-amz-object-lock-mode"); + if(objectLockModeIter != headers.end()) + { + m_objectLockMode = ObjectLockModeMapper::GetObjectLockModeForName(objectLockModeIter->second); + } + + const auto& objectLockRetainUntilDateIter = headers.find("x-amz-object-lock-retain-until-date"); + if(objectLockRetainUntilDateIter != headers.end()) + { + m_objectLockRetainUntilDate = DateTime(objectLockRetainUntilDateIter->second, DateFormat::RFC822); + } + + const auto& objectLockLegalHoldStatusIter = headers.find("x-amz-object-lock-legal-hold"); + if(objectLockLegalHoldStatusIter != headers.end()) + { + m_objectLockLegalHoldStatus = ObjectLockLegalHoldStatusMapper::GetObjectLockLegalHoldStatusForName(objectLockLegalHoldStatusIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IndexDocument.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IndexDocument.cpp new file mode 100644 index 0000000000..92c841169b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IndexDocument.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/IndexDocument.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 +{ + +IndexDocument::IndexDocument() : + m_suffixHasBeenSet(false) +{ +} + +IndexDocument::IndexDocument(const XmlNode& xmlNode) : + m_suffixHasBeenSet(false) +{ + *this = xmlNode; +} + +IndexDocument& IndexDocument::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode suffixNode = resultNode.FirstChild("Suffix"); + if(!suffixNode.IsNull()) + { + m_suffix = Aws::Utils::Xml::DecodeEscapedXmlText(suffixNode.GetText()); + m_suffixHasBeenSet = true; + } + } + + return *this; +} + +void IndexDocument::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_suffixHasBeenSet) + { + XmlNode suffixNode = parentNode.CreateChildElement("Suffix"); + suffixNode.SetText(m_suffix); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Initiator.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Initiator.cpp new file mode 100644 index 0000000000..1bd09bd715 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Initiator.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Initiator.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 +{ + +Initiator::Initiator() : + m_iDHasBeenSet(false), + m_displayNameHasBeenSet(false) +{ +} + +Initiator::Initiator(const XmlNode& xmlNode) : + m_iDHasBeenSet(false), + m_displayNameHasBeenSet(false) +{ + *this = xmlNode; +} + +Initiator& Initiator::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode iDNode = resultNode.FirstChild("ID"); + if(!iDNode.IsNull()) + { + m_iD = Aws::Utils::Xml::DecodeEscapedXmlText(iDNode.GetText()); + m_iDHasBeenSet = true; + } + XmlNode displayNameNode = resultNode.FirstChild("DisplayName"); + if(!displayNameNode.IsNull()) + { + m_displayName = Aws::Utils::Xml::DecodeEscapedXmlText(displayNameNode.GetText()); + m_displayNameHasBeenSet = true; + } + } + + return *this; +} + +void Initiator::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_iDHasBeenSet) + { + XmlNode iDNode = parentNode.CreateChildElement("ID"); + iDNode.SetText(m_iD); + } + + if(m_displayNameHasBeenSet) + { + XmlNode displayNameNode = parentNode.CreateChildElement("DisplayName"); + displayNameNode.SetText(m_displayName); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InputSerialization.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InputSerialization.cpp new file mode 100644 index 0000000000..7ae6435735 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InputSerialization.cpp @@ -0,0 +1,108 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/InputSerialization.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 +{ + +InputSerialization::InputSerialization() : + m_cSVHasBeenSet(false), + m_compressionType(CompressionType::NOT_SET), + m_compressionTypeHasBeenSet(false), + m_jSONHasBeenSet(false), + m_parquetHasBeenSet(false) +{ +} + +InputSerialization::InputSerialization(const XmlNode& xmlNode) : + m_cSVHasBeenSet(false), + m_compressionType(CompressionType::NOT_SET), + m_compressionTypeHasBeenSet(false), + m_jSONHasBeenSet(false), + m_parquetHasBeenSet(false) +{ + *this = xmlNode; +} + +InputSerialization& InputSerialization::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode cSVNode = resultNode.FirstChild("CSV"); + if(!cSVNode.IsNull()) + { + m_cSV = cSVNode; + m_cSVHasBeenSet = true; + } + XmlNode compressionTypeNode = resultNode.FirstChild("CompressionType"); + if(!compressionTypeNode.IsNull()) + { + m_compressionType = CompressionTypeMapper::GetCompressionTypeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(compressionTypeNode.GetText()).c_str()).c_str()); + m_compressionTypeHasBeenSet = true; + } + XmlNode jSONNode = resultNode.FirstChild("JSON"); + if(!jSONNode.IsNull()) + { + m_jSON = jSONNode; + m_jSONHasBeenSet = true; + } + XmlNode parquetNode = resultNode.FirstChild("Parquet"); + if(!parquetNode.IsNull()) + { + m_parquet = parquetNode; + m_parquetHasBeenSet = true; + } + } + + return *this; +} + +void InputSerialization::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_cSVHasBeenSet) + { + XmlNode cSVNode = parentNode.CreateChildElement("CSV"); + m_cSV.AddToNode(cSVNode); + } + + if(m_compressionTypeHasBeenSet) + { + XmlNode compressionTypeNode = parentNode.CreateChildElement("CompressionType"); + compressionTypeNode.SetText(CompressionTypeMapper::GetNameForCompressionType(m_compressionType)); + } + + if(m_jSONHasBeenSet) + { + XmlNode jSONNode = parentNode.CreateChildElement("JSON"); + m_jSON.AddToNode(jSONNode); + } + + if(m_parquetHasBeenSet) + { + XmlNode parquetNode = parentNode.CreateChildElement("Parquet"); + m_parquet.AddToNode(parquetNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringAccessTier.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringAccessTier.cpp new file mode 100644 index 0000000000..bfee984c02 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringAccessTier.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/IntelligentTieringAccessTier.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace IntelligentTieringAccessTierMapper + { + + static const int ARCHIVE_ACCESS_HASH = HashingUtils::HashString("ARCHIVE_ACCESS"); + static const int DEEP_ARCHIVE_ACCESS_HASH = HashingUtils::HashString("DEEP_ARCHIVE_ACCESS"); + + + IntelligentTieringAccessTier GetIntelligentTieringAccessTierForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ARCHIVE_ACCESS_HASH) + { + return IntelligentTieringAccessTier::ARCHIVE_ACCESS; + } + else if (hashCode == DEEP_ARCHIVE_ACCESS_HASH) + { + return IntelligentTieringAccessTier::DEEP_ARCHIVE_ACCESS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<IntelligentTieringAccessTier>(hashCode); + } + + return IntelligentTieringAccessTier::NOT_SET; + } + + Aws::String GetNameForIntelligentTieringAccessTier(IntelligentTieringAccessTier enumValue) + { + switch(enumValue) + { + case IntelligentTieringAccessTier::ARCHIVE_ACCESS: + return "ARCHIVE_ACCESS"; + case IntelligentTieringAccessTier::DEEP_ARCHIVE_ACCESS: + return "DEEP_ARCHIVE_ACCESS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace IntelligentTieringAccessTierMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringAndOperator.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringAndOperator.cpp new file mode 100644 index 0000000000..1c040b512d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringAndOperator.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/IntelligentTieringAndOperator.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 +{ + +IntelligentTieringAndOperator::IntelligentTieringAndOperator() : + m_prefixHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +IntelligentTieringAndOperator::IntelligentTieringAndOperator(const XmlNode& xmlNode) : + m_prefixHasBeenSet(false), + m_tagsHasBeenSet(false) +{ + *this = xmlNode; +} + +IntelligentTieringAndOperator& IntelligentTieringAndOperator::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + m_prefixHasBeenSet = true; + } + XmlNode tagsNode = resultNode.FirstChild("Tag"); + if(!tagsNode.IsNull()) + { + XmlNode tagMember = tagsNode; + while(!tagMember.IsNull()) + { + m_tags.push_back(tagMember); + tagMember = tagMember.NextNode("Tag"); + } + + m_tagsHasBeenSet = true; + } + } + + return *this; +} + +void IntelligentTieringAndOperator::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_prefixHasBeenSet) + { + XmlNode prefixNode = parentNode.CreateChildElement("Prefix"); + prefixNode.SetText(m_prefix); + } + + if(m_tagsHasBeenSet) + { + XmlNode tagsParentNode = parentNode.CreateChildElement("Tags"); + for(const auto& item : m_tags) + { + XmlNode tagsNode = tagsParentNode.CreateChildElement("Tag"); + item.AddToNode(tagsNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringConfiguration.cpp new file mode 100644 index 0000000000..f0cb7bc3cc --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringConfiguration.cpp @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/IntelligentTieringConfiguration.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 +{ + +IntelligentTieringConfiguration::IntelligentTieringConfiguration() : + m_idHasBeenSet(false), + m_filterHasBeenSet(false), + m_status(IntelligentTieringStatus::NOT_SET), + m_statusHasBeenSet(false), + m_tieringsHasBeenSet(false) +{ +} + +IntelligentTieringConfiguration::IntelligentTieringConfiguration(const XmlNode& xmlNode) : + m_idHasBeenSet(false), + m_filterHasBeenSet(false), + m_status(IntelligentTieringStatus::NOT_SET), + m_statusHasBeenSet(false), + m_tieringsHasBeenSet(false) +{ + *this = xmlNode; +} + +IntelligentTieringConfiguration& IntelligentTieringConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + 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 = IntelligentTieringStatusMapper::GetIntelligentTieringStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusNode.GetText()).c_str()).c_str()); + m_statusHasBeenSet = true; + } + XmlNode tieringsNode = resultNode.FirstChild("Tiering"); + if(!tieringsNode.IsNull()) + { + XmlNode tieringMember = tieringsNode; + while(!tieringMember.IsNull()) + { + m_tierings.push_back(tieringMember); + tieringMember = tieringMember.NextNode("Tiering"); + } + + m_tieringsHasBeenSet = true; + } + } + + return *this; +} + +void IntelligentTieringConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + 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(IntelligentTieringStatusMapper::GetNameForIntelligentTieringStatus(m_status)); + } + + if(m_tieringsHasBeenSet) + { + for(const auto& item : m_tierings) + { + XmlNode tieringsNode = parentNode.CreateChildElement("Tiering"); + item.AddToNode(tieringsNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringFilter.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringFilter.cpp new file mode 100644 index 0000000000..b69ee79df4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringFilter.cpp @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/IntelligentTieringFilter.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 +{ + +IntelligentTieringFilter::IntelligentTieringFilter() : + m_prefixHasBeenSet(false), + m_tagHasBeenSet(false), + m_andHasBeenSet(false) +{ +} + +IntelligentTieringFilter::IntelligentTieringFilter(const XmlNode& xmlNode) : + m_prefixHasBeenSet(false), + m_tagHasBeenSet(false), + m_andHasBeenSet(false) +{ + *this = xmlNode; +} + +IntelligentTieringFilter& IntelligentTieringFilter::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + m_prefixHasBeenSet = true; + } + XmlNode tagNode = resultNode.FirstChild("Tag"); + if(!tagNode.IsNull()) + { + m_tag = tagNode; + m_tagHasBeenSet = true; + } + XmlNode andNode = resultNode.FirstChild("And"); + if(!andNode.IsNull()) + { + m_and = andNode; + m_andHasBeenSet = true; + } + } + + return *this; +} + +void IntelligentTieringFilter::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_prefixHasBeenSet) + { + XmlNode prefixNode = parentNode.CreateChildElement("Prefix"); + prefixNode.SetText(m_prefix); + } + + if(m_tagHasBeenSet) + { + XmlNode tagNode = parentNode.CreateChildElement("Tag"); + m_tag.AddToNode(tagNode); + } + + if(m_andHasBeenSet) + { + XmlNode andNode = parentNode.CreateChildElement("And"); + m_and.AddToNode(andNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringStatus.cpp new file mode 100644 index 0000000000..9fc0d1d2ec --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringStatus.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/IntelligentTieringStatus.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace IntelligentTieringStatusMapper + { + + static const int Enabled_HASH = HashingUtils::HashString("Enabled"); + static const int Disabled_HASH = HashingUtils::HashString("Disabled"); + + + IntelligentTieringStatus GetIntelligentTieringStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Enabled_HASH) + { + return IntelligentTieringStatus::Enabled; + } + else if (hashCode == Disabled_HASH) + { + return IntelligentTieringStatus::Disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<IntelligentTieringStatus>(hashCode); + } + + return IntelligentTieringStatus::NOT_SET; + } + + Aws::String GetNameForIntelligentTieringStatus(IntelligentTieringStatus enumValue) + { + switch(enumValue) + { + case IntelligentTieringStatus::Enabled: + return "Enabled"; + case IntelligentTieringStatus::Disabled: + return "Disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace IntelligentTieringStatusMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InvalidObjectState.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InvalidObjectState.cpp new file mode 100644 index 0000000000..4d64e4f75e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InvalidObjectState.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/InvalidObjectState.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 +{ + +InvalidObjectState::InvalidObjectState() : + m_storageClass(StorageClass::NOT_SET), + m_storageClassHasBeenSet(false), + m_accessTier(IntelligentTieringAccessTier::NOT_SET), + m_accessTierHasBeenSet(false) +{ +} + +InvalidObjectState::InvalidObjectState(const XmlNode& xmlNode) : + m_storageClass(StorageClass::NOT_SET), + m_storageClassHasBeenSet(false), + m_accessTier(IntelligentTieringAccessTier::NOT_SET), + m_accessTierHasBeenSet(false) +{ + *this = xmlNode; +} + +InvalidObjectState& InvalidObjectState::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + 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; + } + XmlNode accessTierNode = resultNode.FirstChild("AccessTier"); + if(!accessTierNode.IsNull()) + { + m_accessTier = IntelligentTieringAccessTierMapper::GetIntelligentTieringAccessTierForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(accessTierNode.GetText()).c_str()).c_str()); + m_accessTierHasBeenSet = true; + } + } + + return *this; +} + +void InvalidObjectState::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_storageClassHasBeenSet) + { + XmlNode storageClassNode = parentNode.CreateChildElement("StorageClass"); + storageClassNode.SetText(StorageClassMapper::GetNameForStorageClass(m_storageClass)); + } + + if(m_accessTierHasBeenSet) + { + XmlNode accessTierNode = parentNode.CreateChildElement("AccessTier"); + accessTierNode.SetText(IntelligentTieringAccessTierMapper::GetNameForIntelligentTieringAccessTier(m_accessTier)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryConfiguration.cpp new file mode 100644 index 0000000000..304dde130a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryConfiguration.cpp @@ -0,0 +1,164 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/InventoryConfiguration.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 +{ + +InventoryConfiguration::InventoryConfiguration() : + m_destinationHasBeenSet(false), + m_isEnabled(false), + m_isEnabledHasBeenSet(false), + m_filterHasBeenSet(false), + m_idHasBeenSet(false), + m_includedObjectVersions(InventoryIncludedObjectVersions::NOT_SET), + m_includedObjectVersionsHasBeenSet(false), + m_optionalFieldsHasBeenSet(false), + m_scheduleHasBeenSet(false) +{ +} + +InventoryConfiguration::InventoryConfiguration(const XmlNode& xmlNode) : + m_destinationHasBeenSet(false), + m_isEnabled(false), + m_isEnabledHasBeenSet(false), + m_filterHasBeenSet(false), + m_idHasBeenSet(false), + m_includedObjectVersions(InventoryIncludedObjectVersions::NOT_SET), + m_includedObjectVersionsHasBeenSet(false), + m_optionalFieldsHasBeenSet(false), + m_scheduleHasBeenSet(false) +{ + *this = xmlNode; +} + +InventoryConfiguration& InventoryConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode destinationNode = resultNode.FirstChild("Destination"); + if(!destinationNode.IsNull()) + { + m_destination = destinationNode; + m_destinationHasBeenSet = true; + } + XmlNode isEnabledNode = resultNode.FirstChild("IsEnabled"); + if(!isEnabledNode.IsNull()) + { + m_isEnabled = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isEnabledNode.GetText()).c_str()).c_str()); + m_isEnabledHasBeenSet = true; + } + XmlNode filterNode = resultNode.FirstChild("Filter"); + if(!filterNode.IsNull()) + { + m_filter = filterNode; + m_filterHasBeenSet = true; + } + XmlNode idNode = resultNode.FirstChild("Id"); + if(!idNode.IsNull()) + { + m_id = Aws::Utils::Xml::DecodeEscapedXmlText(idNode.GetText()); + m_idHasBeenSet = true; + } + XmlNode includedObjectVersionsNode = resultNode.FirstChild("IncludedObjectVersions"); + if(!includedObjectVersionsNode.IsNull()) + { + m_includedObjectVersions = InventoryIncludedObjectVersionsMapper::GetInventoryIncludedObjectVersionsForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(includedObjectVersionsNode.GetText()).c_str()).c_str()); + m_includedObjectVersionsHasBeenSet = true; + } + XmlNode optionalFieldsNode = resultNode.FirstChild("OptionalFields"); + if(!optionalFieldsNode.IsNull()) + { + XmlNode optionalFieldsMember = optionalFieldsNode.FirstChild("Field"); + while(!optionalFieldsMember.IsNull()) + { + m_optionalFields.push_back(InventoryOptionalFieldMapper::GetInventoryOptionalFieldForName(StringUtils::Trim(optionalFieldsMember.GetText().c_str()))); + optionalFieldsMember = optionalFieldsMember.NextNode("Field"); + } + + m_optionalFieldsHasBeenSet = true; + } + XmlNode scheduleNode = resultNode.FirstChild("Schedule"); + if(!scheduleNode.IsNull()) + { + m_schedule = scheduleNode; + m_scheduleHasBeenSet = true; + } + } + + return *this; +} + +void InventoryConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_destinationHasBeenSet) + { + XmlNode destinationNode = parentNode.CreateChildElement("Destination"); + m_destination.AddToNode(destinationNode); + } + + if(m_isEnabledHasBeenSet) + { + XmlNode isEnabledNode = parentNode.CreateChildElement("IsEnabled"); + ss << std::boolalpha << m_isEnabled; + isEnabledNode.SetText(ss.str()); + ss.str(""); + } + + if(m_filterHasBeenSet) + { + XmlNode filterNode = parentNode.CreateChildElement("Filter"); + m_filter.AddToNode(filterNode); + } + + if(m_idHasBeenSet) + { + XmlNode idNode = parentNode.CreateChildElement("Id"); + idNode.SetText(m_id); + } + + if(m_includedObjectVersionsHasBeenSet) + { + XmlNode includedObjectVersionsNode = parentNode.CreateChildElement("IncludedObjectVersions"); + includedObjectVersionsNode.SetText(InventoryIncludedObjectVersionsMapper::GetNameForInventoryIncludedObjectVersions(m_includedObjectVersions)); + } + + if(m_optionalFieldsHasBeenSet) + { + XmlNode optionalFieldsParentNode = parentNode.CreateChildElement("OptionalFields"); + for(const auto& item : m_optionalFields) + { + XmlNode optionalFieldsNode = optionalFieldsParentNode.CreateChildElement("Field"); + optionalFieldsNode.SetText(InventoryOptionalFieldMapper::GetNameForInventoryOptionalField(item)); + } + } + + if(m_scheduleHasBeenSet) + { + XmlNode scheduleNode = parentNode.CreateChildElement("Schedule"); + m_schedule.AddToNode(scheduleNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryDestination.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryDestination.cpp new file mode 100644 index 0000000000..0be4294b1f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryDestination.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/InventoryDestination.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 +{ + +InventoryDestination::InventoryDestination() : + m_s3BucketDestinationHasBeenSet(false) +{ +} + +InventoryDestination::InventoryDestination(const XmlNode& xmlNode) : + m_s3BucketDestinationHasBeenSet(false) +{ + *this = xmlNode; +} + +InventoryDestination& InventoryDestination::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode s3BucketDestinationNode = resultNode.FirstChild("S3BucketDestination"); + if(!s3BucketDestinationNode.IsNull()) + { + m_s3BucketDestination = s3BucketDestinationNode; + m_s3BucketDestinationHasBeenSet = true; + } + } + + return *this; +} + +void InventoryDestination::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_s3BucketDestinationHasBeenSet) + { + XmlNode s3BucketDestinationNode = parentNode.CreateChildElement("S3BucketDestination"); + m_s3BucketDestination.AddToNode(s3BucketDestinationNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryEncryption.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryEncryption.cpp new file mode 100644 index 0000000000..82f9a9c0a3 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryEncryption.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/InventoryEncryption.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 +{ + +InventoryEncryption::InventoryEncryption() : + m_sSES3HasBeenSet(false), + m_sSEKMSHasBeenSet(false) +{ +} + +InventoryEncryption::InventoryEncryption(const XmlNode& xmlNode) : + m_sSES3HasBeenSet(false), + m_sSEKMSHasBeenSet(false) +{ + *this = xmlNode; +} + +InventoryEncryption& InventoryEncryption::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode sSES3Node = resultNode.FirstChild("SSE-S3"); + if(!sSES3Node.IsNull()) + { + m_sSES3 = sSES3Node; + m_sSES3HasBeenSet = true; + } + XmlNode sSEKMSNode = resultNode.FirstChild("SSE-KMS"); + if(!sSEKMSNode.IsNull()) + { + m_sSEKMS = sSEKMSNode; + m_sSEKMSHasBeenSet = true; + } + } + + return *this; +} + +void InventoryEncryption::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_sSES3HasBeenSet) + { + XmlNode sSES3Node = parentNode.CreateChildElement("SSE-S3"); + m_sSES3.AddToNode(sSES3Node); + } + + if(m_sSEKMSHasBeenSet) + { + XmlNode sSEKMSNode = parentNode.CreateChildElement("SSE-KMS"); + m_sSEKMS.AddToNode(sSEKMSNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryFilter.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryFilter.cpp new file mode 100644 index 0000000000..857efe0dad --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryFilter.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/InventoryFilter.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 +{ + +InventoryFilter::InventoryFilter() : + m_prefixHasBeenSet(false) +{ +} + +InventoryFilter::InventoryFilter(const XmlNode& xmlNode) : + m_prefixHasBeenSet(false) +{ + *this = xmlNode; +} + +InventoryFilter& InventoryFilter::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + m_prefixHasBeenSet = true; + } + } + + return *this; +} + +void InventoryFilter::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_prefixHasBeenSet) + { + XmlNode prefixNode = parentNode.CreateChildElement("Prefix"); + prefixNode.SetText(m_prefix); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryFormat.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryFormat.cpp new file mode 100644 index 0000000000..f7bbc6c269 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryFormat.cpp @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/InventoryFormat.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace InventoryFormatMapper + { + + static const int CSV_HASH = HashingUtils::HashString("CSV"); + static const int ORC_HASH = HashingUtils::HashString("ORC"); + static const int Parquet_HASH = HashingUtils::HashString("Parquet"); + + + InventoryFormat GetInventoryFormatForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CSV_HASH) + { + return InventoryFormat::CSV; + } + else if (hashCode == ORC_HASH) + { + return InventoryFormat::ORC; + } + else if (hashCode == Parquet_HASH) + { + return InventoryFormat::Parquet; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<InventoryFormat>(hashCode); + } + + return InventoryFormat::NOT_SET; + } + + Aws::String GetNameForInventoryFormat(InventoryFormat enumValue) + { + switch(enumValue) + { + case InventoryFormat::CSV: + return "CSV"; + case InventoryFormat::ORC: + return "ORC"; + case InventoryFormat::Parquet: + return "Parquet"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace InventoryFormatMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryFrequency.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryFrequency.cpp new file mode 100644 index 0000000000..021e2a1710 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryFrequency.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/InventoryFrequency.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace InventoryFrequencyMapper + { + + static const int Daily_HASH = HashingUtils::HashString("Daily"); + static const int Weekly_HASH = HashingUtils::HashString("Weekly"); + + + InventoryFrequency GetInventoryFrequencyForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Daily_HASH) + { + return InventoryFrequency::Daily; + } + else if (hashCode == Weekly_HASH) + { + return InventoryFrequency::Weekly; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<InventoryFrequency>(hashCode); + } + + return InventoryFrequency::NOT_SET; + } + + Aws::String GetNameForInventoryFrequency(InventoryFrequency enumValue) + { + switch(enumValue) + { + case InventoryFrequency::Daily: + return "Daily"; + case InventoryFrequency::Weekly: + return "Weekly"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace InventoryFrequencyMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryIncludedObjectVersions.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryIncludedObjectVersions.cpp new file mode 100644 index 0000000000..f4e28acb00 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryIncludedObjectVersions.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/InventoryIncludedObjectVersions.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace InventoryIncludedObjectVersionsMapper + { + + static const int All_HASH = HashingUtils::HashString("All"); + static const int Current_HASH = HashingUtils::HashString("Current"); + + + InventoryIncludedObjectVersions GetInventoryIncludedObjectVersionsForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == All_HASH) + { + return InventoryIncludedObjectVersions::All; + } + else if (hashCode == Current_HASH) + { + return InventoryIncludedObjectVersions::Current; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<InventoryIncludedObjectVersions>(hashCode); + } + + return InventoryIncludedObjectVersions::NOT_SET; + } + + Aws::String GetNameForInventoryIncludedObjectVersions(InventoryIncludedObjectVersions enumValue) + { + switch(enumValue) + { + case InventoryIncludedObjectVersions::All: + return "All"; + case InventoryIncludedObjectVersions::Current: + return "Current"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace InventoryIncludedObjectVersionsMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryOptionalField.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryOptionalField.cpp new file mode 100644 index 0000000000..00ae5fda49 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryOptionalField.cpp @@ -0,0 +1,133 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/InventoryOptionalField.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace InventoryOptionalFieldMapper + { + + static const int Size_HASH = HashingUtils::HashString("Size"); + static const int LastModifiedDate_HASH = HashingUtils::HashString("LastModifiedDate"); + static const int StorageClass_HASH = HashingUtils::HashString("StorageClass"); + static const int ETag_HASH = HashingUtils::HashString("ETag"); + static const int IsMultipartUploaded_HASH = HashingUtils::HashString("IsMultipartUploaded"); + static const int ReplicationStatus_HASH = HashingUtils::HashString("ReplicationStatus"); + static const int EncryptionStatus_HASH = HashingUtils::HashString("EncryptionStatus"); + static const int ObjectLockRetainUntilDate_HASH = HashingUtils::HashString("ObjectLockRetainUntilDate"); + static const int ObjectLockMode_HASH = HashingUtils::HashString("ObjectLockMode"); + static const int ObjectLockLegalHoldStatus_HASH = HashingUtils::HashString("ObjectLockLegalHoldStatus"); + static const int IntelligentTieringAccessTier_HASH = HashingUtils::HashString("IntelligentTieringAccessTier"); + + + InventoryOptionalField GetInventoryOptionalFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Size_HASH) + { + return InventoryOptionalField::Size; + } + else if (hashCode == LastModifiedDate_HASH) + { + return InventoryOptionalField::LastModifiedDate; + } + else if (hashCode == StorageClass_HASH) + { + return InventoryOptionalField::StorageClass; + } + else if (hashCode == ETag_HASH) + { + return InventoryOptionalField::ETag; + } + else if (hashCode == IsMultipartUploaded_HASH) + { + return InventoryOptionalField::IsMultipartUploaded; + } + else if (hashCode == ReplicationStatus_HASH) + { + return InventoryOptionalField::ReplicationStatus; + } + else if (hashCode == EncryptionStatus_HASH) + { + return InventoryOptionalField::EncryptionStatus; + } + else if (hashCode == ObjectLockRetainUntilDate_HASH) + { + return InventoryOptionalField::ObjectLockRetainUntilDate; + } + else if (hashCode == ObjectLockMode_HASH) + { + return InventoryOptionalField::ObjectLockMode; + } + else if (hashCode == ObjectLockLegalHoldStatus_HASH) + { + return InventoryOptionalField::ObjectLockLegalHoldStatus; + } + else if (hashCode == IntelligentTieringAccessTier_HASH) + { + return InventoryOptionalField::IntelligentTieringAccessTier; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<InventoryOptionalField>(hashCode); + } + + return InventoryOptionalField::NOT_SET; + } + + Aws::String GetNameForInventoryOptionalField(InventoryOptionalField enumValue) + { + switch(enumValue) + { + case InventoryOptionalField::Size: + return "Size"; + case InventoryOptionalField::LastModifiedDate: + return "LastModifiedDate"; + case InventoryOptionalField::StorageClass: + return "StorageClass"; + case InventoryOptionalField::ETag: + return "ETag"; + case InventoryOptionalField::IsMultipartUploaded: + return "IsMultipartUploaded"; + case InventoryOptionalField::ReplicationStatus: + return "ReplicationStatus"; + case InventoryOptionalField::EncryptionStatus: + return "EncryptionStatus"; + case InventoryOptionalField::ObjectLockRetainUntilDate: + return "ObjectLockRetainUntilDate"; + case InventoryOptionalField::ObjectLockMode: + return "ObjectLockMode"; + case InventoryOptionalField::ObjectLockLegalHoldStatus: + return "ObjectLockLegalHoldStatus"; + case InventoryOptionalField::IntelligentTieringAccessTier: + return "IntelligentTieringAccessTier"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace InventoryOptionalFieldMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryS3BucketDestination.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryS3BucketDestination.cpp new file mode 100644 index 0000000000..5fb1f155a6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryS3BucketDestination.cpp @@ -0,0 +1,122 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/InventoryS3BucketDestination.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 +{ + +InventoryS3BucketDestination::InventoryS3BucketDestination() : + m_accountIdHasBeenSet(false), + m_bucketHasBeenSet(false), + m_format(InventoryFormat::NOT_SET), + m_formatHasBeenSet(false), + m_prefixHasBeenSet(false), + m_encryptionHasBeenSet(false) +{ +} + +InventoryS3BucketDestination::InventoryS3BucketDestination(const XmlNode& xmlNode) : + m_accountIdHasBeenSet(false), + m_bucketHasBeenSet(false), + m_format(InventoryFormat::NOT_SET), + m_formatHasBeenSet(false), + m_prefixHasBeenSet(false), + m_encryptionHasBeenSet(false) +{ + *this = xmlNode; +} + +InventoryS3BucketDestination& InventoryS3BucketDestination::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode accountIdNode = resultNode.FirstChild("AccountId"); + if(!accountIdNode.IsNull()) + { + m_accountId = Aws::Utils::Xml::DecodeEscapedXmlText(accountIdNode.GetText()); + m_accountIdHasBeenSet = true; + } + XmlNode bucketNode = resultNode.FirstChild("Bucket"); + if(!bucketNode.IsNull()) + { + m_bucket = Aws::Utils::Xml::DecodeEscapedXmlText(bucketNode.GetText()); + m_bucketHasBeenSet = true; + } + XmlNode formatNode = resultNode.FirstChild("Format"); + if(!formatNode.IsNull()) + { + m_format = InventoryFormatMapper::GetInventoryFormatForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(formatNode.GetText()).c_str()).c_str()); + m_formatHasBeenSet = 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; + } + } + + return *this; +} + +void InventoryS3BucketDestination::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_accountIdHasBeenSet) + { + XmlNode accountIdNode = parentNode.CreateChildElement("AccountId"); + accountIdNode.SetText(m_accountId); + } + + if(m_bucketHasBeenSet) + { + XmlNode bucketNode = parentNode.CreateChildElement("Bucket"); + bucketNode.SetText(m_bucket); + } + + if(m_formatHasBeenSet) + { + XmlNode formatNode = parentNode.CreateChildElement("Format"); + formatNode.SetText(InventoryFormatMapper::GetNameForInventoryFormat(m_format)); + } + + if(m_prefixHasBeenSet) + { + XmlNode prefixNode = parentNode.CreateChildElement("Prefix"); + prefixNode.SetText(m_prefix); + } + + if(m_encryptionHasBeenSet) + { + XmlNode encryptionNode = parentNode.CreateChildElement("Encryption"); + m_encryption.AddToNode(encryptionNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventorySchedule.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventorySchedule.cpp new file mode 100644 index 0000000000..008acd8159 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventorySchedule.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/InventorySchedule.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 +{ + +InventorySchedule::InventorySchedule() : + m_frequency(InventoryFrequency::NOT_SET), + m_frequencyHasBeenSet(false) +{ +} + +InventorySchedule::InventorySchedule(const XmlNode& xmlNode) : + m_frequency(InventoryFrequency::NOT_SET), + m_frequencyHasBeenSet(false) +{ + *this = xmlNode; +} + +InventorySchedule& InventorySchedule::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode frequencyNode = resultNode.FirstChild("Frequency"); + if(!frequencyNode.IsNull()) + { + m_frequency = InventoryFrequencyMapper::GetInventoryFrequencyForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(frequencyNode.GetText()).c_str()).c_str()); + m_frequencyHasBeenSet = true; + } + } + + return *this; +} + +void InventorySchedule::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_frequencyHasBeenSet) + { + XmlNode frequencyNode = parentNode.CreateChildElement("Frequency"); + frequencyNode.SetText(InventoryFrequencyMapper::GetNameForInventoryFrequency(m_frequency)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/JSONInput.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/JSONInput.cpp new file mode 100644 index 0000000000..ba016e2c34 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/JSONInput.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/JSONInput.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 +{ + +JSONInput::JSONInput() : + m_type(JSONType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +JSONInput::JSONInput(const XmlNode& xmlNode) : + m_type(JSONType::NOT_SET), + m_typeHasBeenSet(false) +{ + *this = xmlNode; +} + +JSONInput& JSONInput::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode typeNode = resultNode.FirstChild("Type"); + if(!typeNode.IsNull()) + { + m_type = JSONTypeMapper::GetJSONTypeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(typeNode.GetText()).c_str()).c_str()); + m_typeHasBeenSet = true; + } + } + + return *this; +} + +void JSONInput::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_typeHasBeenSet) + { + XmlNode typeNode = parentNode.CreateChildElement("Type"); + typeNode.SetText(JSONTypeMapper::GetNameForJSONType(m_type)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/JSONOutput.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/JSONOutput.cpp new file mode 100644 index 0000000000..f4e44aacd7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/JSONOutput.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/JSONOutput.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 +{ + +JSONOutput::JSONOutput() : + m_recordDelimiterHasBeenSet(false) +{ +} + +JSONOutput::JSONOutput(const XmlNode& xmlNode) : + m_recordDelimiterHasBeenSet(false) +{ + *this = xmlNode; +} + +JSONOutput& JSONOutput::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode recordDelimiterNode = resultNode.FirstChild("RecordDelimiter"); + if(!recordDelimiterNode.IsNull()) + { + m_recordDelimiter = Aws::Utils::Xml::DecodeEscapedXmlText(recordDelimiterNode.GetText()); + m_recordDelimiterHasBeenSet = true; + } + } + + return *this; +} + +void JSONOutput::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_recordDelimiterHasBeenSet) + { + XmlNode recordDelimiterNode = parentNode.CreateChildElement("RecordDelimiter"); + recordDelimiterNode.SetText(m_recordDelimiter); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/JSONType.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/JSONType.cpp new file mode 100644 index 0000000000..5699a91376 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/JSONType.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/JSONType.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace JSONTypeMapper + { + + static const int DOCUMENT_HASH = HashingUtils::HashString("DOCUMENT"); + static const int LINES_HASH = HashingUtils::HashString("LINES"); + + + JSONType GetJSONTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == DOCUMENT_HASH) + { + return JSONType::DOCUMENT; + } + else if (hashCode == LINES_HASH) + { + return JSONType::LINES; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<JSONType>(hashCode); + } + + return JSONType::NOT_SET; + } + + Aws::String GetNameForJSONType(JSONType enumValue) + { + switch(enumValue) + { + case JSONType::DOCUMENT: + return "DOCUMENT"; + case JSONType::LINES: + return "LINES"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace JSONTypeMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LambdaFunctionConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LambdaFunctionConfiguration.cpp new file mode 100644 index 0000000000..9815401b04 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LambdaFunctionConfiguration.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/LambdaFunctionConfiguration.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 +{ + +LambdaFunctionConfiguration::LambdaFunctionConfiguration() : + m_idHasBeenSet(false), + m_lambdaFunctionArnHasBeenSet(false), + m_eventsHasBeenSet(false), + m_filterHasBeenSet(false) +{ +} + +LambdaFunctionConfiguration::LambdaFunctionConfiguration(const XmlNode& xmlNode) : + m_idHasBeenSet(false), + m_lambdaFunctionArnHasBeenSet(false), + m_eventsHasBeenSet(false), + m_filterHasBeenSet(false) +{ + *this = xmlNode; +} + +LambdaFunctionConfiguration& LambdaFunctionConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode idNode = resultNode.FirstChild("Id"); + if(!idNode.IsNull()) + { + m_id = Aws::Utils::Xml::DecodeEscapedXmlText(idNode.GetText()); + m_idHasBeenSet = true; + } + XmlNode lambdaFunctionArnNode = resultNode.FirstChild("CloudFunction"); + if(!lambdaFunctionArnNode.IsNull()) + { + m_lambdaFunctionArn = Aws::Utils::Xml::DecodeEscapedXmlText(lambdaFunctionArnNode.GetText()); + m_lambdaFunctionArnHasBeenSet = true; + } + XmlNode eventsNode = resultNode.FirstChild("Event"); + if(!eventsNode.IsNull()) + { + XmlNode eventMember = eventsNode; + while(!eventMember.IsNull()) + { + m_events.push_back(EventMapper::GetEventForName(StringUtils::Trim(eventMember.GetText().c_str()))); + eventMember = eventMember.NextNode("Event"); + } + + m_eventsHasBeenSet = true; + } + XmlNode filterNode = resultNode.FirstChild("Filter"); + if(!filterNode.IsNull()) + { + m_filter = filterNode; + m_filterHasBeenSet = true; + } + } + + return *this; +} + +void LambdaFunctionConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + XmlNode idNode = parentNode.CreateChildElement("Id"); + idNode.SetText(m_id); + } + + if(m_lambdaFunctionArnHasBeenSet) + { + XmlNode lambdaFunctionArnNode = parentNode.CreateChildElement("CloudFunction"); + lambdaFunctionArnNode.SetText(m_lambdaFunctionArn); + } + + if(m_eventsHasBeenSet) + { + for(const auto& item : m_events) + { + XmlNode eventsNode = parentNode.CreateChildElement("Event"); + eventsNode.SetText(EventMapper::GetNameForEvent(item)); + } + } + + if(m_filterHasBeenSet) + { + XmlNode filterNode = parentNode.CreateChildElement("Filter"); + m_filter.AddToNode(filterNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleConfiguration.cpp new file mode 100644 index 0000000000..0eb4a8ea86 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleConfiguration.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/LifecycleConfiguration.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 +{ + +LifecycleConfiguration::LifecycleConfiguration() : + m_rulesHasBeenSet(false) +{ +} + +LifecycleConfiguration::LifecycleConfiguration(const XmlNode& xmlNode) : + m_rulesHasBeenSet(false) +{ + *this = xmlNode; +} + +LifecycleConfiguration& LifecycleConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode rulesNode = resultNode.FirstChild("Rule"); + if(!rulesNode.IsNull()) + { + XmlNode ruleMember = rulesNode; + while(!ruleMember.IsNull()) + { + m_rules.push_back(ruleMember); + ruleMember = ruleMember.NextNode("Rule"); + } + + m_rulesHasBeenSet = true; + } + } + + return *this; +} + +void LifecycleConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_rulesHasBeenSet) + { + for(const auto& item : m_rules) + { + XmlNode rulesNode = parentNode.CreateChildElement("Rule"); + item.AddToNode(rulesNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleExpiration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleExpiration.cpp new file mode 100644 index 0000000000..be347d18f0 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleExpiration.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/LifecycleExpiration.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 +{ + +LifecycleExpiration::LifecycleExpiration() : + m_dateHasBeenSet(false), + m_days(0), + m_daysHasBeenSet(false), + m_expiredObjectDeleteMarker(false), + m_expiredObjectDeleteMarkerHasBeenSet(false) +{ +} + +LifecycleExpiration::LifecycleExpiration(const XmlNode& xmlNode) : + m_dateHasBeenSet(false), + m_days(0), + m_daysHasBeenSet(false), + m_expiredObjectDeleteMarker(false), + m_expiredObjectDeleteMarkerHasBeenSet(false) +{ + *this = xmlNode; +} + +LifecycleExpiration& LifecycleExpiration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode dateNode = resultNode.FirstChild("Date"); + if(!dateNode.IsNull()) + { + m_date = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(dateNode.GetText()).c_str()).c_str(), DateFormat::ISO_8601); + m_dateHasBeenSet = true; + } + XmlNode daysNode = resultNode.FirstChild("Days"); + if(!daysNode.IsNull()) + { + m_days = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(daysNode.GetText()).c_str()).c_str()); + m_daysHasBeenSet = true; + } + XmlNode expiredObjectDeleteMarkerNode = resultNode.FirstChild("ExpiredObjectDeleteMarker"); + if(!expiredObjectDeleteMarkerNode.IsNull()) + { + m_expiredObjectDeleteMarker = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(expiredObjectDeleteMarkerNode.GetText()).c_str()).c_str()); + m_expiredObjectDeleteMarkerHasBeenSet = true; + } + } + + return *this; +} + +void LifecycleExpiration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_dateHasBeenSet) + { + XmlNode dateNode = parentNode.CreateChildElement("Date"); + dateNode.SetText(m_date.ToGmtString(DateFormat::ISO_8601)); + } + + if(m_daysHasBeenSet) + { + XmlNode daysNode = parentNode.CreateChildElement("Days"); + ss << m_days; + daysNode.SetText(ss.str()); + ss.str(""); + } + + if(m_expiredObjectDeleteMarkerHasBeenSet) + { + XmlNode expiredObjectDeleteMarkerNode = parentNode.CreateChildElement("ExpiredObjectDeleteMarker"); + ss << std::boolalpha << m_expiredObjectDeleteMarker; + expiredObjectDeleteMarkerNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws 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 diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRuleAndOperator.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRuleAndOperator.cpp new file mode 100644 index 0000000000..833c1d99ea --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRuleAndOperator.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/LifecycleRuleAndOperator.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 +{ + +LifecycleRuleAndOperator::LifecycleRuleAndOperator() : + m_prefixHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +LifecycleRuleAndOperator::LifecycleRuleAndOperator(const XmlNode& xmlNode) : + m_prefixHasBeenSet(false), + m_tagsHasBeenSet(false) +{ + *this = xmlNode; +} + +LifecycleRuleAndOperator& LifecycleRuleAndOperator::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + m_prefixHasBeenSet = true; + } + XmlNode tagsNode = resultNode.FirstChild("Tag"); + if(!tagsNode.IsNull()) + { + XmlNode tagMember = tagsNode; + while(!tagMember.IsNull()) + { + m_tags.push_back(tagMember); + tagMember = tagMember.NextNode("Tag"); + } + + m_tagsHasBeenSet = true; + } + } + + return *this; +} + +void LifecycleRuleAndOperator::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_prefixHasBeenSet) + { + XmlNode prefixNode = parentNode.CreateChildElement("Prefix"); + prefixNode.SetText(m_prefix); + } + + if(m_tagsHasBeenSet) + { + XmlNode tagsParentNode = parentNode.CreateChildElement("Tags"); + for(const auto& item : m_tags) + { + XmlNode tagsNode = tagsParentNode.CreateChildElement("Tag"); + item.AddToNode(tagsNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRuleFilter.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRuleFilter.cpp new file mode 100644 index 0000000000..0f56fb9044 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRuleFilter.cpp @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/LifecycleRuleFilter.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 +{ + +LifecycleRuleFilter::LifecycleRuleFilter() : + m_prefixHasBeenSet(false), + m_tagHasBeenSet(false), + m_andHasBeenSet(false) +{ +} + +LifecycleRuleFilter::LifecycleRuleFilter(const XmlNode& xmlNode) : + m_prefixHasBeenSet(false), + m_tagHasBeenSet(false), + m_andHasBeenSet(false) +{ + *this = xmlNode; +} + +LifecycleRuleFilter& LifecycleRuleFilter::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + m_prefixHasBeenSet = true; + } + XmlNode tagNode = resultNode.FirstChild("Tag"); + if(!tagNode.IsNull()) + { + m_tag = tagNode; + m_tagHasBeenSet = true; + } + XmlNode andNode = resultNode.FirstChild("And"); + if(!andNode.IsNull()) + { + m_and = andNode; + m_andHasBeenSet = true; + } + } + + return *this; +} + +void LifecycleRuleFilter::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_prefixHasBeenSet) + { + XmlNode prefixNode = parentNode.CreateChildElement("Prefix"); + prefixNode.SetText(m_prefix); + } + + if(m_tagHasBeenSet) + { + XmlNode tagNode = parentNode.CreateChildElement("Tag"); + m_tag.AddToNode(tagNode); + } + + if(m_andHasBeenSet) + { + XmlNode andNode = parentNode.CreateChildElement("And"); + m_and.AddToNode(andNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketAnalyticsConfigurationsRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketAnalyticsConfigurationsRequest.cpp new file mode 100644 index 0000000000..5b114920e1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketAnalyticsConfigurationsRequest.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListBucketAnalyticsConfigurationsRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListBucketAnalyticsConfigurationsRequest::ListBucketAnalyticsConfigurationsRequest() : + m_bucketHasBeenSet(false), + m_continuationTokenHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String ListBucketAnalyticsConfigurationsRequest::SerializePayload() const +{ + return {}; +} + +void ListBucketAnalyticsConfigurationsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_continuationTokenHasBeenSet) + { + ss << m_continuationToken; + uri.AddQueryStringParameter("continuation-token", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection ListBucketAnalyticsConfigurationsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketAnalyticsConfigurationsResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketAnalyticsConfigurationsResult.cpp new file mode 100644 index 0000000000..83614990b1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketAnalyticsConfigurationsResult.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListBucketAnalyticsConfigurationsResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +ListBucketAnalyticsConfigurationsResult::ListBucketAnalyticsConfigurationsResult() : + m_isTruncated(false) +{ +} + +ListBucketAnalyticsConfigurationsResult::ListBucketAnalyticsConfigurationsResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_isTruncated(false) +{ + *this = result; +} + +ListBucketAnalyticsConfigurationsResult& ListBucketAnalyticsConfigurationsResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode isTruncatedNode = resultNode.FirstChild("IsTruncated"); + if(!isTruncatedNode.IsNull()) + { + m_isTruncated = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isTruncatedNode.GetText()).c_str()).c_str()); + } + XmlNode continuationTokenNode = resultNode.FirstChild("ContinuationToken"); + if(!continuationTokenNode.IsNull()) + { + m_continuationToken = Aws::Utils::Xml::DecodeEscapedXmlText(continuationTokenNode.GetText()); + } + XmlNode nextContinuationTokenNode = resultNode.FirstChild("NextContinuationToken"); + if(!nextContinuationTokenNode.IsNull()) + { + m_nextContinuationToken = Aws::Utils::Xml::DecodeEscapedXmlText(nextContinuationTokenNode.GetText()); + } + XmlNode analyticsConfigurationListNode = resultNode.FirstChild("AnalyticsConfiguration"); + if(!analyticsConfigurationListNode.IsNull()) + { + XmlNode analyticsConfigurationMember = analyticsConfigurationListNode; + while(!analyticsConfigurationMember.IsNull()) + { + m_analyticsConfigurationList.push_back(analyticsConfigurationMember); + analyticsConfigurationMember = analyticsConfigurationMember.NextNode("AnalyticsConfiguration"); + } + + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp new file mode 100644 index 0000000000..8e83bdec35 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListBucketIntelligentTieringConfigurationsRequest::ListBucketIntelligentTieringConfigurationsRequest() : + m_bucketHasBeenSet(false), + m_continuationTokenHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String ListBucketIntelligentTieringConfigurationsRequest::SerializePayload() const +{ + return {}; +} + +void ListBucketIntelligentTieringConfigurationsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_continuationTokenHasBeenSet) + { + ss << m_continuationToken; + uri.AddQueryStringParameter("continuation-token", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketIntelligentTieringConfigurationsResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketIntelligentTieringConfigurationsResult.cpp new file mode 100644 index 0000000000..aa08512586 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketIntelligentTieringConfigurationsResult.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListBucketIntelligentTieringConfigurationsResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +ListBucketIntelligentTieringConfigurationsResult::ListBucketIntelligentTieringConfigurationsResult() : + m_isTruncated(false) +{ +} + +ListBucketIntelligentTieringConfigurationsResult::ListBucketIntelligentTieringConfigurationsResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_isTruncated(false) +{ + *this = result; +} + +ListBucketIntelligentTieringConfigurationsResult& ListBucketIntelligentTieringConfigurationsResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode isTruncatedNode = resultNode.FirstChild("IsTruncated"); + if(!isTruncatedNode.IsNull()) + { + m_isTruncated = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isTruncatedNode.GetText()).c_str()).c_str()); + } + XmlNode continuationTokenNode = resultNode.FirstChild("ContinuationToken"); + if(!continuationTokenNode.IsNull()) + { + m_continuationToken = Aws::Utils::Xml::DecodeEscapedXmlText(continuationTokenNode.GetText()); + } + XmlNode nextContinuationTokenNode = resultNode.FirstChild("NextContinuationToken"); + if(!nextContinuationTokenNode.IsNull()) + { + m_nextContinuationToken = Aws::Utils::Xml::DecodeEscapedXmlText(nextContinuationTokenNode.GetText()); + } + XmlNode intelligentTieringConfigurationListNode = resultNode.FirstChild("IntelligentTieringConfiguration"); + if(!intelligentTieringConfigurationListNode.IsNull()) + { + XmlNode intelligentTieringConfigurationMember = intelligentTieringConfigurationListNode; + while(!intelligentTieringConfigurationMember.IsNull()) + { + m_intelligentTieringConfigurationList.push_back(intelligentTieringConfigurationMember); + intelligentTieringConfigurationMember = intelligentTieringConfigurationMember.NextNode("IntelligentTieringConfiguration"); + } + + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketInventoryConfigurationsRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketInventoryConfigurationsRequest.cpp new file mode 100644 index 0000000000..fbd8f9ff83 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketInventoryConfigurationsRequest.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListBucketInventoryConfigurationsRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListBucketInventoryConfigurationsRequest::ListBucketInventoryConfigurationsRequest() : + m_bucketHasBeenSet(false), + m_continuationTokenHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String ListBucketInventoryConfigurationsRequest::SerializePayload() const +{ + return {}; +} + +void ListBucketInventoryConfigurationsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_continuationTokenHasBeenSet) + { + ss << m_continuationToken; + uri.AddQueryStringParameter("continuation-token", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection ListBucketInventoryConfigurationsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketInventoryConfigurationsResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketInventoryConfigurationsResult.cpp new file mode 100644 index 0000000000..9eba8ffec6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketInventoryConfigurationsResult.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListBucketInventoryConfigurationsResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +ListBucketInventoryConfigurationsResult::ListBucketInventoryConfigurationsResult() : + m_isTruncated(false) +{ +} + +ListBucketInventoryConfigurationsResult::ListBucketInventoryConfigurationsResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_isTruncated(false) +{ + *this = result; +} + +ListBucketInventoryConfigurationsResult& ListBucketInventoryConfigurationsResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode continuationTokenNode = resultNode.FirstChild("ContinuationToken"); + if(!continuationTokenNode.IsNull()) + { + m_continuationToken = Aws::Utils::Xml::DecodeEscapedXmlText(continuationTokenNode.GetText()); + } + XmlNode inventoryConfigurationListNode = resultNode.FirstChild("InventoryConfiguration"); + if(!inventoryConfigurationListNode.IsNull()) + { + XmlNode inventoryConfigurationMember = inventoryConfigurationListNode; + while(!inventoryConfigurationMember.IsNull()) + { + m_inventoryConfigurationList.push_back(inventoryConfigurationMember); + inventoryConfigurationMember = inventoryConfigurationMember.NextNode("InventoryConfiguration"); + } + + } + XmlNode isTruncatedNode = resultNode.FirstChild("IsTruncated"); + if(!isTruncatedNode.IsNull()) + { + m_isTruncated = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isTruncatedNode.GetText()).c_str()).c_str()); + } + XmlNode nextContinuationTokenNode = resultNode.FirstChild("NextContinuationToken"); + if(!nextContinuationTokenNode.IsNull()) + { + m_nextContinuationToken = Aws::Utils::Xml::DecodeEscapedXmlText(nextContinuationTokenNode.GetText()); + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketMetricsConfigurationsRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketMetricsConfigurationsRequest.cpp new file mode 100644 index 0000000000..3978ec46f8 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketMetricsConfigurationsRequest.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListBucketMetricsConfigurationsRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListBucketMetricsConfigurationsRequest::ListBucketMetricsConfigurationsRequest() : + m_bucketHasBeenSet(false), + m_continuationTokenHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String ListBucketMetricsConfigurationsRequest::SerializePayload() const +{ + return {}; +} + +void ListBucketMetricsConfigurationsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_continuationTokenHasBeenSet) + { + ss << m_continuationToken; + uri.AddQueryStringParameter("continuation-token", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection ListBucketMetricsConfigurationsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketMetricsConfigurationsResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketMetricsConfigurationsResult.cpp new file mode 100644 index 0000000000..5d9cb51845 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketMetricsConfigurationsResult.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListBucketMetricsConfigurationsResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +ListBucketMetricsConfigurationsResult::ListBucketMetricsConfigurationsResult() : + m_isTruncated(false) +{ +} + +ListBucketMetricsConfigurationsResult::ListBucketMetricsConfigurationsResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_isTruncated(false) +{ + *this = result; +} + +ListBucketMetricsConfigurationsResult& ListBucketMetricsConfigurationsResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode isTruncatedNode = resultNode.FirstChild("IsTruncated"); + if(!isTruncatedNode.IsNull()) + { + m_isTruncated = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isTruncatedNode.GetText()).c_str()).c_str()); + } + XmlNode continuationTokenNode = resultNode.FirstChild("ContinuationToken"); + if(!continuationTokenNode.IsNull()) + { + m_continuationToken = Aws::Utils::Xml::DecodeEscapedXmlText(continuationTokenNode.GetText()); + } + XmlNode nextContinuationTokenNode = resultNode.FirstChild("NextContinuationToken"); + if(!nextContinuationTokenNode.IsNull()) + { + m_nextContinuationToken = Aws::Utils::Xml::DecodeEscapedXmlText(nextContinuationTokenNode.GetText()); + } + XmlNode metricsConfigurationListNode = resultNode.FirstChild("MetricsConfiguration"); + if(!metricsConfigurationListNode.IsNull()) + { + XmlNode metricsConfigurationMember = metricsConfigurationListNode; + while(!metricsConfigurationMember.IsNull()) + { + m_metricsConfigurationList.push_back(metricsConfigurationMember); + metricsConfigurationMember = metricsConfigurationMember.NextNode("MetricsConfiguration"); + } + + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketsResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketsResult.cpp new file mode 100644 index 0000000000..43196edacd --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketsResult.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListBucketsResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +ListBucketsResult::ListBucketsResult() +{ +} + +ListBucketsResult::ListBucketsResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +ListBucketsResult& ListBucketsResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode bucketsNode = resultNode.FirstChild("Buckets"); + if(!bucketsNode.IsNull()) + { + XmlNode bucketsMember = bucketsNode.FirstChild("Bucket"); + while(!bucketsMember.IsNull()) + { + m_buckets.push_back(bucketsMember); + bucketsMember = bucketsMember.NextNode("Bucket"); + } + + } + XmlNode ownerNode = resultNode.FirstChild("Owner"); + if(!ownerNode.IsNull()) + { + m_owner = ownerNode; + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListMultipartUploadsRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListMultipartUploadsRequest.cpp new file mode 100644 index 0000000000..9723e16a9d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListMultipartUploadsRequest.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListMultipartUploadsRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListMultipartUploadsRequest::ListMultipartUploadsRequest() : + m_bucketHasBeenSet(false), + m_delimiterHasBeenSet(false), + m_encodingType(EncodingType::NOT_SET), + m_encodingTypeHasBeenSet(false), + m_keyMarkerHasBeenSet(false), + m_maxUploads(0), + m_maxUploadsHasBeenSet(false), + m_prefixHasBeenSet(false), + m_uploadIdMarkerHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String ListMultipartUploadsRequest::SerializePayload() const +{ + return {}; +} + +void ListMultipartUploadsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_delimiterHasBeenSet) + { + ss << m_delimiter; + uri.AddQueryStringParameter("delimiter", ss.str()); + ss.str(""); + } + + if(m_encodingTypeHasBeenSet) + { + ss << EncodingTypeMapper::GetNameForEncodingType(m_encodingType); + uri.AddQueryStringParameter("encoding-type", ss.str()); + ss.str(""); + } + + if(m_keyMarkerHasBeenSet) + { + ss << m_keyMarker; + uri.AddQueryStringParameter("key-marker", ss.str()); + ss.str(""); + } + + if(m_maxUploadsHasBeenSet) + { + ss << m_maxUploads; + uri.AddQueryStringParameter("max-uploads", ss.str()); + ss.str(""); + } + + if(m_prefixHasBeenSet) + { + ss << m_prefix; + uri.AddQueryStringParameter("prefix", ss.str()); + ss.str(""); + } + + if(m_uploadIdMarkerHasBeenSet) + { + ss << m_uploadIdMarker; + uri.AddQueryStringParameter("upload-id-marker", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection ListMultipartUploadsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListMultipartUploadsResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListMultipartUploadsResult.cpp new file mode 100644 index 0000000000..07a2e7b788 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListMultipartUploadsResult.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListMultipartUploadsResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +ListMultipartUploadsResult::ListMultipartUploadsResult() : + m_maxUploads(0), + m_isTruncated(false), + m_encodingType(EncodingType::NOT_SET) +{ +} + +ListMultipartUploadsResult::ListMultipartUploadsResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_maxUploads(0), + m_isTruncated(false), + m_encodingType(EncodingType::NOT_SET) +{ + *this = result; +} + +ListMultipartUploadsResult& ListMultipartUploadsResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode bucketNode = resultNode.FirstChild("Bucket"); + if(!bucketNode.IsNull()) + { + m_bucket = Aws::Utils::Xml::DecodeEscapedXmlText(bucketNode.GetText()); + } + XmlNode keyMarkerNode = resultNode.FirstChild("KeyMarker"); + if(!keyMarkerNode.IsNull()) + { + m_keyMarker = Aws::Utils::Xml::DecodeEscapedXmlText(keyMarkerNode.GetText()); + } + XmlNode uploadIdMarkerNode = resultNode.FirstChild("UploadIdMarker"); + if(!uploadIdMarkerNode.IsNull()) + { + m_uploadIdMarker = Aws::Utils::Xml::DecodeEscapedXmlText(uploadIdMarkerNode.GetText()); + } + XmlNode nextKeyMarkerNode = resultNode.FirstChild("NextKeyMarker"); + if(!nextKeyMarkerNode.IsNull()) + { + m_nextKeyMarker = Aws::Utils::Xml::DecodeEscapedXmlText(nextKeyMarkerNode.GetText()); + } + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + } + XmlNode delimiterNode = resultNode.FirstChild("Delimiter"); + if(!delimiterNode.IsNull()) + { + m_delimiter = Aws::Utils::Xml::DecodeEscapedXmlText(delimiterNode.GetText()); + } + XmlNode nextUploadIdMarkerNode = resultNode.FirstChild("NextUploadIdMarker"); + if(!nextUploadIdMarkerNode.IsNull()) + { + m_nextUploadIdMarker = Aws::Utils::Xml::DecodeEscapedXmlText(nextUploadIdMarkerNode.GetText()); + } + XmlNode maxUploadsNode = resultNode.FirstChild("MaxUploads"); + if(!maxUploadsNode.IsNull()) + { + m_maxUploads = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(maxUploadsNode.GetText()).c_str()).c_str()); + } + XmlNode isTruncatedNode = resultNode.FirstChild("IsTruncated"); + if(!isTruncatedNode.IsNull()) + { + m_isTruncated = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isTruncatedNode.GetText()).c_str()).c_str()); + } + XmlNode uploadsNode = resultNode.FirstChild("Upload"); + if(!uploadsNode.IsNull()) + { + XmlNode uploadMember = uploadsNode; + while(!uploadMember.IsNull()) + { + m_uploads.push_back(uploadMember); + uploadMember = uploadMember.NextNode("Upload"); + } + + } + XmlNode commonPrefixesNode = resultNode.FirstChild("CommonPrefixes"); + if(!commonPrefixesNode.IsNull()) + { + XmlNode commonPrefixesMember = commonPrefixesNode; + while(!commonPrefixesMember.IsNull()) + { + m_commonPrefixes.push_back(commonPrefixesMember); + commonPrefixesMember = commonPrefixesMember.NextNode("CommonPrefixes"); + } + + } + XmlNode encodingTypeNode = resultNode.FirstChild("EncodingType"); + if(!encodingTypeNode.IsNull()) + { + m_encodingType = EncodingTypeMapper::GetEncodingTypeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(encodingTypeNode.GetText()).c_str()).c_str()); + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectVersionsRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectVersionsRequest.cpp new file mode 100644 index 0000000000..2336f09ef8 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectVersionsRequest.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListObjectVersionsRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListObjectVersionsRequest::ListObjectVersionsRequest() : + m_bucketHasBeenSet(false), + m_delimiterHasBeenSet(false), + m_encodingType(EncodingType::NOT_SET), + m_encodingTypeHasBeenSet(false), + m_keyMarkerHasBeenSet(false), + m_maxKeys(0), + m_maxKeysHasBeenSet(false), + m_prefixHasBeenSet(false), + m_versionIdMarkerHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String ListObjectVersionsRequest::SerializePayload() const +{ + return {}; +} + +void ListObjectVersionsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_delimiterHasBeenSet) + { + ss << m_delimiter; + uri.AddQueryStringParameter("delimiter", ss.str()); + ss.str(""); + } + + if(m_encodingTypeHasBeenSet) + { + ss << EncodingTypeMapper::GetNameForEncodingType(m_encodingType); + uri.AddQueryStringParameter("encoding-type", ss.str()); + ss.str(""); + } + + if(m_keyMarkerHasBeenSet) + { + ss << m_keyMarker; + uri.AddQueryStringParameter("key-marker", ss.str()); + ss.str(""); + } + + if(m_maxKeysHasBeenSet) + { + ss << m_maxKeys; + uri.AddQueryStringParameter("max-keys", ss.str()); + ss.str(""); + } + + if(m_prefixHasBeenSet) + { + ss << m_prefix; + uri.AddQueryStringParameter("prefix", ss.str()); + ss.str(""); + } + + if(m_versionIdMarkerHasBeenSet) + { + ss << m_versionIdMarker; + uri.AddQueryStringParameter("version-id-marker", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection ListObjectVersionsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectVersionsResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectVersionsResult.cpp new file mode 100644 index 0000000000..9cccecdb3e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectVersionsResult.cpp @@ -0,0 +1,126 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListObjectVersionsResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +ListObjectVersionsResult::ListObjectVersionsResult() : + m_isTruncated(false), + m_maxKeys(0), + m_encodingType(EncodingType::NOT_SET) +{ +} + +ListObjectVersionsResult::ListObjectVersionsResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_isTruncated(false), + m_maxKeys(0), + m_encodingType(EncodingType::NOT_SET) +{ + *this = result; +} + +ListObjectVersionsResult& ListObjectVersionsResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode isTruncatedNode = resultNode.FirstChild("IsTruncated"); + if(!isTruncatedNode.IsNull()) + { + m_isTruncated = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isTruncatedNode.GetText()).c_str()).c_str()); + } + XmlNode keyMarkerNode = resultNode.FirstChild("KeyMarker"); + if(!keyMarkerNode.IsNull()) + { + m_keyMarker = Aws::Utils::Xml::DecodeEscapedXmlText(keyMarkerNode.GetText()); + } + XmlNode versionIdMarkerNode = resultNode.FirstChild("VersionIdMarker"); + if(!versionIdMarkerNode.IsNull()) + { + m_versionIdMarker = Aws::Utils::Xml::DecodeEscapedXmlText(versionIdMarkerNode.GetText()); + } + XmlNode nextKeyMarkerNode = resultNode.FirstChild("NextKeyMarker"); + if(!nextKeyMarkerNode.IsNull()) + { + m_nextKeyMarker = Aws::Utils::Xml::DecodeEscapedXmlText(nextKeyMarkerNode.GetText()); + } + XmlNode nextVersionIdMarkerNode = resultNode.FirstChild("NextVersionIdMarker"); + if(!nextVersionIdMarkerNode.IsNull()) + { + m_nextVersionIdMarker = Aws::Utils::Xml::DecodeEscapedXmlText(nextVersionIdMarkerNode.GetText()); + } + XmlNode versionsNode = resultNode.FirstChild("Version"); + if(!versionsNode.IsNull()) + { + XmlNode versionMember = versionsNode; + while(!versionMember.IsNull()) + { + m_versions.push_back(versionMember); + versionMember = versionMember.NextNode("Version"); + } + + } + XmlNode deleteMarkersNode = resultNode.FirstChild("DeleteMarker"); + if(!deleteMarkersNode.IsNull()) + { + XmlNode deleteMarkerMember = deleteMarkersNode; + while(!deleteMarkerMember.IsNull()) + { + m_deleteMarkers.push_back(deleteMarkerMember); + deleteMarkerMember = deleteMarkerMember.NextNode("DeleteMarker"); + } + + } + XmlNode nameNode = resultNode.FirstChild("Name"); + if(!nameNode.IsNull()) + { + m_name = Aws::Utils::Xml::DecodeEscapedXmlText(nameNode.GetText()); + } + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + } + XmlNode delimiterNode = resultNode.FirstChild("Delimiter"); + if(!delimiterNode.IsNull()) + { + m_delimiter = Aws::Utils::Xml::DecodeEscapedXmlText(delimiterNode.GetText()); + } + XmlNode maxKeysNode = resultNode.FirstChild("MaxKeys"); + if(!maxKeysNode.IsNull()) + { + m_maxKeys = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(maxKeysNode.GetText()).c_str()).c_str()); + } + XmlNode commonPrefixesNode = resultNode.FirstChild("CommonPrefixes"); + if(!commonPrefixesNode.IsNull()) + { + XmlNode commonPrefixesMember = commonPrefixesNode; + while(!commonPrefixesMember.IsNull()) + { + m_commonPrefixes.push_back(commonPrefixesMember); + commonPrefixesMember = commonPrefixesMember.NextNode("CommonPrefixes"); + } + + } + XmlNode encodingTypeNode = resultNode.FirstChild("EncodingType"); + if(!encodingTypeNode.IsNull()) + { + m_encodingType = EncodingTypeMapper::GetEncodingTypeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(encodingTypeNode.GetText()).c_str()).c_str()); + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectsRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectsRequest.cpp new file mode 100644 index 0000000000..33abec092f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectsRequest.cpp @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListObjectsRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListObjectsRequest::ListObjectsRequest() : + m_bucketHasBeenSet(false), + m_delimiterHasBeenSet(false), + m_encodingType(EncodingType::NOT_SET), + m_encodingTypeHasBeenSet(false), + m_markerHasBeenSet(false), + m_maxKeys(0), + m_maxKeysHasBeenSet(false), + m_prefixHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String ListObjectsRequest::SerializePayload() const +{ + return {}; +} + +void ListObjectsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_delimiterHasBeenSet) + { + ss << m_delimiter; + uri.AddQueryStringParameter("delimiter", ss.str()); + ss.str(""); + } + + if(m_encodingTypeHasBeenSet) + { + ss << EncodingTypeMapper::GetNameForEncodingType(m_encodingType); + uri.AddQueryStringParameter("encoding-type", ss.str()); + ss.str(""); + } + + if(m_markerHasBeenSet) + { + ss << m_marker; + uri.AddQueryStringParameter("marker", ss.str()); + ss.str(""); + } + + if(m_maxKeysHasBeenSet) + { + ss << m_maxKeys; + uri.AddQueryStringParameter("max-keys", ss.str()); + ss.str(""); + } + + if(m_prefixHasBeenSet) + { + ss << m_prefix; + uri.AddQueryStringParameter("prefix", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection ListObjectsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectsResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectsResult.cpp new file mode 100644 index 0000000000..ca09eeb417 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectsResult.cpp @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListObjectsResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +ListObjectsResult::ListObjectsResult() : + m_isTruncated(false), + m_maxKeys(0), + m_encodingType(EncodingType::NOT_SET) +{ +} + +ListObjectsResult::ListObjectsResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_isTruncated(false), + m_maxKeys(0), + m_encodingType(EncodingType::NOT_SET) +{ + *this = result; +} + +ListObjectsResult& ListObjectsResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode isTruncatedNode = resultNode.FirstChild("IsTruncated"); + if(!isTruncatedNode.IsNull()) + { + m_isTruncated = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isTruncatedNode.GetText()).c_str()).c_str()); + } + XmlNode markerNode = resultNode.FirstChild("Marker"); + if(!markerNode.IsNull()) + { + m_marker = Aws::Utils::Xml::DecodeEscapedXmlText(markerNode.GetText()); + } + XmlNode nextMarkerNode = resultNode.FirstChild("NextMarker"); + if(!nextMarkerNode.IsNull()) + { + m_nextMarker = Aws::Utils::Xml::DecodeEscapedXmlText(nextMarkerNode.GetText()); + } + XmlNode contentsNode = resultNode.FirstChild("Contents"); + if(!contentsNode.IsNull()) + { + XmlNode contentsMember = contentsNode; + while(!contentsMember.IsNull()) + { + m_contents.push_back(contentsMember); + contentsMember = contentsMember.NextNode("Contents"); + } + + } + XmlNode nameNode = resultNode.FirstChild("Name"); + if(!nameNode.IsNull()) + { + m_name = Aws::Utils::Xml::DecodeEscapedXmlText(nameNode.GetText()); + } + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + } + XmlNode delimiterNode = resultNode.FirstChild("Delimiter"); + if(!delimiterNode.IsNull()) + { + m_delimiter = Aws::Utils::Xml::DecodeEscapedXmlText(delimiterNode.GetText()); + } + XmlNode maxKeysNode = resultNode.FirstChild("MaxKeys"); + if(!maxKeysNode.IsNull()) + { + m_maxKeys = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(maxKeysNode.GetText()).c_str()).c_str()); + } + XmlNode commonPrefixesNode = resultNode.FirstChild("CommonPrefixes"); + if(!commonPrefixesNode.IsNull()) + { + XmlNode commonPrefixesMember = commonPrefixesNode; + while(!commonPrefixesMember.IsNull()) + { + m_commonPrefixes.push_back(commonPrefixesMember); + commonPrefixesMember = commonPrefixesMember.NextNode("CommonPrefixes"); + } + + } + XmlNode encodingTypeNode = resultNode.FirstChild("EncodingType"); + if(!encodingTypeNode.IsNull()) + { + m_encodingType = EncodingTypeMapper::GetEncodingTypeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(encodingTypeNode.GetText()).c_str()).c_str()); + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectsV2Request.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectsV2Request.cpp new file mode 100644 index 0000000000..2feb9b83c1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectsV2Request.cpp @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListObjectsV2Request.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListObjectsV2Request::ListObjectsV2Request() : + m_bucketHasBeenSet(false), + m_delimiterHasBeenSet(false), + m_encodingType(EncodingType::NOT_SET), + m_encodingTypeHasBeenSet(false), + m_maxKeys(0), + m_maxKeysHasBeenSet(false), + m_prefixHasBeenSet(false), + m_continuationTokenHasBeenSet(false), + m_fetchOwner(false), + m_fetchOwnerHasBeenSet(false), + m_startAfterHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String ListObjectsV2Request::SerializePayload() const +{ + return {}; +} + +void ListObjectsV2Request::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_delimiterHasBeenSet) + { + ss << m_delimiter; + uri.AddQueryStringParameter("delimiter", ss.str()); + ss.str(""); + } + + if(m_encodingTypeHasBeenSet) + { + ss << EncodingTypeMapper::GetNameForEncodingType(m_encodingType); + uri.AddQueryStringParameter("encoding-type", ss.str()); + ss.str(""); + } + + if(m_maxKeysHasBeenSet) + { + ss << m_maxKeys; + uri.AddQueryStringParameter("max-keys", ss.str()); + ss.str(""); + } + + if(m_prefixHasBeenSet) + { + ss << m_prefix; + uri.AddQueryStringParameter("prefix", ss.str()); + ss.str(""); + } + + if(m_continuationTokenHasBeenSet) + { + ss << m_continuationToken; + uri.AddQueryStringParameter("continuation-token", ss.str()); + ss.str(""); + } + + if(m_fetchOwnerHasBeenSet) + { + ss << m_fetchOwner; + uri.AddQueryStringParameter("fetch-owner", ss.str()); + ss.str(""); + } + + if(m_startAfterHasBeenSet) + { + ss << m_startAfter; + uri.AddQueryStringParameter("start-after", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection ListObjectsV2Request::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectsV2Result.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectsV2Result.cpp new file mode 100644 index 0000000000..efd991ac5b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectsV2Result.cpp @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListObjectsV2Result.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +ListObjectsV2Result::ListObjectsV2Result() : + m_isTruncated(false), + m_maxKeys(0), + m_encodingType(EncodingType::NOT_SET), + m_keyCount(0) +{ +} + +ListObjectsV2Result::ListObjectsV2Result(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_isTruncated(false), + m_maxKeys(0), + m_encodingType(EncodingType::NOT_SET), + m_keyCount(0) +{ + *this = result; +} + +ListObjectsV2Result& ListObjectsV2Result::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode isTruncatedNode = resultNode.FirstChild("IsTruncated"); + if(!isTruncatedNode.IsNull()) + { + m_isTruncated = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isTruncatedNode.GetText()).c_str()).c_str()); + } + XmlNode contentsNode = resultNode.FirstChild("Contents"); + if(!contentsNode.IsNull()) + { + XmlNode contentsMember = contentsNode; + while(!contentsMember.IsNull()) + { + m_contents.push_back(contentsMember); + contentsMember = contentsMember.NextNode("Contents"); + } + + } + XmlNode nameNode = resultNode.FirstChild("Name"); + if(!nameNode.IsNull()) + { + m_name = Aws::Utils::Xml::DecodeEscapedXmlText(nameNode.GetText()); + } + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + } + XmlNode delimiterNode = resultNode.FirstChild("Delimiter"); + if(!delimiterNode.IsNull()) + { + m_delimiter = Aws::Utils::Xml::DecodeEscapedXmlText(delimiterNode.GetText()); + } + XmlNode maxKeysNode = resultNode.FirstChild("MaxKeys"); + if(!maxKeysNode.IsNull()) + { + m_maxKeys = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(maxKeysNode.GetText()).c_str()).c_str()); + } + XmlNode commonPrefixesNode = resultNode.FirstChild("CommonPrefixes"); + if(!commonPrefixesNode.IsNull()) + { + XmlNode commonPrefixesMember = commonPrefixesNode; + while(!commonPrefixesMember.IsNull()) + { + m_commonPrefixes.push_back(commonPrefixesMember); + commonPrefixesMember = commonPrefixesMember.NextNode("CommonPrefixes"); + } + + } + XmlNode encodingTypeNode = resultNode.FirstChild("EncodingType"); + if(!encodingTypeNode.IsNull()) + { + m_encodingType = EncodingTypeMapper::GetEncodingTypeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(encodingTypeNode.GetText()).c_str()).c_str()); + } + XmlNode keyCountNode = resultNode.FirstChild("KeyCount"); + if(!keyCountNode.IsNull()) + { + m_keyCount = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(keyCountNode.GetText()).c_str()).c_str()); + } + XmlNode continuationTokenNode = resultNode.FirstChild("ContinuationToken"); + if(!continuationTokenNode.IsNull()) + { + m_continuationToken = Aws::Utils::Xml::DecodeEscapedXmlText(continuationTokenNode.GetText()); + } + XmlNode nextContinuationTokenNode = resultNode.FirstChild("NextContinuationToken"); + if(!nextContinuationTokenNode.IsNull()) + { + m_nextContinuationToken = Aws::Utils::Xml::DecodeEscapedXmlText(nextContinuationTokenNode.GetText()); + } + XmlNode startAfterNode = resultNode.FirstChild("StartAfter"); + if(!startAfterNode.IsNull()) + { + m_startAfter = Aws::Utils::Xml::DecodeEscapedXmlText(startAfterNode.GetText()); + } + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListPartsRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListPartsRequest.cpp new file mode 100644 index 0000000000..59ff12e4d1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListPartsRequest.cpp @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListPartsRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListPartsRequest::ListPartsRequest() : + m_bucketHasBeenSet(false), + m_keyHasBeenSet(false), + m_maxParts(0), + m_maxPartsHasBeenSet(false), + m_partNumberMarker(0), + m_partNumberMarkerHasBeenSet(false), + m_uploadIdHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String ListPartsRequest::SerializePayload() const +{ + return {}; +} + +void ListPartsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxPartsHasBeenSet) + { + ss << m_maxParts; + uri.AddQueryStringParameter("max-parts", ss.str()); + ss.str(""); + } + + if(m_partNumberMarkerHasBeenSet) + { + ss << m_partNumberMarker; + uri.AddQueryStringParameter("part-number-marker", ss.str()); + ss.str(""); + } + + if(m_uploadIdHasBeenSet) + { + ss << m_uploadId; + uri.AddQueryStringParameter("uploadId", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection ListPartsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListPartsResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListPartsResult.cpp new file mode 100644 index 0000000000..f4638f2a06 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListPartsResult.cpp @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListPartsResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +ListPartsResult::ListPartsResult() : + m_partNumberMarker(0), + m_nextPartNumberMarker(0), + m_maxParts(0), + m_isTruncated(false), + m_storageClass(StorageClass::NOT_SET), + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +ListPartsResult::ListPartsResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_partNumberMarker(0), + m_nextPartNumberMarker(0), + m_maxParts(0), + m_isTruncated(false), + m_storageClass(StorageClass::NOT_SET), + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +ListPartsResult& ListPartsResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode bucketNode = resultNode.FirstChild("Bucket"); + if(!bucketNode.IsNull()) + { + m_bucket = Aws::Utils::Xml::DecodeEscapedXmlText(bucketNode.GetText()); + } + XmlNode keyNode = resultNode.FirstChild("Key"); + if(!keyNode.IsNull()) + { + m_key = Aws::Utils::Xml::DecodeEscapedXmlText(keyNode.GetText()); + } + XmlNode uploadIdNode = resultNode.FirstChild("UploadId"); + if(!uploadIdNode.IsNull()) + { + m_uploadId = Aws::Utils::Xml::DecodeEscapedXmlText(uploadIdNode.GetText()); + } + XmlNode partNumberMarkerNode = resultNode.FirstChild("PartNumberMarker"); + if(!partNumberMarkerNode.IsNull()) + { + m_partNumberMarker = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(partNumberMarkerNode.GetText()).c_str()).c_str()); + } + XmlNode nextPartNumberMarkerNode = resultNode.FirstChild("NextPartNumberMarker"); + if(!nextPartNumberMarkerNode.IsNull()) + { + m_nextPartNumberMarker = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(nextPartNumberMarkerNode.GetText()).c_str()).c_str()); + } + XmlNode maxPartsNode = resultNode.FirstChild("MaxParts"); + if(!maxPartsNode.IsNull()) + { + m_maxParts = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(maxPartsNode.GetText()).c_str()).c_str()); + } + XmlNode isTruncatedNode = resultNode.FirstChild("IsTruncated"); + if(!isTruncatedNode.IsNull()) + { + m_isTruncated = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isTruncatedNode.GetText()).c_str()).c_str()); + } + XmlNode partsNode = resultNode.FirstChild("Part"); + if(!partsNode.IsNull()) + { + XmlNode partMember = partsNode; + while(!partMember.IsNull()) + { + m_parts.push_back(partMember); + partMember = partMember.NextNode("Part"); + } + + } + XmlNode initiatorNode = resultNode.FirstChild("Initiator"); + if(!initiatorNode.IsNull()) + { + m_initiator = initiatorNode; + } + XmlNode ownerNode = resultNode.FirstChild("Owner"); + if(!ownerNode.IsNull()) + { + m_owner = ownerNode; + } + XmlNode storageClassNode = resultNode.FirstChild("StorageClass"); + if(!storageClassNode.IsNull()) + { + m_storageClass = StorageClassMapper::GetStorageClassForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(storageClassNode.GetText()).c_str()).c_str()); + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& abortDateIter = headers.find("x-amz-abort-date"); + if(abortDateIter != headers.end()) + { + m_abortDate = DateTime(abortDateIter->second, DateFormat::RFC822); + } + + const auto& abortRuleIdIter = headers.find("x-amz-abort-rule-id"); + if(abortRuleIdIter != headers.end()) + { + m_abortRuleId = abortRuleIdIter->second; + } + + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LoggingEnabled.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LoggingEnabled.cpp new file mode 100644 index 0000000000..b39e74c769 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LoggingEnabled.cpp @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/LoggingEnabled.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 +{ + +LoggingEnabled::LoggingEnabled() : + m_targetBucketHasBeenSet(false), + m_targetGrantsHasBeenSet(false), + m_targetPrefixHasBeenSet(false) +{ +} + +LoggingEnabled::LoggingEnabled(const XmlNode& xmlNode) : + m_targetBucketHasBeenSet(false), + m_targetGrantsHasBeenSet(false), + m_targetPrefixHasBeenSet(false) +{ + *this = xmlNode; +} + +LoggingEnabled& LoggingEnabled::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode targetBucketNode = resultNode.FirstChild("TargetBucket"); + if(!targetBucketNode.IsNull()) + { + m_targetBucket = Aws::Utils::Xml::DecodeEscapedXmlText(targetBucketNode.GetText()); + m_targetBucketHasBeenSet = true; + } + XmlNode targetGrantsNode = resultNode.FirstChild("TargetGrants"); + if(!targetGrantsNode.IsNull()) + { + XmlNode targetGrantsMember = targetGrantsNode.FirstChild("Grant"); + while(!targetGrantsMember.IsNull()) + { + m_targetGrants.push_back(targetGrantsMember); + targetGrantsMember = targetGrantsMember.NextNode("Grant"); + } + + m_targetGrantsHasBeenSet = true; + } + XmlNode targetPrefixNode = resultNode.FirstChild("TargetPrefix"); + if(!targetPrefixNode.IsNull()) + { + m_targetPrefix = Aws::Utils::Xml::DecodeEscapedXmlText(targetPrefixNode.GetText()); + m_targetPrefixHasBeenSet = true; + } + } + + return *this; +} + +void LoggingEnabled::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_targetBucketHasBeenSet) + { + XmlNode targetBucketNode = parentNode.CreateChildElement("TargetBucket"); + targetBucketNode.SetText(m_targetBucket); + } + + if(m_targetGrantsHasBeenSet) + { + XmlNode targetGrantsParentNode = parentNode.CreateChildElement("TargetGrants"); + for(const auto& item : m_targetGrants) + { + XmlNode targetGrantsNode = targetGrantsParentNode.CreateChildElement("Grant"); + item.AddToNode(targetGrantsNode); + } + } + + if(m_targetPrefixHasBeenSet) + { + XmlNode targetPrefixNode = parentNode.CreateChildElement("TargetPrefix"); + targetPrefixNode.SetText(m_targetPrefix); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MFADelete.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MFADelete.cpp new file mode 100644 index 0000000000..25938f65c9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MFADelete.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/MFADelete.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace MFADeleteMapper + { + + static const int Enabled_HASH = HashingUtils::HashString("Enabled"); + static const int Disabled_HASH = HashingUtils::HashString("Disabled"); + + + MFADelete GetMFADeleteForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Enabled_HASH) + { + return MFADelete::Enabled; + } + else if (hashCode == Disabled_HASH) + { + return MFADelete::Disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<MFADelete>(hashCode); + } + + return MFADelete::NOT_SET; + } + + Aws::String GetNameForMFADelete(MFADelete enumValue) + { + switch(enumValue) + { + case MFADelete::Enabled: + return "Enabled"; + case MFADelete::Disabled: + return "Disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace MFADeleteMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MFADeleteStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MFADeleteStatus.cpp new file mode 100644 index 0000000000..3f0640aff7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MFADeleteStatus.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/MFADeleteStatus.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace MFADeleteStatusMapper + { + + static const int Enabled_HASH = HashingUtils::HashString("Enabled"); + static const int Disabled_HASH = HashingUtils::HashString("Disabled"); + + + MFADeleteStatus GetMFADeleteStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Enabled_HASH) + { + return MFADeleteStatus::Enabled; + } + else if (hashCode == Disabled_HASH) + { + return MFADeleteStatus::Disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<MFADeleteStatus>(hashCode); + } + + return MFADeleteStatus::NOT_SET; + } + + Aws::String GetNameForMFADeleteStatus(MFADeleteStatus enumValue) + { + switch(enumValue) + { + case MFADeleteStatus::Enabled: + return "Enabled"; + case MFADeleteStatus::Disabled: + return "Disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace MFADeleteStatusMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetadataDirective.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetadataDirective.cpp new file mode 100644 index 0000000000..06121d2990 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetadataDirective.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/MetadataDirective.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace MetadataDirectiveMapper + { + + static const int COPY_HASH = HashingUtils::HashString("COPY"); + static const int REPLACE_HASH = HashingUtils::HashString("REPLACE"); + + + MetadataDirective GetMetadataDirectiveForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == COPY_HASH) + { + return MetadataDirective::COPY; + } + else if (hashCode == REPLACE_HASH) + { + return MetadataDirective::REPLACE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<MetadataDirective>(hashCode); + } + + return MetadataDirective::NOT_SET; + } + + Aws::String GetNameForMetadataDirective(MetadataDirective enumValue) + { + switch(enumValue) + { + case MetadataDirective::COPY: + return "COPY"; + case MetadataDirective::REPLACE: + return "REPLACE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace MetadataDirectiveMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetadataEntry.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetadataEntry.cpp new file mode 100644 index 0000000000..a1c8ced24c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetadataEntry.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/MetadataEntry.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 +{ + +MetadataEntry::MetadataEntry() : + m_nameHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +MetadataEntry::MetadataEntry(const XmlNode& xmlNode) : + m_nameHasBeenSet(false), + m_valueHasBeenSet(false) +{ + *this = xmlNode; +} + +MetadataEntry& MetadataEntry::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode nameNode = resultNode.FirstChild("Name"); + if(!nameNode.IsNull()) + { + m_name = Aws::Utils::Xml::DecodeEscapedXmlText(nameNode.GetText()); + m_nameHasBeenSet = true; + } + XmlNode valueNode = resultNode.FirstChild("Value"); + if(!valueNode.IsNull()) + { + m_value = Aws::Utils::Xml::DecodeEscapedXmlText(valueNode.GetText()); + m_valueHasBeenSet = true; + } + } + + return *this; +} + +void MetadataEntry::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_nameHasBeenSet) + { + XmlNode nameNode = parentNode.CreateChildElement("Name"); + nameNode.SetText(m_name); + } + + if(m_valueHasBeenSet) + { + XmlNode valueNode = parentNode.CreateChildElement("Value"); + valueNode.SetText(m_value); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Metrics.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Metrics.cpp new file mode 100644 index 0000000000..dec4fe2264 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Metrics.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Metrics.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 +{ + +Metrics::Metrics() : + m_status(MetricsStatus::NOT_SET), + m_statusHasBeenSet(false), + m_eventThresholdHasBeenSet(false) +{ +} + +Metrics::Metrics(const XmlNode& xmlNode) : + m_status(MetricsStatus::NOT_SET), + m_statusHasBeenSet(false), + m_eventThresholdHasBeenSet(false) +{ + *this = xmlNode; +} + +Metrics& Metrics::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode statusNode = resultNode.FirstChild("Status"); + if(!statusNode.IsNull()) + { + m_status = MetricsStatusMapper::GetMetricsStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusNode.GetText()).c_str()).c_str()); + m_statusHasBeenSet = true; + } + XmlNode eventThresholdNode = resultNode.FirstChild("EventThreshold"); + if(!eventThresholdNode.IsNull()) + { + m_eventThreshold = eventThresholdNode; + m_eventThresholdHasBeenSet = true; + } + } + + return *this; +} + +void Metrics::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_statusHasBeenSet) + { + XmlNode statusNode = parentNode.CreateChildElement("Status"); + statusNode.SetText(MetricsStatusMapper::GetNameForMetricsStatus(m_status)); + } + + if(m_eventThresholdHasBeenSet) + { + XmlNode eventThresholdNode = parentNode.CreateChildElement("EventThreshold"); + m_eventThreshold.AddToNode(eventThresholdNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetricsAndOperator.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetricsAndOperator.cpp new file mode 100644 index 0000000000..74951cd0eb --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetricsAndOperator.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/MetricsAndOperator.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 +{ + +MetricsAndOperator::MetricsAndOperator() : + m_prefixHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +MetricsAndOperator::MetricsAndOperator(const XmlNode& xmlNode) : + m_prefixHasBeenSet(false), + m_tagsHasBeenSet(false) +{ + *this = xmlNode; +} + +MetricsAndOperator& MetricsAndOperator::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + m_prefixHasBeenSet = true; + } + XmlNode tagsNode = resultNode.FirstChild("Tag"); + if(!tagsNode.IsNull()) + { + XmlNode tagMember = tagsNode; + while(!tagMember.IsNull()) + { + m_tags.push_back(tagMember); + tagMember = tagMember.NextNode("Tag"); + } + + m_tagsHasBeenSet = true; + } + } + + return *this; +} + +void MetricsAndOperator::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_prefixHasBeenSet) + { + XmlNode prefixNode = parentNode.CreateChildElement("Prefix"); + prefixNode.SetText(m_prefix); + } + + if(m_tagsHasBeenSet) + { + XmlNode tagsParentNode = parentNode.CreateChildElement("Tags"); + for(const auto& item : m_tags) + { + XmlNode tagsNode = tagsParentNode.CreateChildElement("Tag"); + item.AddToNode(tagsNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetricsConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetricsConfiguration.cpp new file mode 100644 index 0000000000..03c5f29800 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetricsConfiguration.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/MetricsConfiguration.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 +{ + +MetricsConfiguration::MetricsConfiguration() : + m_idHasBeenSet(false), + m_filterHasBeenSet(false) +{ +} + +MetricsConfiguration::MetricsConfiguration(const XmlNode& xmlNode) : + m_idHasBeenSet(false), + m_filterHasBeenSet(false) +{ + *this = xmlNode; +} + +MetricsConfiguration& MetricsConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + 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; + } + } + + return *this; +} + +void MetricsConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + XmlNode idNode = parentNode.CreateChildElement("Id"); + idNode.SetText(m_id); + } + + if(m_filterHasBeenSet) + { + XmlNode filterNode = parentNode.CreateChildElement("Filter"); + m_filter.AddToNode(filterNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetricsFilter.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetricsFilter.cpp new file mode 100644 index 0000000000..fa7ade5849 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetricsFilter.cpp @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/MetricsFilter.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 +{ + +MetricsFilter::MetricsFilter() : + m_prefixHasBeenSet(false), + m_tagHasBeenSet(false), + m_andHasBeenSet(false) +{ +} + +MetricsFilter::MetricsFilter(const XmlNode& xmlNode) : + m_prefixHasBeenSet(false), + m_tagHasBeenSet(false), + m_andHasBeenSet(false) +{ + *this = xmlNode; +} + +MetricsFilter& MetricsFilter::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + m_prefixHasBeenSet = true; + } + XmlNode tagNode = resultNode.FirstChild("Tag"); + if(!tagNode.IsNull()) + { + m_tag = tagNode; + m_tagHasBeenSet = true; + } + XmlNode andNode = resultNode.FirstChild("And"); + if(!andNode.IsNull()) + { + m_and = andNode; + m_andHasBeenSet = true; + } + } + + return *this; +} + +void MetricsFilter::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_prefixHasBeenSet) + { + XmlNode prefixNode = parentNode.CreateChildElement("Prefix"); + prefixNode.SetText(m_prefix); + } + + if(m_tagHasBeenSet) + { + XmlNode tagNode = parentNode.CreateChildElement("Tag"); + m_tag.AddToNode(tagNode); + } + + if(m_andHasBeenSet) + { + XmlNode andNode = parentNode.CreateChildElement("And"); + m_and.AddToNode(andNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetricsStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetricsStatus.cpp new file mode 100644 index 0000000000..daeeecda73 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetricsStatus.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/MetricsStatus.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace MetricsStatusMapper + { + + static const int Enabled_HASH = HashingUtils::HashString("Enabled"); + static const int Disabled_HASH = HashingUtils::HashString("Disabled"); + + + MetricsStatus GetMetricsStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Enabled_HASH) + { + return MetricsStatus::Enabled; + } + else if (hashCode == Disabled_HASH) + { + return MetricsStatus::Disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<MetricsStatus>(hashCode); + } + + return MetricsStatus::NOT_SET; + } + + Aws::String GetNameForMetricsStatus(MetricsStatus enumValue) + { + switch(enumValue) + { + case MetricsStatus::Enabled: + return "Enabled"; + case MetricsStatus::Disabled: + return "Disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace MetricsStatusMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MultipartUpload.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MultipartUpload.cpp new file mode 100644 index 0000000000..6d92ea2cb6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MultipartUpload.cpp @@ -0,0 +1,136 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/MultipartUpload.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 +{ + +MultipartUpload::MultipartUpload() : + m_uploadIdHasBeenSet(false), + m_keyHasBeenSet(false), + m_initiatedHasBeenSet(false), + m_storageClass(StorageClass::NOT_SET), + m_storageClassHasBeenSet(false), + m_ownerHasBeenSet(false), + m_initiatorHasBeenSet(false) +{ +} + +MultipartUpload::MultipartUpload(const XmlNode& xmlNode) : + m_uploadIdHasBeenSet(false), + m_keyHasBeenSet(false), + m_initiatedHasBeenSet(false), + m_storageClass(StorageClass::NOT_SET), + m_storageClassHasBeenSet(false), + m_ownerHasBeenSet(false), + m_initiatorHasBeenSet(false) +{ + *this = xmlNode; +} + +MultipartUpload& MultipartUpload::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode uploadIdNode = resultNode.FirstChild("UploadId"); + if(!uploadIdNode.IsNull()) + { + m_uploadId = Aws::Utils::Xml::DecodeEscapedXmlText(uploadIdNode.GetText()); + m_uploadIdHasBeenSet = true; + } + XmlNode keyNode = resultNode.FirstChild("Key"); + if(!keyNode.IsNull()) + { + m_key = Aws::Utils::Xml::DecodeEscapedXmlText(keyNode.GetText()); + m_keyHasBeenSet = true; + } + XmlNode initiatedNode = resultNode.FirstChild("Initiated"); + if(!initiatedNode.IsNull()) + { + m_initiated = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(initiatedNode.GetText()).c_str()).c_str(), DateFormat::ISO_8601); + m_initiatedHasBeenSet = 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; + } + XmlNode ownerNode = resultNode.FirstChild("Owner"); + if(!ownerNode.IsNull()) + { + m_owner = ownerNode; + m_ownerHasBeenSet = true; + } + XmlNode initiatorNode = resultNode.FirstChild("Initiator"); + if(!initiatorNode.IsNull()) + { + m_initiator = initiatorNode; + m_initiatorHasBeenSet = true; + } + } + + return *this; +} + +void MultipartUpload::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_uploadIdHasBeenSet) + { + XmlNode uploadIdNode = parentNode.CreateChildElement("UploadId"); + uploadIdNode.SetText(m_uploadId); + } + + if(m_keyHasBeenSet) + { + XmlNode keyNode = parentNode.CreateChildElement("Key"); + keyNode.SetText(m_key); + } + + if(m_initiatedHasBeenSet) + { + XmlNode initiatedNode = parentNode.CreateChildElement("Initiated"); + initiatedNode.SetText(m_initiated.ToGmtString(DateFormat::ISO_8601)); + } + + if(m_storageClassHasBeenSet) + { + XmlNode storageClassNode = parentNode.CreateChildElement("StorageClass"); + storageClassNode.SetText(StorageClassMapper::GetNameForStorageClass(m_storageClass)); + } + + if(m_ownerHasBeenSet) + { + XmlNode ownerNode = parentNode.CreateChildElement("Owner"); + m_owner.AddToNode(ownerNode); + } + + if(m_initiatorHasBeenSet) + { + XmlNode initiatorNode = parentNode.CreateChildElement("Initiator"); + m_initiator.AddToNode(initiatorNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NoncurrentVersionExpiration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NoncurrentVersionExpiration.cpp new file mode 100644 index 0000000000..ab6db39f61 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NoncurrentVersionExpiration.cpp @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/NoncurrentVersionExpiration.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 +{ + +NoncurrentVersionExpiration::NoncurrentVersionExpiration() : + m_noncurrentDays(0), + m_noncurrentDaysHasBeenSet(false) +{ +} + +NoncurrentVersionExpiration::NoncurrentVersionExpiration(const XmlNode& xmlNode) : + m_noncurrentDays(0), + m_noncurrentDaysHasBeenSet(false) +{ + *this = xmlNode; +} + +NoncurrentVersionExpiration& NoncurrentVersionExpiration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode noncurrentDaysNode = resultNode.FirstChild("NoncurrentDays"); + if(!noncurrentDaysNode.IsNull()) + { + m_noncurrentDays = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(noncurrentDaysNode.GetText()).c_str()).c_str()); + m_noncurrentDaysHasBeenSet = true; + } + } + + return *this; +} + +void NoncurrentVersionExpiration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_noncurrentDaysHasBeenSet) + { + XmlNode noncurrentDaysNode = parentNode.CreateChildElement("NoncurrentDays"); + ss << m_noncurrentDays; + noncurrentDaysNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NoncurrentVersionTransition.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NoncurrentVersionTransition.cpp new file mode 100644 index 0000000000..e7027d679b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NoncurrentVersionTransition.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/NoncurrentVersionTransition.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 +{ + +NoncurrentVersionTransition::NoncurrentVersionTransition() : + m_noncurrentDays(0), + m_noncurrentDaysHasBeenSet(false), + m_storageClass(TransitionStorageClass::NOT_SET), + m_storageClassHasBeenSet(false) +{ +} + +NoncurrentVersionTransition::NoncurrentVersionTransition(const XmlNode& xmlNode) : + m_noncurrentDays(0), + m_noncurrentDaysHasBeenSet(false), + m_storageClass(TransitionStorageClass::NOT_SET), + m_storageClassHasBeenSet(false) +{ + *this = xmlNode; +} + +NoncurrentVersionTransition& NoncurrentVersionTransition::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode noncurrentDaysNode = resultNode.FirstChild("NoncurrentDays"); + if(!noncurrentDaysNode.IsNull()) + { + m_noncurrentDays = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(noncurrentDaysNode.GetText()).c_str()).c_str()); + m_noncurrentDaysHasBeenSet = true; + } + XmlNode storageClassNode = resultNode.FirstChild("StorageClass"); + if(!storageClassNode.IsNull()) + { + m_storageClass = TransitionStorageClassMapper::GetTransitionStorageClassForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(storageClassNode.GetText()).c_str()).c_str()); + m_storageClassHasBeenSet = true; + } + } + + return *this; +} + +void NoncurrentVersionTransition::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_noncurrentDaysHasBeenSet) + { + XmlNode noncurrentDaysNode = parentNode.CreateChildElement("NoncurrentDays"); + ss << m_noncurrentDays; + noncurrentDaysNode.SetText(ss.str()); + ss.str(""); + } + + if(m_storageClassHasBeenSet) + { + XmlNode storageClassNode = parentNode.CreateChildElement("StorageClass"); + storageClassNode.SetText(TransitionStorageClassMapper::GetNameForTransitionStorageClass(m_storageClass)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfiguration.cpp new file mode 100644 index 0000000000..bb62ecb84d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfiguration.cpp @@ -0,0 +1,119 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/NotificationConfiguration.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 +{ + +NotificationConfiguration::NotificationConfiguration() : + m_topicConfigurationsHasBeenSet(false), + m_queueConfigurationsHasBeenSet(false), + m_lambdaFunctionConfigurationsHasBeenSet(false) +{ +} + +NotificationConfiguration::NotificationConfiguration(const XmlNode& xmlNode) : + m_topicConfigurationsHasBeenSet(false), + m_queueConfigurationsHasBeenSet(false), + m_lambdaFunctionConfigurationsHasBeenSet(false) +{ + *this = xmlNode; +} + +NotificationConfiguration& NotificationConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode topicConfigurationsNode = resultNode.FirstChild("TopicConfiguration"); + if(!topicConfigurationsNode.IsNull()) + { + XmlNode topicConfigurationMember = topicConfigurationsNode; + while(!topicConfigurationMember.IsNull()) + { + m_topicConfigurations.push_back(topicConfigurationMember); + topicConfigurationMember = topicConfigurationMember.NextNode("TopicConfiguration"); + } + + m_topicConfigurationsHasBeenSet = true; + } + XmlNode queueConfigurationsNode = resultNode.FirstChild("QueueConfiguration"); + if(!queueConfigurationsNode.IsNull()) + { + XmlNode queueConfigurationMember = queueConfigurationsNode; + while(!queueConfigurationMember.IsNull()) + { + m_queueConfigurations.push_back(queueConfigurationMember); + queueConfigurationMember = queueConfigurationMember.NextNode("QueueConfiguration"); + } + + m_queueConfigurationsHasBeenSet = true; + } + XmlNode lambdaFunctionConfigurationsNode = resultNode.FirstChild("CloudFunctionConfiguration"); + if(!lambdaFunctionConfigurationsNode.IsNull()) + { + XmlNode cloudFunctionConfigurationMember = lambdaFunctionConfigurationsNode; + while(!cloudFunctionConfigurationMember.IsNull()) + { + m_lambdaFunctionConfigurations.push_back(cloudFunctionConfigurationMember); + cloudFunctionConfigurationMember = cloudFunctionConfigurationMember.NextNode("CloudFunctionConfiguration"); + } + + m_lambdaFunctionConfigurationsHasBeenSet = true; + } + } + + return *this; +} + +void NotificationConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_topicConfigurationsHasBeenSet) + { + for(const auto& item : m_topicConfigurations) + { + XmlNode topicConfigurationsNode = parentNode.CreateChildElement("TopicConfiguration"); + item.AddToNode(topicConfigurationsNode); + } + } + + if(m_queueConfigurationsHasBeenSet) + { + for(const auto& item : m_queueConfigurations) + { + XmlNode queueConfigurationsNode = parentNode.CreateChildElement("QueueConfiguration"); + item.AddToNode(queueConfigurationsNode); + } + } + + if(m_lambdaFunctionConfigurationsHasBeenSet) + { + for(const auto& item : m_lambdaFunctionConfigurations) + { + XmlNode lambdaFunctionConfigurationsNode = parentNode.CreateChildElement("CloudFunctionConfiguration"); + item.AddToNode(lambdaFunctionConfigurationsNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationDeprecated.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationDeprecated.cpp new file mode 100644 index 0000000000..ee4d7bb1c5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationDeprecated.cpp @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/NotificationConfigurationDeprecated.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 +{ + +NotificationConfigurationDeprecated::NotificationConfigurationDeprecated() : + m_topicConfigurationHasBeenSet(false), + m_queueConfigurationHasBeenSet(false), + m_cloudFunctionConfigurationHasBeenSet(false) +{ +} + +NotificationConfigurationDeprecated::NotificationConfigurationDeprecated(const XmlNode& xmlNode) : + m_topicConfigurationHasBeenSet(false), + m_queueConfigurationHasBeenSet(false), + m_cloudFunctionConfigurationHasBeenSet(false) +{ + *this = xmlNode; +} + +NotificationConfigurationDeprecated& NotificationConfigurationDeprecated::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode topicConfigurationNode = resultNode.FirstChild("TopicConfiguration"); + if(!topicConfigurationNode.IsNull()) + { + m_topicConfiguration = topicConfigurationNode; + m_topicConfigurationHasBeenSet = true; + } + XmlNode queueConfigurationNode = resultNode.FirstChild("QueueConfiguration"); + if(!queueConfigurationNode.IsNull()) + { + m_queueConfiguration = queueConfigurationNode; + m_queueConfigurationHasBeenSet = true; + } + XmlNode cloudFunctionConfigurationNode = resultNode.FirstChild("CloudFunctionConfiguration"); + if(!cloudFunctionConfigurationNode.IsNull()) + { + m_cloudFunctionConfiguration = cloudFunctionConfigurationNode; + m_cloudFunctionConfigurationHasBeenSet = true; + } + } + + return *this; +} + +void NotificationConfigurationDeprecated::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_topicConfigurationHasBeenSet) + { + XmlNode topicConfigurationNode = parentNode.CreateChildElement("TopicConfiguration"); + m_topicConfiguration.AddToNode(topicConfigurationNode); + } + + if(m_queueConfigurationHasBeenSet) + { + XmlNode queueConfigurationNode = parentNode.CreateChildElement("QueueConfiguration"); + m_queueConfiguration.AddToNode(queueConfigurationNode); + } + + if(m_cloudFunctionConfigurationHasBeenSet) + { + XmlNode cloudFunctionConfigurationNode = parentNode.CreateChildElement("CloudFunctionConfiguration"); + m_cloudFunctionConfiguration.AddToNode(cloudFunctionConfigurationNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationFilter.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationFilter.cpp new file mode 100644 index 0000000000..29fac415de --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationFilter.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/NotificationConfigurationFilter.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 +{ + +NotificationConfigurationFilter::NotificationConfigurationFilter() : + m_keyHasBeenSet(false) +{ +} + +NotificationConfigurationFilter::NotificationConfigurationFilter(const XmlNode& xmlNode) : + m_keyHasBeenSet(false) +{ + *this = xmlNode; +} + +NotificationConfigurationFilter& NotificationConfigurationFilter::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode keyNode = resultNode.FirstChild("S3Key"); + if(!keyNode.IsNull()) + { + m_key = keyNode; + m_keyHasBeenSet = true; + } + } + + return *this; +} + +void NotificationConfigurationFilter::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + XmlNode keyNode = parentNode.CreateChildElement("S3Key"); + m_key.AddToNode(keyNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Object.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Object.cpp new file mode 100644 index 0000000000..d7d963fc21 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Object.cpp @@ -0,0 +1,140 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Object.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 +{ + +Object::Object() : + m_keyHasBeenSet(false), + m_lastModifiedHasBeenSet(false), + m_eTagHasBeenSet(false), + m_size(0), + m_sizeHasBeenSet(false), + m_storageClass(ObjectStorageClass::NOT_SET), + m_storageClassHasBeenSet(false), + m_ownerHasBeenSet(false) +{ +} + +Object::Object(const XmlNode& xmlNode) : + m_keyHasBeenSet(false), + m_lastModifiedHasBeenSet(false), + m_eTagHasBeenSet(false), + m_size(0), + m_sizeHasBeenSet(false), + m_storageClass(ObjectStorageClass::NOT_SET), + m_storageClassHasBeenSet(false), + m_ownerHasBeenSet(false) +{ + *this = xmlNode; +} + +Object& Object::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode keyNode = resultNode.FirstChild("Key"); + if(!keyNode.IsNull()) + { + m_key = Aws::Utils::Xml::DecodeEscapedXmlText(keyNode.GetText()); + m_keyHasBeenSet = true; + } + XmlNode lastModifiedNode = resultNode.FirstChild("LastModified"); + if(!lastModifiedNode.IsNull()) + { + m_lastModified = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(lastModifiedNode.GetText()).c_str()).c_str(), DateFormat::ISO_8601); + m_lastModifiedHasBeenSet = true; + } + XmlNode eTagNode = resultNode.FirstChild("ETag"); + if(!eTagNode.IsNull()) + { + m_eTag = Aws::Utils::Xml::DecodeEscapedXmlText(eTagNode.GetText()); + m_eTagHasBeenSet = true; + } + XmlNode sizeNode = resultNode.FirstChild("Size"); + if(!sizeNode.IsNull()) + { + m_size = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(sizeNode.GetText()).c_str()).c_str()); + m_sizeHasBeenSet = true; + } + XmlNode storageClassNode = resultNode.FirstChild("StorageClass"); + if(!storageClassNode.IsNull()) + { + m_storageClass = ObjectStorageClassMapper::GetObjectStorageClassForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(storageClassNode.GetText()).c_str()).c_str()); + m_storageClassHasBeenSet = true; + } + XmlNode ownerNode = resultNode.FirstChild("Owner"); + if(!ownerNode.IsNull()) + { + m_owner = ownerNode; + m_ownerHasBeenSet = true; + } + } + + return *this; +} + +void Object::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + XmlNode keyNode = parentNode.CreateChildElement("Key"); + keyNode.SetText(m_key); + } + + if(m_lastModifiedHasBeenSet) + { + XmlNode lastModifiedNode = parentNode.CreateChildElement("LastModified"); + lastModifiedNode.SetText(m_lastModified.ToGmtString(DateFormat::ISO_8601)); + } + + if(m_eTagHasBeenSet) + { + XmlNode eTagNode = parentNode.CreateChildElement("ETag"); + eTagNode.SetText(m_eTag); + } + + if(m_sizeHasBeenSet) + { + XmlNode sizeNode = parentNode.CreateChildElement("Size"); + ss << m_size; + sizeNode.SetText(ss.str()); + ss.str(""); + } + + if(m_storageClassHasBeenSet) + { + XmlNode storageClassNode = parentNode.CreateChildElement("StorageClass"); + storageClassNode.SetText(ObjectStorageClassMapper::GetNameForObjectStorageClass(m_storageClass)); + } + + if(m_ownerHasBeenSet) + { + XmlNode ownerNode = parentNode.CreateChildElement("Owner"); + m_owner.AddToNode(ownerNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectCannedACL.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectCannedACL.cpp new file mode 100644 index 0000000000..c62174ba1d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectCannedACL.cpp @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ObjectCannedACL.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ObjectCannedACLMapper + { + + static const int private__HASH = HashingUtils::HashString("private"); + static const int public_read_HASH = HashingUtils::HashString("public-read"); + static const int public_read_write_HASH = HashingUtils::HashString("public-read-write"); + static const int authenticated_read_HASH = HashingUtils::HashString("authenticated-read"); + static const int aws_exec_read_HASH = HashingUtils::HashString("aws-exec-read"); + static const int bucket_owner_read_HASH = HashingUtils::HashString("bucket-owner-read"); + static const int bucket_owner_full_control_HASH = HashingUtils::HashString("bucket-owner-full-control"); + + + ObjectCannedACL GetObjectCannedACLForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == private__HASH) + { + return ObjectCannedACL::private_; + } + else if (hashCode == public_read_HASH) + { + return ObjectCannedACL::public_read; + } + else if (hashCode == public_read_write_HASH) + { + return ObjectCannedACL::public_read_write; + } + else if (hashCode == authenticated_read_HASH) + { + return ObjectCannedACL::authenticated_read; + } + else if (hashCode == aws_exec_read_HASH) + { + return ObjectCannedACL::aws_exec_read; + } + else if (hashCode == bucket_owner_read_HASH) + { + return ObjectCannedACL::bucket_owner_read; + } + else if (hashCode == bucket_owner_full_control_HASH) + { + return ObjectCannedACL::bucket_owner_full_control; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ObjectCannedACL>(hashCode); + } + + return ObjectCannedACL::NOT_SET; + } + + Aws::String GetNameForObjectCannedACL(ObjectCannedACL enumValue) + { + switch(enumValue) + { + case ObjectCannedACL::private_: + return "private"; + case ObjectCannedACL::public_read: + return "public-read"; + case ObjectCannedACL::public_read_write: + return "public-read-write"; + case ObjectCannedACL::authenticated_read: + return "authenticated-read"; + case ObjectCannedACL::aws_exec_read: + return "aws-exec-read"; + case ObjectCannedACL::bucket_owner_read: + return "bucket-owner-read"; + case ObjectCannedACL::bucket_owner_full_control: + return "bucket-owner-full-control"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ObjectCannedACLMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectIdentifier.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectIdentifier.cpp new file mode 100644 index 0000000000..fc09363d0a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectIdentifier.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ObjectIdentifier.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 +{ + +ObjectIdentifier::ObjectIdentifier() : + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false) +{ +} + +ObjectIdentifier::ObjectIdentifier(const XmlNode& xmlNode) : + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false) +{ + *this = xmlNode; +} + +ObjectIdentifier& ObjectIdentifier::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode keyNode = resultNode.FirstChild("Key"); + if(!keyNode.IsNull()) + { + m_key = Aws::Utils::Xml::DecodeEscapedXmlText(keyNode.GetText()); + m_keyHasBeenSet = true; + } + XmlNode versionIdNode = resultNode.FirstChild("VersionId"); + if(!versionIdNode.IsNull()) + { + m_versionId = Aws::Utils::Xml::DecodeEscapedXmlText(versionIdNode.GetText()); + m_versionIdHasBeenSet = true; + } + } + + return *this; +} + +void ObjectIdentifier::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + XmlNode keyNode = parentNode.CreateChildElement("Key"); + keyNode.SetText(m_key); + } + + if(m_versionIdHasBeenSet) + { + XmlNode versionIdNode = parentNode.CreateChildElement("VersionId"); + versionIdNode.SetText(m_versionId); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockConfiguration.cpp new file mode 100644 index 0000000000..f85dea6926 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockConfiguration.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ObjectLockConfiguration.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 +{ + +ObjectLockConfiguration::ObjectLockConfiguration() : + m_objectLockEnabled(ObjectLockEnabled::NOT_SET), + m_objectLockEnabledHasBeenSet(false), + m_ruleHasBeenSet(false) +{ +} + +ObjectLockConfiguration::ObjectLockConfiguration(const XmlNode& xmlNode) : + m_objectLockEnabled(ObjectLockEnabled::NOT_SET), + m_objectLockEnabledHasBeenSet(false), + m_ruleHasBeenSet(false) +{ + *this = xmlNode; +} + +ObjectLockConfiguration& ObjectLockConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode objectLockEnabledNode = resultNode.FirstChild("ObjectLockEnabled"); + if(!objectLockEnabledNode.IsNull()) + { + m_objectLockEnabled = ObjectLockEnabledMapper::GetObjectLockEnabledForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(objectLockEnabledNode.GetText()).c_str()).c_str()); + m_objectLockEnabledHasBeenSet = true; + } + XmlNode ruleNode = resultNode.FirstChild("Rule"); + if(!ruleNode.IsNull()) + { + m_rule = ruleNode; + m_ruleHasBeenSet = true; + } + } + + return *this; +} + +void ObjectLockConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_objectLockEnabledHasBeenSet) + { + XmlNode objectLockEnabledNode = parentNode.CreateChildElement("ObjectLockEnabled"); + objectLockEnabledNode.SetText(ObjectLockEnabledMapper::GetNameForObjectLockEnabled(m_objectLockEnabled)); + } + + if(m_ruleHasBeenSet) + { + XmlNode ruleNode = parentNode.CreateChildElement("Rule"); + m_rule.AddToNode(ruleNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockEnabled.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockEnabled.cpp new file mode 100644 index 0000000000..a6053dd45c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockEnabled.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ObjectLockEnabled.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ObjectLockEnabledMapper + { + + static const int Enabled_HASH = HashingUtils::HashString("Enabled"); + + + ObjectLockEnabled GetObjectLockEnabledForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Enabled_HASH) + { + return ObjectLockEnabled::Enabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ObjectLockEnabled>(hashCode); + } + + return ObjectLockEnabled::NOT_SET; + } + + Aws::String GetNameForObjectLockEnabled(ObjectLockEnabled enumValue) + { + switch(enumValue) + { + case ObjectLockEnabled::Enabled: + return "Enabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ObjectLockEnabledMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockLegalHold.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockLegalHold.cpp new file mode 100644 index 0000000000..53908c717b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockLegalHold.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ObjectLockLegalHold.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 +{ + +ObjectLockLegalHold::ObjectLockLegalHold() : + m_status(ObjectLockLegalHoldStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +ObjectLockLegalHold::ObjectLockLegalHold(const XmlNode& xmlNode) : + m_status(ObjectLockLegalHoldStatus::NOT_SET), + m_statusHasBeenSet(false) +{ + *this = xmlNode; +} + +ObjectLockLegalHold& ObjectLockLegalHold::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode statusNode = resultNode.FirstChild("Status"); + if(!statusNode.IsNull()) + { + m_status = ObjectLockLegalHoldStatusMapper::GetObjectLockLegalHoldStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusNode.GetText()).c_str()).c_str()); + m_statusHasBeenSet = true; + } + } + + return *this; +} + +void ObjectLockLegalHold::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_statusHasBeenSet) + { + XmlNode statusNode = parentNode.CreateChildElement("Status"); + statusNode.SetText(ObjectLockLegalHoldStatusMapper::GetNameForObjectLockLegalHoldStatus(m_status)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockLegalHoldStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockLegalHoldStatus.cpp new file mode 100644 index 0000000000..d876afcc95 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockLegalHoldStatus.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ObjectLockLegalHoldStatus.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ObjectLockLegalHoldStatusMapper + { + + static const int ON_HASH = HashingUtils::HashString("ON"); + static const int OFF_HASH = HashingUtils::HashString("OFF"); + + + ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ON_HASH) + { + return ObjectLockLegalHoldStatus::ON; + } + else if (hashCode == OFF_HASH) + { + return ObjectLockLegalHoldStatus::OFF; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ObjectLockLegalHoldStatus>(hashCode); + } + + return ObjectLockLegalHoldStatus::NOT_SET; + } + + Aws::String GetNameForObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus enumValue) + { + switch(enumValue) + { + case ObjectLockLegalHoldStatus::ON: + return "ON"; + case ObjectLockLegalHoldStatus::OFF: + return "OFF"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ObjectLockLegalHoldStatusMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockMode.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockMode.cpp new file mode 100644 index 0000000000..8d0e4c067a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockMode.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ObjectLockMode.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ObjectLockModeMapper + { + + static const int GOVERNANCE_HASH = HashingUtils::HashString("GOVERNANCE"); + static const int COMPLIANCE_HASH = HashingUtils::HashString("COMPLIANCE"); + + + ObjectLockMode GetObjectLockModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == GOVERNANCE_HASH) + { + return ObjectLockMode::GOVERNANCE; + } + else if (hashCode == COMPLIANCE_HASH) + { + return ObjectLockMode::COMPLIANCE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ObjectLockMode>(hashCode); + } + + return ObjectLockMode::NOT_SET; + } + + Aws::String GetNameForObjectLockMode(ObjectLockMode enumValue) + { + switch(enumValue) + { + case ObjectLockMode::GOVERNANCE: + return "GOVERNANCE"; + case ObjectLockMode::COMPLIANCE: + return "COMPLIANCE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ObjectLockModeMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRetention.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRetention.cpp new file mode 100644 index 0000000000..3ba5d5590e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRetention.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ObjectLockRetention.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 +{ + +ObjectLockRetention::ObjectLockRetention() : + m_mode(ObjectLockRetentionMode::NOT_SET), + m_modeHasBeenSet(false), + m_retainUntilDateHasBeenSet(false) +{ +} + +ObjectLockRetention::ObjectLockRetention(const XmlNode& xmlNode) : + m_mode(ObjectLockRetentionMode::NOT_SET), + m_modeHasBeenSet(false), + m_retainUntilDateHasBeenSet(false) +{ + *this = xmlNode; +} + +ObjectLockRetention& ObjectLockRetention::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode modeNode = resultNode.FirstChild("Mode"); + if(!modeNode.IsNull()) + { + m_mode = ObjectLockRetentionModeMapper::GetObjectLockRetentionModeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(modeNode.GetText()).c_str()).c_str()); + m_modeHasBeenSet = true; + } + XmlNode retainUntilDateNode = resultNode.FirstChild("RetainUntilDate"); + if(!retainUntilDateNode.IsNull()) + { + m_retainUntilDate = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(retainUntilDateNode.GetText()).c_str()).c_str(), DateFormat::ISO_8601); + m_retainUntilDateHasBeenSet = true; + } + } + + return *this; +} + +void ObjectLockRetention::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_modeHasBeenSet) + { + XmlNode modeNode = parentNode.CreateChildElement("Mode"); + modeNode.SetText(ObjectLockRetentionModeMapper::GetNameForObjectLockRetentionMode(m_mode)); + } + + if(m_retainUntilDateHasBeenSet) + { + XmlNode retainUntilDateNode = parentNode.CreateChildElement("RetainUntilDate"); + retainUntilDateNode.SetText(m_retainUntilDate.ToGmtString(DateFormat::ISO_8601)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRetentionMode.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRetentionMode.cpp new file mode 100644 index 0000000000..12e6c9a87d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRetentionMode.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ObjectLockRetentionMode.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ObjectLockRetentionModeMapper + { + + static const int GOVERNANCE_HASH = HashingUtils::HashString("GOVERNANCE"); + static const int COMPLIANCE_HASH = HashingUtils::HashString("COMPLIANCE"); + + + ObjectLockRetentionMode GetObjectLockRetentionModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == GOVERNANCE_HASH) + { + return ObjectLockRetentionMode::GOVERNANCE; + } + else if (hashCode == COMPLIANCE_HASH) + { + return ObjectLockRetentionMode::COMPLIANCE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ObjectLockRetentionMode>(hashCode); + } + + return ObjectLockRetentionMode::NOT_SET; + } + + Aws::String GetNameForObjectLockRetentionMode(ObjectLockRetentionMode enumValue) + { + switch(enumValue) + { + case ObjectLockRetentionMode::GOVERNANCE: + return "GOVERNANCE"; + case ObjectLockRetentionMode::COMPLIANCE: + return "COMPLIANCE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ObjectLockRetentionModeMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRule.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRule.cpp new file mode 100644 index 0000000000..9e21c8af6d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRule.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ObjectLockRule.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 +{ + +ObjectLockRule::ObjectLockRule() : + m_defaultRetentionHasBeenSet(false) +{ +} + +ObjectLockRule::ObjectLockRule(const XmlNode& xmlNode) : + m_defaultRetentionHasBeenSet(false) +{ + *this = xmlNode; +} + +ObjectLockRule& ObjectLockRule::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode defaultRetentionNode = resultNode.FirstChild("DefaultRetention"); + if(!defaultRetentionNode.IsNull()) + { + m_defaultRetention = defaultRetentionNode; + m_defaultRetentionHasBeenSet = true; + } + } + + return *this; +} + +void ObjectLockRule::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_defaultRetentionHasBeenSet) + { + XmlNode defaultRetentionNode = parentNode.CreateChildElement("DefaultRetention"); + m_defaultRetention.AddToNode(defaultRetentionNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectOwnership.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectOwnership.cpp new file mode 100644 index 0000000000..4e2a106c8e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectOwnership.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ObjectOwnership.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ObjectOwnershipMapper + { + + static const int BucketOwnerPreferred_HASH = HashingUtils::HashString("BucketOwnerPreferred"); + static const int ObjectWriter_HASH = HashingUtils::HashString("ObjectWriter"); + + + ObjectOwnership GetObjectOwnershipForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BucketOwnerPreferred_HASH) + { + return ObjectOwnership::BucketOwnerPreferred; + } + else if (hashCode == ObjectWriter_HASH) + { + return ObjectOwnership::ObjectWriter; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ObjectOwnership>(hashCode); + } + + return ObjectOwnership::NOT_SET; + } + + Aws::String GetNameForObjectOwnership(ObjectOwnership enumValue) + { + switch(enumValue) + { + case ObjectOwnership::BucketOwnerPreferred: + return "BucketOwnerPreferred"; + case ObjectOwnership::ObjectWriter: + return "ObjectWriter"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ObjectOwnershipMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectStorageClass.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectStorageClass.cpp new file mode 100644 index 0000000000..572041c798 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectStorageClass.cpp @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ObjectStorageClass.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ObjectStorageClassMapper + { + + static const int STANDARD_HASH = HashingUtils::HashString("STANDARD"); + static const int REDUCED_REDUNDANCY_HASH = HashingUtils::HashString("REDUCED_REDUNDANCY"); + static const int GLACIER_HASH = HashingUtils::HashString("GLACIER"); + static const int STANDARD_IA_HASH = HashingUtils::HashString("STANDARD_IA"); + static const int ONEZONE_IA_HASH = HashingUtils::HashString("ONEZONE_IA"); + static const int INTELLIGENT_TIERING_HASH = HashingUtils::HashString("INTELLIGENT_TIERING"); + static const int DEEP_ARCHIVE_HASH = HashingUtils::HashString("DEEP_ARCHIVE"); + static const int OUTPOSTS_HASH = HashingUtils::HashString("OUTPOSTS"); + + + ObjectStorageClass GetObjectStorageClassForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == STANDARD_HASH) + { + return ObjectStorageClass::STANDARD; + } + else if (hashCode == REDUCED_REDUNDANCY_HASH) + { + return ObjectStorageClass::REDUCED_REDUNDANCY; + } + else if (hashCode == GLACIER_HASH) + { + return ObjectStorageClass::GLACIER; + } + else if (hashCode == STANDARD_IA_HASH) + { + return ObjectStorageClass::STANDARD_IA; + } + else if (hashCode == ONEZONE_IA_HASH) + { + return ObjectStorageClass::ONEZONE_IA; + } + else if (hashCode == INTELLIGENT_TIERING_HASH) + { + return ObjectStorageClass::INTELLIGENT_TIERING; + } + else if (hashCode == DEEP_ARCHIVE_HASH) + { + return ObjectStorageClass::DEEP_ARCHIVE; + } + else if (hashCode == OUTPOSTS_HASH) + { + return ObjectStorageClass::OUTPOSTS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ObjectStorageClass>(hashCode); + } + + return ObjectStorageClass::NOT_SET; + } + + Aws::String GetNameForObjectStorageClass(ObjectStorageClass enumValue) + { + switch(enumValue) + { + case ObjectStorageClass::STANDARD: + return "STANDARD"; + case ObjectStorageClass::REDUCED_REDUNDANCY: + return "REDUCED_REDUNDANCY"; + case ObjectStorageClass::GLACIER: + return "GLACIER"; + case ObjectStorageClass::STANDARD_IA: + return "STANDARD_IA"; + case ObjectStorageClass::ONEZONE_IA: + return "ONEZONE_IA"; + case ObjectStorageClass::INTELLIGENT_TIERING: + return "INTELLIGENT_TIERING"; + case ObjectStorageClass::DEEP_ARCHIVE: + return "DEEP_ARCHIVE"; + case ObjectStorageClass::OUTPOSTS: + return "OUTPOSTS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ObjectStorageClassMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersion.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersion.cpp new file mode 100644 index 0000000000..c7b720f252 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersion.cpp @@ -0,0 +1,172 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ObjectVersion.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 +{ + +ObjectVersion::ObjectVersion() : + m_eTagHasBeenSet(false), + m_size(0), + m_sizeHasBeenSet(false), + m_storageClass(ObjectVersionStorageClass::NOT_SET), + m_storageClassHasBeenSet(false), + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_isLatest(false), + m_isLatestHasBeenSet(false), + m_lastModifiedHasBeenSet(false), + m_ownerHasBeenSet(false) +{ +} + +ObjectVersion::ObjectVersion(const XmlNode& xmlNode) : + m_eTagHasBeenSet(false), + m_size(0), + m_sizeHasBeenSet(false), + m_storageClass(ObjectVersionStorageClass::NOT_SET), + m_storageClassHasBeenSet(false), + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_isLatest(false), + m_isLatestHasBeenSet(false), + m_lastModifiedHasBeenSet(false), + m_ownerHasBeenSet(false) +{ + *this = xmlNode; +} + +ObjectVersion& ObjectVersion::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode eTagNode = resultNode.FirstChild("ETag"); + if(!eTagNode.IsNull()) + { + m_eTag = Aws::Utils::Xml::DecodeEscapedXmlText(eTagNode.GetText()); + m_eTagHasBeenSet = true; + } + XmlNode sizeNode = resultNode.FirstChild("Size"); + if(!sizeNode.IsNull()) + { + m_size = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(sizeNode.GetText()).c_str()).c_str()); + m_sizeHasBeenSet = true; + } + XmlNode storageClassNode = resultNode.FirstChild("StorageClass"); + if(!storageClassNode.IsNull()) + { + m_storageClass = ObjectVersionStorageClassMapper::GetObjectVersionStorageClassForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(storageClassNode.GetText()).c_str()).c_str()); + m_storageClassHasBeenSet = true; + } + XmlNode keyNode = resultNode.FirstChild("Key"); + if(!keyNode.IsNull()) + { + m_key = Aws::Utils::Xml::DecodeEscapedXmlText(keyNode.GetText()); + m_keyHasBeenSet = true; + } + XmlNode versionIdNode = resultNode.FirstChild("VersionId"); + if(!versionIdNode.IsNull()) + { + m_versionId = Aws::Utils::Xml::DecodeEscapedXmlText(versionIdNode.GetText()); + m_versionIdHasBeenSet = true; + } + XmlNode isLatestNode = resultNode.FirstChild("IsLatest"); + if(!isLatestNode.IsNull()) + { + m_isLatest = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isLatestNode.GetText()).c_str()).c_str()); + m_isLatestHasBeenSet = true; + } + XmlNode lastModifiedNode = resultNode.FirstChild("LastModified"); + if(!lastModifiedNode.IsNull()) + { + m_lastModified = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(lastModifiedNode.GetText()).c_str()).c_str(), DateFormat::ISO_8601); + m_lastModifiedHasBeenSet = true; + } + XmlNode ownerNode = resultNode.FirstChild("Owner"); + if(!ownerNode.IsNull()) + { + m_owner = ownerNode; + m_ownerHasBeenSet = true; + } + } + + return *this; +} + +void ObjectVersion::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_eTagHasBeenSet) + { + XmlNode eTagNode = parentNode.CreateChildElement("ETag"); + eTagNode.SetText(m_eTag); + } + + if(m_sizeHasBeenSet) + { + XmlNode sizeNode = parentNode.CreateChildElement("Size"); + ss << m_size; + sizeNode.SetText(ss.str()); + ss.str(""); + } + + if(m_storageClassHasBeenSet) + { + XmlNode storageClassNode = parentNode.CreateChildElement("StorageClass"); + storageClassNode.SetText(ObjectVersionStorageClassMapper::GetNameForObjectVersionStorageClass(m_storageClass)); + } + + if(m_keyHasBeenSet) + { + XmlNode keyNode = parentNode.CreateChildElement("Key"); + keyNode.SetText(m_key); + } + + if(m_versionIdHasBeenSet) + { + XmlNode versionIdNode = parentNode.CreateChildElement("VersionId"); + versionIdNode.SetText(m_versionId); + } + + if(m_isLatestHasBeenSet) + { + XmlNode isLatestNode = parentNode.CreateChildElement("IsLatest"); + ss << std::boolalpha << m_isLatest; + isLatestNode.SetText(ss.str()); + ss.str(""); + } + + if(m_lastModifiedHasBeenSet) + { + XmlNode lastModifiedNode = parentNode.CreateChildElement("LastModified"); + lastModifiedNode.SetText(m_lastModified.ToGmtString(DateFormat::ISO_8601)); + } + + if(m_ownerHasBeenSet) + { + XmlNode ownerNode = parentNode.CreateChildElement("Owner"); + m_owner.AddToNode(ownerNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersionStorageClass.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersionStorageClass.cpp new file mode 100644 index 0000000000..42cd127813 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersionStorageClass.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ObjectVersionStorageClass.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ObjectVersionStorageClassMapper + { + + static const int STANDARD_HASH = HashingUtils::HashString("STANDARD"); + + + ObjectVersionStorageClass GetObjectVersionStorageClassForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == STANDARD_HASH) + { + return ObjectVersionStorageClass::STANDARD; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ObjectVersionStorageClass>(hashCode); + } + + return ObjectVersionStorageClass::NOT_SET; + } + + Aws::String GetNameForObjectVersionStorageClass(ObjectVersionStorageClass enumValue) + { + switch(enumValue) + { + case ObjectVersionStorageClass::STANDARD: + return "STANDARD"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ObjectVersionStorageClassMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OutputLocation.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OutputLocation.cpp new file mode 100644 index 0000000000..95aeb63c1c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OutputLocation.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/OutputLocation.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 +{ + +OutputLocation::OutputLocation() : + m_s3HasBeenSet(false) +{ +} + +OutputLocation::OutputLocation(const XmlNode& xmlNode) : + m_s3HasBeenSet(false) +{ + *this = xmlNode; +} + +OutputLocation& OutputLocation::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode s3Node = resultNode.FirstChild("S3"); + if(!s3Node.IsNull()) + { + m_s3 = s3Node; + m_s3HasBeenSet = true; + } + } + + return *this; +} + +void OutputLocation::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_s3HasBeenSet) + { + XmlNode s3Node = parentNode.CreateChildElement("S3"); + m_s3.AddToNode(s3Node); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OutputSerialization.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OutputSerialization.cpp new file mode 100644 index 0000000000..22183ed347 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OutputSerialization.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/OutputSerialization.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 +{ + +OutputSerialization::OutputSerialization() : + m_cSVHasBeenSet(false), + m_jSONHasBeenSet(false) +{ +} + +OutputSerialization::OutputSerialization(const XmlNode& xmlNode) : + m_cSVHasBeenSet(false), + m_jSONHasBeenSet(false) +{ + *this = xmlNode; +} + +OutputSerialization& OutputSerialization::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode cSVNode = resultNode.FirstChild("CSV"); + if(!cSVNode.IsNull()) + { + m_cSV = cSVNode; + m_cSVHasBeenSet = true; + } + XmlNode jSONNode = resultNode.FirstChild("JSON"); + if(!jSONNode.IsNull()) + { + m_jSON = jSONNode; + m_jSONHasBeenSet = true; + } + } + + return *this; +} + +void OutputSerialization::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_cSVHasBeenSet) + { + XmlNode cSVNode = parentNode.CreateChildElement("CSV"); + m_cSV.AddToNode(cSVNode); + } + + if(m_jSONHasBeenSet) + { + XmlNode jSONNode = parentNode.CreateChildElement("JSON"); + m_jSON.AddToNode(jSONNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Owner.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Owner.cpp new file mode 100644 index 0000000000..15b4ac8642 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Owner.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Owner.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 +{ + +Owner::Owner() : + m_displayNameHasBeenSet(false), + m_iDHasBeenSet(false) +{ +} + +Owner::Owner(const XmlNode& xmlNode) : + m_displayNameHasBeenSet(false), + m_iDHasBeenSet(false) +{ + *this = xmlNode; +} + +Owner& Owner::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode displayNameNode = resultNode.FirstChild("DisplayName"); + if(!displayNameNode.IsNull()) + { + m_displayName = Aws::Utils::Xml::DecodeEscapedXmlText(displayNameNode.GetText()); + m_displayNameHasBeenSet = true; + } + XmlNode iDNode = resultNode.FirstChild("ID"); + if(!iDNode.IsNull()) + { + m_iD = Aws::Utils::Xml::DecodeEscapedXmlText(iDNode.GetText()); + m_iDHasBeenSet = true; + } + } + + return *this; +} + +void Owner::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_displayNameHasBeenSet) + { + XmlNode displayNameNode = parentNode.CreateChildElement("DisplayName"); + displayNameNode.SetText(m_displayName); + } + + if(m_iDHasBeenSet) + { + XmlNode iDNode = parentNode.CreateChildElement("ID"); + iDNode.SetText(m_iD); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OwnerOverride.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OwnerOverride.cpp new file mode 100644 index 0000000000..5cf248f662 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OwnerOverride.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/OwnerOverride.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace OwnerOverrideMapper + { + + static const int Destination_HASH = HashingUtils::HashString("Destination"); + + + OwnerOverride GetOwnerOverrideForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Destination_HASH) + { + return OwnerOverride::Destination; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<OwnerOverride>(hashCode); + } + + return OwnerOverride::NOT_SET; + } + + Aws::String GetNameForOwnerOverride(OwnerOverride enumValue) + { + switch(enumValue) + { + case OwnerOverride::Destination: + return "Destination"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace OwnerOverrideMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OwnershipControls.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OwnershipControls.cpp new file mode 100644 index 0000000000..5640ae19f7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OwnershipControls.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/OwnershipControls.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 +{ + +OwnershipControls::OwnershipControls() : + m_rulesHasBeenSet(false) +{ +} + +OwnershipControls::OwnershipControls(const XmlNode& xmlNode) : + m_rulesHasBeenSet(false) +{ + *this = xmlNode; +} + +OwnershipControls& OwnershipControls::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode rulesNode = resultNode.FirstChild("Rule"); + if(!rulesNode.IsNull()) + { + XmlNode ruleMember = rulesNode; + while(!ruleMember.IsNull()) + { + m_rules.push_back(ruleMember); + ruleMember = ruleMember.NextNode("Rule"); + } + + m_rulesHasBeenSet = true; + } + } + + return *this; +} + +void OwnershipControls::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_rulesHasBeenSet) + { + for(const auto& item : m_rules) + { + XmlNode rulesNode = parentNode.CreateChildElement("Rule"); + item.AddToNode(rulesNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OwnershipControlsRule.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OwnershipControlsRule.cpp new file mode 100644 index 0000000000..935fae4d00 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OwnershipControlsRule.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/OwnershipControlsRule.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 +{ + +OwnershipControlsRule::OwnershipControlsRule() : + m_objectOwnership(ObjectOwnership::NOT_SET), + m_objectOwnershipHasBeenSet(false) +{ +} + +OwnershipControlsRule::OwnershipControlsRule(const XmlNode& xmlNode) : + m_objectOwnership(ObjectOwnership::NOT_SET), + m_objectOwnershipHasBeenSet(false) +{ + *this = xmlNode; +} + +OwnershipControlsRule& OwnershipControlsRule::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode objectOwnershipNode = resultNode.FirstChild("ObjectOwnership"); + if(!objectOwnershipNode.IsNull()) + { + m_objectOwnership = ObjectOwnershipMapper::GetObjectOwnershipForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(objectOwnershipNode.GetText()).c_str()).c_str()); + m_objectOwnershipHasBeenSet = true; + } + } + + return *this; +} + +void OwnershipControlsRule::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_objectOwnershipHasBeenSet) + { + XmlNode objectOwnershipNode = parentNode.CreateChildElement("ObjectOwnership"); + objectOwnershipNode.SetText(ObjectOwnershipMapper::GetNameForObjectOwnership(m_objectOwnership)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ParquetInput.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ParquetInput.cpp new file mode 100644 index 0000000000..e10233bada --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ParquetInput.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ParquetInput.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 +{ + +ParquetInput::ParquetInput() +{ +} + +ParquetInput::ParquetInput(const XmlNode& xmlNode) +{ + *this = xmlNode; +} + +ParquetInput& ParquetInput::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + } + + return *this; +} + +void ParquetInput::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + AWS_UNREFERENCED_PARAM(parentNode); +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Part.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Part.cpp new file mode 100644 index 0000000000..a243f72d10 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Part.cpp @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Part.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 +{ + +Part::Part() : + m_partNumber(0), + m_partNumberHasBeenSet(false), + m_lastModifiedHasBeenSet(false), + m_eTagHasBeenSet(false), + m_size(0), + m_sizeHasBeenSet(false) +{ +} + +Part::Part(const XmlNode& xmlNode) : + m_partNumber(0), + m_partNumberHasBeenSet(false), + m_lastModifiedHasBeenSet(false), + m_eTagHasBeenSet(false), + m_size(0), + m_sizeHasBeenSet(false) +{ + *this = xmlNode; +} + +Part& Part::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode partNumberNode = resultNode.FirstChild("PartNumber"); + if(!partNumberNode.IsNull()) + { + m_partNumber = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(partNumberNode.GetText()).c_str()).c_str()); + m_partNumberHasBeenSet = true; + } + XmlNode lastModifiedNode = resultNode.FirstChild("LastModified"); + if(!lastModifiedNode.IsNull()) + { + m_lastModified = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(lastModifiedNode.GetText()).c_str()).c_str(), DateFormat::ISO_8601); + m_lastModifiedHasBeenSet = true; + } + XmlNode eTagNode = resultNode.FirstChild("ETag"); + if(!eTagNode.IsNull()) + { + m_eTag = Aws::Utils::Xml::DecodeEscapedXmlText(eTagNode.GetText()); + m_eTagHasBeenSet = true; + } + XmlNode sizeNode = resultNode.FirstChild("Size"); + if(!sizeNode.IsNull()) + { + m_size = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(sizeNode.GetText()).c_str()).c_str()); + m_sizeHasBeenSet = true; + } + } + + return *this; +} + +void Part::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_partNumberHasBeenSet) + { + XmlNode partNumberNode = parentNode.CreateChildElement("PartNumber"); + ss << m_partNumber; + partNumberNode.SetText(ss.str()); + ss.str(""); + } + + if(m_lastModifiedHasBeenSet) + { + XmlNode lastModifiedNode = parentNode.CreateChildElement("LastModified"); + lastModifiedNode.SetText(m_lastModified.ToGmtString(DateFormat::ISO_8601)); + } + + if(m_eTagHasBeenSet) + { + XmlNode eTagNode = parentNode.CreateChildElement("ETag"); + eTagNode.SetText(m_eTag); + } + + if(m_sizeHasBeenSet) + { + XmlNode sizeNode = parentNode.CreateChildElement("Size"); + ss << m_size; + sizeNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Payer.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Payer.cpp new file mode 100644 index 0000000000..0c5c469839 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Payer.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Payer.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace PayerMapper + { + + static const int Requester_HASH = HashingUtils::HashString("Requester"); + static const int BucketOwner_HASH = HashingUtils::HashString("BucketOwner"); + + + Payer GetPayerForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Requester_HASH) + { + return Payer::Requester; + } + else if (hashCode == BucketOwner_HASH) + { + return Payer::BucketOwner; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<Payer>(hashCode); + } + + return Payer::NOT_SET; + } + + Aws::String GetNameForPayer(Payer enumValue) + { + switch(enumValue) + { + case Payer::Requester: + return "Requester"; + case Payer::BucketOwner: + return "BucketOwner"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace PayerMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Permission.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Permission.cpp new file mode 100644 index 0000000000..3215a6d8aa --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Permission.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Permission.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace PermissionMapper + { + + static const int FULL_CONTROL_HASH = HashingUtils::HashString("FULL_CONTROL"); + static const int WRITE_HASH = HashingUtils::HashString("WRITE"); + static const int WRITE_ACP_HASH = HashingUtils::HashString("WRITE_ACP"); + static const int READ_HASH = HashingUtils::HashString("READ"); + static const int READ_ACP_HASH = HashingUtils::HashString("READ_ACP"); + + + Permission GetPermissionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FULL_CONTROL_HASH) + { + return Permission::FULL_CONTROL; + } + else if (hashCode == WRITE_HASH) + { + return Permission::WRITE; + } + else if (hashCode == WRITE_ACP_HASH) + { + return Permission::WRITE_ACP; + } + else if (hashCode == READ_HASH) + { + return Permission::READ; + } + else if (hashCode == READ_ACP_HASH) + { + return Permission::READ_ACP; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<Permission>(hashCode); + } + + return Permission::NOT_SET; + } + + Aws::String GetNameForPermission(Permission enumValue) + { + switch(enumValue) + { + case Permission::FULL_CONTROL: + return "FULL_CONTROL"; + case Permission::WRITE: + return "WRITE"; + case Permission::WRITE_ACP: + return "WRITE_ACP"; + case Permission::READ: + return "READ"; + case Permission::READ_ACP: + return "READ_ACP"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace PermissionMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PolicyStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PolicyStatus.cpp new file mode 100644 index 0000000000..01290f2ccc --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PolicyStatus.cpp @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PolicyStatus.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 +{ + +PolicyStatus::PolicyStatus() : + m_isPublic(false), + m_isPublicHasBeenSet(false) +{ +} + +PolicyStatus::PolicyStatus(const XmlNode& xmlNode) : + m_isPublic(false), + m_isPublicHasBeenSet(false) +{ + *this = xmlNode; +} + +PolicyStatus& PolicyStatus::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode isPublicNode = resultNode.FirstChild("IsPublic"); + if(!isPublicNode.IsNull()) + { + m_isPublic = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isPublicNode.GetText()).c_str()).c_str()); + m_isPublicHasBeenSet = true; + } + } + + return *this; +} + +void PolicyStatus::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_isPublicHasBeenSet) + { + XmlNode isPublicNode = parentNode.CreateChildElement("IsPublic"); + ss << std::boolalpha << m_isPublic; + isPublicNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Progress.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Progress.cpp new file mode 100644 index 0000000000..804194fc30 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Progress.cpp @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Progress.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 +{ + +Progress::Progress() : + m_bytesScanned(0), + m_bytesScannedHasBeenSet(false), + m_bytesProcessed(0), + m_bytesProcessedHasBeenSet(false), + m_bytesReturned(0), + m_bytesReturnedHasBeenSet(false) +{ +} + +Progress::Progress(const XmlNode& xmlNode) : + m_bytesScanned(0), + m_bytesScannedHasBeenSet(false), + m_bytesProcessed(0), + m_bytesProcessedHasBeenSet(false), + m_bytesReturned(0), + m_bytesReturnedHasBeenSet(false) +{ + *this = xmlNode; +} + +Progress& Progress::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode bytesScannedNode = resultNode.FirstChild("BytesScanned"); + if(!bytesScannedNode.IsNull()) + { + m_bytesScanned = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(bytesScannedNode.GetText()).c_str()).c_str()); + m_bytesScannedHasBeenSet = true; + } + XmlNode bytesProcessedNode = resultNode.FirstChild("BytesProcessed"); + if(!bytesProcessedNode.IsNull()) + { + m_bytesProcessed = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(bytesProcessedNode.GetText()).c_str()).c_str()); + m_bytesProcessedHasBeenSet = true; + } + XmlNode bytesReturnedNode = resultNode.FirstChild("BytesReturned"); + if(!bytesReturnedNode.IsNull()) + { + m_bytesReturned = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(bytesReturnedNode.GetText()).c_str()).c_str()); + m_bytesReturnedHasBeenSet = true; + } + } + + return *this; +} + +void Progress::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_bytesScannedHasBeenSet) + { + XmlNode bytesScannedNode = parentNode.CreateChildElement("BytesScanned"); + ss << m_bytesScanned; + bytesScannedNode.SetText(ss.str()); + ss.str(""); + } + + if(m_bytesProcessedHasBeenSet) + { + XmlNode bytesProcessedNode = parentNode.CreateChildElement("BytesProcessed"); + ss << m_bytesProcessed; + bytesProcessedNode.SetText(ss.str()); + ss.str(""); + } + + if(m_bytesReturnedHasBeenSet) + { + XmlNode bytesReturnedNode = parentNode.CreateChildElement("BytesReturned"); + ss << m_bytesReturned; + bytesReturnedNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ProgressEvent.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ProgressEvent.cpp new file mode 100644 index 0000000000..86dde94c86 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ProgressEvent.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ProgressEvent.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 +{ + +ProgressEvent::ProgressEvent() : + m_detailsHasBeenSet(false) +{ +} + +ProgressEvent::ProgressEvent(const XmlNode& xmlNode) : + m_detailsHasBeenSet(false) +{ + *this = xmlNode; +} + +ProgressEvent& ProgressEvent::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode detailsNode = resultNode; + if(!detailsNode.IsNull()) + { + m_details = detailsNode; + m_detailsHasBeenSet = true; + } + } + + return *this; +} + +void ProgressEvent::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_detailsHasBeenSet) + { + XmlNode detailsNode = parentNode.CreateChildElement("Details"); + m_details.AddToNode(detailsNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Protocol.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Protocol.cpp new file mode 100644 index 0000000000..0c9c70d8c6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Protocol.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Protocol.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ProtocolMapper + { + + static const int http_HASH = HashingUtils::HashString("http"); + static const int https_HASH = HashingUtils::HashString("https"); + + + Protocol GetProtocolForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == http_HASH) + { + return Protocol::http; + } + else if (hashCode == https_HASH) + { + return Protocol::https; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<Protocol>(hashCode); + } + + return Protocol::NOT_SET; + } + + Aws::String GetNameForProtocol(Protocol enumValue) + { + switch(enumValue) + { + case Protocol::http: + return "http"; + case Protocol::https: + return "https"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ProtocolMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PublicAccessBlockConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PublicAccessBlockConfiguration.cpp new file mode 100644 index 0000000000..258306dc4f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PublicAccessBlockConfiguration.cpp @@ -0,0 +1,122 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PublicAccessBlockConfiguration.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 +{ + +PublicAccessBlockConfiguration::PublicAccessBlockConfiguration() : + m_blockPublicAcls(false), + m_blockPublicAclsHasBeenSet(false), + m_ignorePublicAcls(false), + m_ignorePublicAclsHasBeenSet(false), + m_blockPublicPolicy(false), + m_blockPublicPolicyHasBeenSet(false), + m_restrictPublicBuckets(false), + m_restrictPublicBucketsHasBeenSet(false) +{ +} + +PublicAccessBlockConfiguration::PublicAccessBlockConfiguration(const XmlNode& xmlNode) : + m_blockPublicAcls(false), + m_blockPublicAclsHasBeenSet(false), + m_ignorePublicAcls(false), + m_ignorePublicAclsHasBeenSet(false), + m_blockPublicPolicy(false), + m_blockPublicPolicyHasBeenSet(false), + m_restrictPublicBuckets(false), + m_restrictPublicBucketsHasBeenSet(false) +{ + *this = xmlNode; +} + +PublicAccessBlockConfiguration& PublicAccessBlockConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode blockPublicAclsNode = resultNode.FirstChild("BlockPublicAcls"); + if(!blockPublicAclsNode.IsNull()) + { + m_blockPublicAcls = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(blockPublicAclsNode.GetText()).c_str()).c_str()); + m_blockPublicAclsHasBeenSet = true; + } + XmlNode ignorePublicAclsNode = resultNode.FirstChild("IgnorePublicAcls"); + if(!ignorePublicAclsNode.IsNull()) + { + m_ignorePublicAcls = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(ignorePublicAclsNode.GetText()).c_str()).c_str()); + m_ignorePublicAclsHasBeenSet = true; + } + XmlNode blockPublicPolicyNode = resultNode.FirstChild("BlockPublicPolicy"); + if(!blockPublicPolicyNode.IsNull()) + { + m_blockPublicPolicy = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(blockPublicPolicyNode.GetText()).c_str()).c_str()); + m_blockPublicPolicyHasBeenSet = true; + } + XmlNode restrictPublicBucketsNode = resultNode.FirstChild("RestrictPublicBuckets"); + if(!restrictPublicBucketsNode.IsNull()) + { + m_restrictPublicBuckets = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(restrictPublicBucketsNode.GetText()).c_str()).c_str()); + m_restrictPublicBucketsHasBeenSet = true; + } + } + + return *this; +} + +void PublicAccessBlockConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_blockPublicAclsHasBeenSet) + { + XmlNode blockPublicAclsNode = parentNode.CreateChildElement("BlockPublicAcls"); + ss << std::boolalpha << m_blockPublicAcls; + blockPublicAclsNode.SetText(ss.str()); + ss.str(""); + } + + if(m_ignorePublicAclsHasBeenSet) + { + XmlNode ignorePublicAclsNode = parentNode.CreateChildElement("IgnorePublicAcls"); + ss << std::boolalpha << m_ignorePublicAcls; + ignorePublicAclsNode.SetText(ss.str()); + ss.str(""); + } + + if(m_blockPublicPolicyHasBeenSet) + { + XmlNode blockPublicPolicyNode = parentNode.CreateChildElement("BlockPublicPolicy"); + ss << std::boolalpha << m_blockPublicPolicy; + blockPublicPolicyNode.SetText(ss.str()); + ss.str(""); + } + + if(m_restrictPublicBucketsHasBeenSet) + { + XmlNode restrictPublicBucketsNode = parentNode.CreateChildElement("RestrictPublicBuckets"); + ss << std::boolalpha << m_restrictPublicBuckets; + restrictPublicBucketsNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketAccelerateConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketAccelerateConfigurationRequest.cpp new file mode 100644 index 0000000000..15da0c32a1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketAccelerateConfigurationRequest.cpp @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketAccelerateConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketAccelerateConfigurationRequest::PutBucketAccelerateConfigurationRequest() : + m_bucketHasBeenSet(false), + m_accelerateConfigurationHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketAccelerateConfigurationRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("AccelerateConfiguration"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_accelerateConfiguration.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutBucketAccelerateConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketAccelerateConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketAclRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketAclRequest.cpp new file mode 100644 index 0000000000..5a3efcac19 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketAclRequest.cpp @@ -0,0 +1,132 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketAclRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketAclRequest::PutBucketAclRequest() : + m_aCL(BucketCannedACL::NOT_SET), + m_aCLHasBeenSet(false), + m_accessControlPolicyHasBeenSet(false), + m_bucketHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_grantFullControlHasBeenSet(false), + m_grantReadHasBeenSet(false), + m_grantReadACPHasBeenSet(false), + m_grantWriteHasBeenSet(false), + m_grantWriteACPHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketAclRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("AccessControlPolicy"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_accessControlPolicy.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutBucketAclRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketAclRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_aCLHasBeenSet) + { + headers.emplace("x-amz-acl", BucketCannedACLMapper::GetNameForBucketCannedACL(m_aCL)); + } + + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_grantFullControlHasBeenSet) + { + ss << m_grantFullControl; + headers.emplace("x-amz-grant-full-control", ss.str()); + ss.str(""); + } + + if(m_grantReadHasBeenSet) + { + ss << m_grantRead; + headers.emplace("x-amz-grant-read", ss.str()); + ss.str(""); + } + + if(m_grantReadACPHasBeenSet) + { + ss << m_grantReadACP; + headers.emplace("x-amz-grant-read-acp", ss.str()); + ss.str(""); + } + + if(m_grantWriteHasBeenSet) + { + ss << m_grantWrite; + headers.emplace("x-amz-grant-write", ss.str()); + ss.str(""); + } + + if(m_grantWriteACPHasBeenSet) + { + ss << m_grantWriteACP; + headers.emplace("x-amz-grant-write-acp", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketAnalyticsConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketAnalyticsConfigurationRequest.cpp new file mode 100644 index 0000000000..73f9111f63 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketAnalyticsConfigurationRequest.cpp @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketAnalyticsConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketAnalyticsConfigurationRequest::PutBucketAnalyticsConfigurationRequest() : + m_bucketHasBeenSet(false), + m_idHasBeenSet(false), + m_analyticsConfigurationHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketAnalyticsConfigurationRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("AnalyticsConfiguration"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_analyticsConfiguration.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutBucketAnalyticsConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + ss << m_id; + uri.AddQueryStringParameter("id", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketAnalyticsConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketCorsRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketCorsRequest.cpp new file mode 100644 index 0000000000..6f90824e2c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketCorsRequest.cpp @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketCorsRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketCorsRequest::PutBucketCorsRequest() : + m_bucketHasBeenSet(false), + m_cORSConfigurationHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketCorsRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("CORSConfiguration"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_cORSConfiguration.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutBucketCorsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketCorsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketEncryptionRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketEncryptionRequest.cpp new file mode 100644 index 0000000000..26b60f385e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketEncryptionRequest.cpp @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketEncryptionRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketEncryptionRequest::PutBucketEncryptionRequest() : + m_bucketHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_serverSideEncryptionConfigurationHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketEncryptionRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("ServerSideEncryptionConfiguration"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_serverSideEncryptionConfiguration.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutBucketEncryptionRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketEncryptionRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp new file mode 100644 index 0000000000..24bc947b71 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketIntelligentTieringConfigurationRequest::PutBucketIntelligentTieringConfigurationRequest() : + m_bucketHasBeenSet(false), + m_idHasBeenSet(false), + m_intelligentTieringConfigurationHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketIntelligentTieringConfigurationRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("IntelligentTieringConfiguration"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_intelligentTieringConfiguration.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutBucketIntelligentTieringConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + ss << m_id; + uri.AddQueryStringParameter("id", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketInventoryConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketInventoryConfigurationRequest.cpp new file mode 100644 index 0000000000..31f0365528 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketInventoryConfigurationRequest.cpp @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketInventoryConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketInventoryConfigurationRequest::PutBucketInventoryConfigurationRequest() : + m_bucketHasBeenSet(false), + m_idHasBeenSet(false), + m_inventoryConfigurationHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketInventoryConfigurationRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("InventoryConfiguration"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_inventoryConfiguration.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutBucketInventoryConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + ss << m_id; + uri.AddQueryStringParameter("id", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketInventoryConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketLifecycleConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketLifecycleConfigurationRequest.cpp new file mode 100644 index 0000000000..2d8b5471f2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketLifecycleConfigurationRequest.cpp @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketLifecycleConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketLifecycleConfigurationRequest::PutBucketLifecycleConfigurationRequest() : + m_bucketHasBeenSet(false), + m_lifecycleConfigurationHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketLifecycleConfigurationRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("LifecycleConfiguration"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_lifecycleConfiguration.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutBucketLifecycleConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketLifecycleConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketLoggingRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketLoggingRequest.cpp new file mode 100644 index 0000000000..1057a8f122 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketLoggingRequest.cpp @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketLoggingRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketLoggingRequest::PutBucketLoggingRequest() : + m_bucketHasBeenSet(false), + m_bucketLoggingStatusHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketLoggingRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("BucketLoggingStatus"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_bucketLoggingStatus.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutBucketLoggingRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketLoggingRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketMetricsConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketMetricsConfigurationRequest.cpp new file mode 100644 index 0000000000..48e5714b3a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketMetricsConfigurationRequest.cpp @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketMetricsConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketMetricsConfigurationRequest::PutBucketMetricsConfigurationRequest() : + m_bucketHasBeenSet(false), + m_idHasBeenSet(false), + m_metricsConfigurationHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketMetricsConfigurationRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("MetricsConfiguration"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_metricsConfiguration.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutBucketMetricsConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + ss << m_id; + uri.AddQueryStringParameter("id", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketMetricsConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketNotificationConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketNotificationConfigurationRequest.cpp new file mode 100644 index 0000000000..52f921af4f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketNotificationConfigurationRequest.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketNotificationConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketNotificationConfigurationRequest::PutBucketNotificationConfigurationRequest() : + m_bucketHasBeenSet(false), + m_notificationConfigurationHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketNotificationConfigurationRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("NotificationConfiguration"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_notificationConfiguration.AddToNode(parentNode); + + return payloadDoc.ConvertToString(); +} + +void PutBucketNotificationConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketNotificationConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketOwnershipControlsRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketOwnershipControlsRequest.cpp new file mode 100644 index 0000000000..5a6119e233 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketOwnershipControlsRequest.cpp @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketOwnershipControlsRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketOwnershipControlsRequest::PutBucketOwnershipControlsRequest() : + m_bucketHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_ownershipControlsHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketOwnershipControlsRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("OwnershipControls"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_ownershipControls.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutBucketOwnershipControlsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketOwnershipControlsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketPolicyRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketPolicyRequest.cpp new file mode 100644 index 0000000000..ce52fa7cd8 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketPolicyRequest.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketPolicyRequest.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws::Http; +using namespace Aws; + +PutBucketPolicyRequest::PutBucketPolicyRequest() : + m_bucketHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_confirmRemoveSelfBucketAccess(false), + m_confirmRemoveSelfBucketAccessHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + + +void PutBucketPolicyRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketPolicyRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_confirmRemoveSelfBucketAccessHasBeenSet) + { + ss << m_confirmRemoveSelfBucketAccess; + headers.emplace("x-amz-confirm-remove-self-bucket-access", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; + +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketReplicationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketReplicationRequest.cpp new file mode 100644 index 0000000000..44244a8560 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketReplicationRequest.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketReplicationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketReplicationRequest::PutBucketReplicationRequest() : + m_bucketHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_replicationConfigurationHasBeenSet(false), + m_tokenHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketReplicationRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("ReplicationConfiguration"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_replicationConfiguration.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutBucketReplicationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketReplicationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_tokenHasBeenSet) + { + ss << m_token; + headers.emplace("x-amz-bucket-object-lock-token", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketRequestPaymentRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketRequestPaymentRequest.cpp new file mode 100644 index 0000000000..f6be9cc855 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketRequestPaymentRequest.cpp @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketRequestPaymentRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketRequestPaymentRequest::PutBucketRequestPaymentRequest() : + m_bucketHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_requestPaymentConfigurationHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketRequestPaymentRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("RequestPaymentConfiguration"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_requestPaymentConfiguration.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutBucketRequestPaymentRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketRequestPaymentRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketTaggingRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketTaggingRequest.cpp new file mode 100644 index 0000000000..748ede6e75 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketTaggingRequest.cpp @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketTaggingRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketTaggingRequest::PutBucketTaggingRequest() : + m_bucketHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_taggingHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketTaggingRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("Tagging"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_tagging.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutBucketTaggingRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketTaggingRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketVersioningRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketVersioningRequest.cpp new file mode 100644 index 0000000000..5e72efb1e1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketVersioningRequest.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketVersioningRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketVersioningRequest::PutBucketVersioningRequest() : + m_bucketHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_mFAHasBeenSet(false), + m_versioningConfigurationHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketVersioningRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("VersioningConfiguration"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_versioningConfiguration.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutBucketVersioningRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketVersioningRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_mFAHasBeenSet) + { + ss << m_mFA; + headers.emplace("x-amz-mfa", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketWebsiteRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketWebsiteRequest.cpp new file mode 100644 index 0000000000..d20032e466 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketWebsiteRequest.cpp @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutBucketWebsiteRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutBucketWebsiteRequest::PutBucketWebsiteRequest() : + m_bucketHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_websiteConfigurationHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutBucketWebsiteRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("WebsiteConfiguration"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_websiteConfiguration.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutBucketWebsiteRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutBucketWebsiteRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectAclRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectAclRequest.cpp new file mode 100644 index 0000000000..5dbd1a3fa6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectAclRequest.cpp @@ -0,0 +1,148 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutObjectAclRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutObjectAclRequest::PutObjectAclRequest() : + m_aCL(ObjectCannedACL::NOT_SET), + m_aCLHasBeenSet(false), + m_accessControlPolicyHasBeenSet(false), + m_bucketHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_grantFullControlHasBeenSet(false), + m_grantReadHasBeenSet(false), + m_grantReadACPHasBeenSet(false), + m_grantWriteHasBeenSet(false), + m_grantWriteACPHasBeenSet(false), + m_keyHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutObjectAclRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("AccessControlPolicy"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_accessControlPolicy.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutObjectAclRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_versionIdHasBeenSet) + { + ss << m_versionId; + uri.AddQueryStringParameter("versionId", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutObjectAclRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_aCLHasBeenSet) + { + headers.emplace("x-amz-acl", ObjectCannedACLMapper::GetNameForObjectCannedACL(m_aCL)); + } + + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_grantFullControlHasBeenSet) + { + ss << m_grantFullControl; + headers.emplace("x-amz-grant-full-control", ss.str()); + ss.str(""); + } + + if(m_grantReadHasBeenSet) + { + ss << m_grantRead; + headers.emplace("x-amz-grant-read", ss.str()); + ss.str(""); + } + + if(m_grantReadACPHasBeenSet) + { + ss << m_grantReadACP; + headers.emplace("x-amz-grant-read-acp", ss.str()); + ss.str(""); + } + + if(m_grantWriteHasBeenSet) + { + ss << m_grantWrite; + headers.emplace("x-amz-grant-write", ss.str()); + ss.str(""); + } + + if(m_grantWriteACPHasBeenSet) + { + ss << m_grantWriteACP; + headers.emplace("x-amz-grant-write-acp", ss.str()); + ss.str(""); + } + + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectAclResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectAclResult.cpp new file mode 100644 index 0000000000..47034f81db --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectAclResult.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutObjectAclResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +PutObjectAclResult::PutObjectAclResult() : + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +PutObjectAclResult::PutObjectAclResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +PutObjectAclResult& PutObjectAclResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectLegalHoldRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectLegalHoldRequest.cpp new file mode 100644 index 0000000000..8c07b952d7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectLegalHoldRequest.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutObjectLegalHoldRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutObjectLegalHoldRequest::PutObjectLegalHoldRequest() : + m_bucketHasBeenSet(false), + m_keyHasBeenSet(false), + m_legalHoldHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutObjectLegalHoldRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("LegalHold"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_legalHold.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutObjectLegalHoldRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_versionIdHasBeenSet) + { + ss << m_versionId; + uri.AddQueryStringParameter("versionId", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutObjectLegalHoldRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectLegalHoldResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectLegalHoldResult.cpp new file mode 100644 index 0000000000..10e4ad8d41 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectLegalHoldResult.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutObjectLegalHoldResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +PutObjectLegalHoldResult::PutObjectLegalHoldResult() : + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +PutObjectLegalHoldResult::PutObjectLegalHoldResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +PutObjectLegalHoldResult& PutObjectLegalHoldResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectLockConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectLockConfigurationRequest.cpp new file mode 100644 index 0000000000..347b9e668d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectLockConfigurationRequest.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutObjectLockConfigurationRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutObjectLockConfigurationRequest::PutObjectLockConfigurationRequest() : + m_bucketHasBeenSet(false), + m_objectLockConfigurationHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_tokenHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutObjectLockConfigurationRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("ObjectLockConfiguration"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_objectLockConfiguration.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutObjectLockConfigurationRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutObjectLockConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_tokenHasBeenSet) + { + ss << m_token; + headers.emplace("x-amz-bucket-object-lock-token", ss.str()); + ss.str(""); + } + + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectLockConfigurationResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectLockConfigurationResult.cpp new file mode 100644 index 0000000000..6beae5855d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectLockConfigurationResult.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutObjectLockConfigurationResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +PutObjectLockConfigurationResult::PutObjectLockConfigurationResult() : + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +PutObjectLockConfigurationResult::PutObjectLockConfigurationResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +PutObjectLockConfigurationResult& PutObjectLockConfigurationResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRequest.cpp new file mode 100644 index 0000000000..1a3f34b3e8 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRequest.cpp @@ -0,0 +1,275 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutObjectRequest.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/utils/HashingUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws::Http; +using namespace Aws; + +PutObjectRequest::PutObjectRequest() : + m_aCL(ObjectCannedACL::NOT_SET), + m_aCLHasBeenSet(false), + m_bucketHasBeenSet(false), + m_cacheControlHasBeenSet(false), + m_contentDispositionHasBeenSet(false), + m_contentEncodingHasBeenSet(false), + m_contentLanguageHasBeenSet(false), + m_contentLength(0), + m_contentLengthHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_expiresHasBeenSet(false), + m_grantFullControlHasBeenSet(false), + m_grantReadHasBeenSet(false), + m_grantReadACPHasBeenSet(false), + m_grantWriteACPHasBeenSet(false), + m_keyHasBeenSet(false), + m_metadataHasBeenSet(false), + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_serverSideEncryptionHasBeenSet(false), + m_storageClass(StorageClass::NOT_SET), + m_storageClassHasBeenSet(false), + m_websiteRedirectLocationHasBeenSet(false), + m_sSECustomerAlgorithmHasBeenSet(false), + m_sSECustomerKeyHasBeenSet(false), + m_sSECustomerKeyMD5HasBeenSet(false), + m_sSEKMSKeyIdHasBeenSet(false), + m_sSEKMSEncryptionContextHasBeenSet(false), + m_bucketKeyEnabled(false), + m_bucketKeyEnabledHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_taggingHasBeenSet(false), + m_objectLockMode(ObjectLockMode::NOT_SET), + m_objectLockModeHasBeenSet(false), + m_objectLockRetainUntilDateHasBeenSet(false), + m_objectLockLegalHoldStatus(ObjectLockLegalHoldStatus::NOT_SET), + m_objectLockLegalHoldStatusHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + + +void PutObjectRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutObjectRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_aCLHasBeenSet) + { + headers.emplace("x-amz-acl", ObjectCannedACLMapper::GetNameForObjectCannedACL(m_aCL)); + } + + if(m_cacheControlHasBeenSet) + { + ss << m_cacheControl; + headers.emplace("cache-control", ss.str()); + ss.str(""); + } + + if(m_contentDispositionHasBeenSet) + { + ss << m_contentDisposition; + headers.emplace("content-disposition", ss.str()); + ss.str(""); + } + + if(m_contentEncodingHasBeenSet) + { + ss << m_contentEncoding; + headers.emplace("content-encoding", ss.str()); + ss.str(""); + } + + if(m_contentLanguageHasBeenSet) + { + ss << m_contentLanguage; + headers.emplace("content-language", ss.str()); + ss.str(""); + } + + if(m_contentLengthHasBeenSet) + { + ss << m_contentLength; + headers.emplace("content-length", ss.str()); + ss.str(""); + } + + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_expiresHasBeenSet) + { + headers.emplace("expires", m_expires.ToGmtString(DateFormat::RFC822)); + } + + if(m_grantFullControlHasBeenSet) + { + ss << m_grantFullControl; + headers.emplace("x-amz-grant-full-control", ss.str()); + ss.str(""); + } + + if(m_grantReadHasBeenSet) + { + ss << m_grantRead; + headers.emplace("x-amz-grant-read", ss.str()); + ss.str(""); + } + + if(m_grantReadACPHasBeenSet) + { + ss << m_grantReadACP; + headers.emplace("x-amz-grant-read-acp", ss.str()); + ss.str(""); + } + + if(m_grantWriteACPHasBeenSet) + { + ss << m_grantWriteACP; + headers.emplace("x-amz-grant-write-acp", ss.str()); + ss.str(""); + } + + if(m_metadataHasBeenSet) + { + for(const auto& item : m_metadata) + { + ss << "x-amz-meta-" << item.first; + headers.emplace(ss.str(), item.second); + ss.str(""); + } + } + + if(m_serverSideEncryptionHasBeenSet) + { + headers.emplace("x-amz-server-side-encryption", ServerSideEncryptionMapper::GetNameForServerSideEncryption(m_serverSideEncryption)); + } + + if(m_storageClassHasBeenSet) + { + headers.emplace("x-amz-storage-class", StorageClassMapper::GetNameForStorageClass(m_storageClass)); + } + + if(m_websiteRedirectLocationHasBeenSet) + { + ss << m_websiteRedirectLocation; + headers.emplace("x-amz-website-redirect-location", ss.str()); + ss.str(""); + } + + if(m_sSECustomerAlgorithmHasBeenSet) + { + ss << m_sSECustomerAlgorithm; + headers.emplace("x-amz-server-side-encryption-customer-algorithm", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyHasBeenSet) + { + ss << m_sSECustomerKey; + headers.emplace("x-amz-server-side-encryption-customer-key", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyMD5HasBeenSet) + { + ss << m_sSECustomerKeyMD5; + headers.emplace("x-amz-server-side-encryption-customer-key-md5", ss.str()); + ss.str(""); + } + + if(m_sSEKMSKeyIdHasBeenSet) + { + ss << m_sSEKMSKeyId; + headers.emplace("x-amz-server-side-encryption-aws-kms-key-id", ss.str()); + ss.str(""); + } + + if(m_sSEKMSEncryptionContextHasBeenSet) + { + ss << m_sSEKMSEncryptionContext; + headers.emplace("x-amz-server-side-encryption-context", ss.str()); + ss.str(""); + } + + if(m_bucketKeyEnabledHasBeenSet) + { + ss << m_bucketKeyEnabled; + headers.emplace("x-amz-server-side-encryption-bucket-key-enabled", ss.str()); + ss.str(""); + } + + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_taggingHasBeenSet) + { + ss << m_tagging; + headers.emplace("x-amz-tagging", ss.str()); + ss.str(""); + } + + if(m_objectLockModeHasBeenSet) + { + headers.emplace("x-amz-object-lock-mode", ObjectLockModeMapper::GetNameForObjectLockMode(m_objectLockMode)); + } + + if(m_objectLockRetainUntilDateHasBeenSet) + { + headers.emplace("x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(DateFormat::RFC822)); + } + + if(m_objectLockLegalHoldStatusHasBeenSet) + { + headers.emplace("x-amz-object-lock-legal-hold", ObjectLockLegalHoldStatusMapper::GetNameForObjectLockLegalHoldStatus(m_objectLockLegalHoldStatus)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; + +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectResult.cpp new file mode 100644 index 0000000000..0dfcb17280 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectResult.cpp @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutObjectResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +PutObjectResult::PutObjectResult() : + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_bucketKeyEnabled(false), + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +PutObjectResult::PutObjectResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_bucketKeyEnabled(false), + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +PutObjectResult& PutObjectResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& expirationIter = headers.find("x-amz-expiration"); + if(expirationIter != headers.end()) + { + m_expiration = expirationIter->second; + } + + const auto& eTagIter = headers.find("etag"); + if(eTagIter != headers.end()) + { + m_eTag = eTagIter->second; + } + + const auto& serverSideEncryptionIter = headers.find("x-amz-server-side-encryption"); + if(serverSideEncryptionIter != headers.end()) + { + m_serverSideEncryption = ServerSideEncryptionMapper::GetServerSideEncryptionForName(serverSideEncryptionIter->second); + } + + const auto& versionIdIter = headers.find("x-amz-version-id"); + if(versionIdIter != headers.end()) + { + m_versionId = versionIdIter->second; + } + + const auto& sSECustomerAlgorithmIter = headers.find("x-amz-server-side-encryption-customer-algorithm"); + if(sSECustomerAlgorithmIter != headers.end()) + { + m_sSECustomerAlgorithm = sSECustomerAlgorithmIter->second; + } + + const auto& sSECustomerKeyMD5Iter = headers.find("x-amz-server-side-encryption-customer-key-md5"); + if(sSECustomerKeyMD5Iter != headers.end()) + { + m_sSECustomerKeyMD5 = sSECustomerKeyMD5Iter->second; + } + + const auto& sSEKMSKeyIdIter = headers.find("x-amz-server-side-encryption-aws-kms-key-id"); + if(sSEKMSKeyIdIter != headers.end()) + { + m_sSEKMSKeyId = sSEKMSKeyIdIter->second; + } + + const auto& sSEKMSEncryptionContextIter = headers.find("x-amz-server-side-encryption-context"); + if(sSEKMSEncryptionContextIter != headers.end()) + { + m_sSEKMSEncryptionContext = sSEKMSEncryptionContextIter->second; + } + + const auto& bucketKeyEnabledIter = headers.find("x-amz-server-side-encryption-bucket-key-enabled"); + if(bucketKeyEnabledIter != headers.end()) + { + m_bucketKeyEnabled = StringUtils::ConvertToBool(bucketKeyEnabledIter->second.c_str()); + } + + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRetentionRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRetentionRequest.cpp new file mode 100644 index 0000000000..1c0101a0c4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRetentionRequest.cpp @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutObjectRetentionRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutObjectRetentionRequest::PutObjectRetentionRequest() : + m_bucketHasBeenSet(false), + m_keyHasBeenSet(false), + m_retentionHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_bypassGovernanceRetention(false), + m_bypassGovernanceRetentionHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutObjectRetentionRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("Retention"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_retention.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutObjectRetentionRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_versionIdHasBeenSet) + { + ss << m_versionId; + uri.AddQueryStringParameter("versionId", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutObjectRetentionRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_bypassGovernanceRetentionHasBeenSet) + { + ss << m_bypassGovernanceRetention; + headers.emplace("x-amz-bypass-governance-retention", ss.str()); + ss.str(""); + } + + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRetentionResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRetentionResult.cpp new file mode 100644 index 0000000000..c1cd49d9b6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRetentionResult.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutObjectRetentionResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +PutObjectRetentionResult::PutObjectRetentionResult() : + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +PutObjectRetentionResult::PutObjectRetentionResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +PutObjectRetentionResult& PutObjectRetentionResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectTaggingRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectTaggingRequest.cpp new file mode 100644 index 0000000000..d93c0108ea --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectTaggingRequest.cpp @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutObjectTaggingRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutObjectTaggingRequest::PutObjectTaggingRequest() : + m_bucketHasBeenSet(false), + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_taggingHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutObjectTaggingRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("Tagging"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_tagging.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutObjectTaggingRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_versionIdHasBeenSet) + { + ss << m_versionId; + uri.AddQueryStringParameter("versionId", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutObjectTaggingRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectTaggingResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectTaggingResult.cpp new file mode 100644 index 0000000000..29e1919119 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectTaggingResult.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutObjectTaggingResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +PutObjectTaggingResult::PutObjectTaggingResult() +{ +} + +PutObjectTaggingResult::PutObjectTaggingResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + *this = result; +} + +PutObjectTaggingResult& PutObjectTaggingResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& versionIdIter = headers.find("x-amz-version-id"); + if(versionIdIter != headers.end()) + { + m_versionId = versionIdIter->second; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutPublicAccessBlockRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutPublicAccessBlockRequest.cpp new file mode 100644 index 0000000000..f06ab1ed3a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutPublicAccessBlockRequest.cpp @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/PutPublicAccessBlockRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +PutPublicAccessBlockRequest::PutPublicAccessBlockRequest() : + m_bucketHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_publicAccessBlockConfigurationHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String PutPublicAccessBlockRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("PublicAccessBlockConfiguration"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_publicAccessBlockConfiguration.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void PutPublicAccessBlockRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection PutPublicAccessBlockRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/QueueConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/QueueConfiguration.cpp new file mode 100644 index 0000000000..c9c18b8137 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/QueueConfiguration.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/QueueConfiguration.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 +{ + +QueueConfiguration::QueueConfiguration() : + m_idHasBeenSet(false), + m_queueArnHasBeenSet(false), + m_eventsHasBeenSet(false), + m_filterHasBeenSet(false) +{ +} + +QueueConfiguration::QueueConfiguration(const XmlNode& xmlNode) : + m_idHasBeenSet(false), + m_queueArnHasBeenSet(false), + m_eventsHasBeenSet(false), + m_filterHasBeenSet(false) +{ + *this = xmlNode; +} + +QueueConfiguration& QueueConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode idNode = resultNode.FirstChild("Id"); + if(!idNode.IsNull()) + { + m_id = Aws::Utils::Xml::DecodeEscapedXmlText(idNode.GetText()); + m_idHasBeenSet = true; + } + XmlNode queueArnNode = resultNode.FirstChild("Queue"); + if(!queueArnNode.IsNull()) + { + m_queueArn = Aws::Utils::Xml::DecodeEscapedXmlText(queueArnNode.GetText()); + m_queueArnHasBeenSet = true; + } + XmlNode eventsNode = resultNode.FirstChild("Event"); + if(!eventsNode.IsNull()) + { + XmlNode eventMember = eventsNode; + while(!eventMember.IsNull()) + { + m_events.push_back(EventMapper::GetEventForName(StringUtils::Trim(eventMember.GetText().c_str()))); + eventMember = eventMember.NextNode("Event"); + } + + m_eventsHasBeenSet = true; + } + XmlNode filterNode = resultNode.FirstChild("Filter"); + if(!filterNode.IsNull()) + { + m_filter = filterNode; + m_filterHasBeenSet = true; + } + } + + return *this; +} + +void QueueConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + XmlNode idNode = parentNode.CreateChildElement("Id"); + idNode.SetText(m_id); + } + + if(m_queueArnHasBeenSet) + { + XmlNode queueArnNode = parentNode.CreateChildElement("Queue"); + queueArnNode.SetText(m_queueArn); + } + + if(m_eventsHasBeenSet) + { + for(const auto& item : m_events) + { + XmlNode eventsNode = parentNode.CreateChildElement("Event"); + eventsNode.SetText(EventMapper::GetNameForEvent(item)); + } + } + + if(m_filterHasBeenSet) + { + XmlNode filterNode = parentNode.CreateChildElement("Filter"); + m_filter.AddToNode(filterNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/QueueConfigurationDeprecated.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/QueueConfigurationDeprecated.cpp new file mode 100644 index 0000000000..0bb24846e2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/QueueConfigurationDeprecated.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/QueueConfigurationDeprecated.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 +{ + +QueueConfigurationDeprecated::QueueConfigurationDeprecated() : + m_idHasBeenSet(false), + m_eventsHasBeenSet(false), + m_queueHasBeenSet(false) +{ +} + +QueueConfigurationDeprecated::QueueConfigurationDeprecated(const XmlNode& xmlNode) : + m_idHasBeenSet(false), + m_eventsHasBeenSet(false), + m_queueHasBeenSet(false) +{ + *this = xmlNode; +} + +QueueConfigurationDeprecated& QueueConfigurationDeprecated::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode idNode = resultNode.FirstChild("Id"); + if(!idNode.IsNull()) + { + m_id = Aws::Utils::Xml::DecodeEscapedXmlText(idNode.GetText()); + m_idHasBeenSet = true; + } + XmlNode eventsNode = resultNode.FirstChild("Event"); + if(!eventsNode.IsNull()) + { + XmlNode eventMember = eventsNode; + while(!eventMember.IsNull()) + { + m_events.push_back(EventMapper::GetEventForName(StringUtils::Trim(eventMember.GetText().c_str()))); + eventMember = eventMember.NextNode("Event"); + } + + m_eventsHasBeenSet = true; + } + XmlNode queueNode = resultNode.FirstChild("Queue"); + if(!queueNode.IsNull()) + { + m_queue = Aws::Utils::Xml::DecodeEscapedXmlText(queueNode.GetText()); + m_queueHasBeenSet = true; + } + } + + return *this; +} + +void QueueConfigurationDeprecated::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + XmlNode idNode = parentNode.CreateChildElement("Id"); + idNode.SetText(m_id); + } + + if(m_eventsHasBeenSet) + { + for(const auto& item : m_events) + { + XmlNode eventsNode = parentNode.CreateChildElement("Event"); + eventsNode.SetText(EventMapper::GetNameForEvent(item)); + } + } + + if(m_queueHasBeenSet) + { + XmlNode queueNode = parentNode.CreateChildElement("Queue"); + queueNode.SetText(m_queue); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/QuoteFields.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/QuoteFields.cpp new file mode 100644 index 0000000000..a9c44b2d8a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/QuoteFields.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/QuoteFields.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace QuoteFieldsMapper + { + + static const int ALWAYS_HASH = HashingUtils::HashString("ALWAYS"); + static const int ASNEEDED_HASH = HashingUtils::HashString("ASNEEDED"); + + + QuoteFields GetQuoteFieldsForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ALWAYS_HASH) + { + return QuoteFields::ALWAYS; + } + else if (hashCode == ASNEEDED_HASH) + { + return QuoteFields::ASNEEDED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<QuoteFields>(hashCode); + } + + return QuoteFields::NOT_SET; + } + + Aws::String GetNameForQuoteFields(QuoteFields enumValue) + { + switch(enumValue) + { + case QuoteFields::ALWAYS: + return "ALWAYS"; + case QuoteFields::ASNEEDED: + return "ASNEEDED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace QuoteFieldsMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Redirect.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Redirect.cpp new file mode 100644 index 0000000000..5aa5c06d24 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Redirect.cpp @@ -0,0 +1,122 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Redirect.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 +{ + +Redirect::Redirect() : + m_hostNameHasBeenSet(false), + m_httpRedirectCodeHasBeenSet(false), + m_protocol(Protocol::NOT_SET), + m_protocolHasBeenSet(false), + m_replaceKeyPrefixWithHasBeenSet(false), + m_replaceKeyWithHasBeenSet(false) +{ +} + +Redirect::Redirect(const XmlNode& xmlNode) : + m_hostNameHasBeenSet(false), + m_httpRedirectCodeHasBeenSet(false), + m_protocol(Protocol::NOT_SET), + m_protocolHasBeenSet(false), + m_replaceKeyPrefixWithHasBeenSet(false), + m_replaceKeyWithHasBeenSet(false) +{ + *this = xmlNode; +} + +Redirect& Redirect::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode hostNameNode = resultNode.FirstChild("HostName"); + if(!hostNameNode.IsNull()) + { + m_hostName = Aws::Utils::Xml::DecodeEscapedXmlText(hostNameNode.GetText()); + m_hostNameHasBeenSet = true; + } + XmlNode httpRedirectCodeNode = resultNode.FirstChild("HttpRedirectCode"); + if(!httpRedirectCodeNode.IsNull()) + { + m_httpRedirectCode = Aws::Utils::Xml::DecodeEscapedXmlText(httpRedirectCodeNode.GetText()); + m_httpRedirectCodeHasBeenSet = true; + } + XmlNode protocolNode = resultNode.FirstChild("Protocol"); + if(!protocolNode.IsNull()) + { + m_protocol = ProtocolMapper::GetProtocolForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(protocolNode.GetText()).c_str()).c_str()); + m_protocolHasBeenSet = true; + } + XmlNode replaceKeyPrefixWithNode = resultNode.FirstChild("ReplaceKeyPrefixWith"); + if(!replaceKeyPrefixWithNode.IsNull()) + { + m_replaceKeyPrefixWith = Aws::Utils::Xml::DecodeEscapedXmlText(replaceKeyPrefixWithNode.GetText()); + m_replaceKeyPrefixWithHasBeenSet = true; + } + XmlNode replaceKeyWithNode = resultNode.FirstChild("ReplaceKeyWith"); + if(!replaceKeyWithNode.IsNull()) + { + m_replaceKeyWith = Aws::Utils::Xml::DecodeEscapedXmlText(replaceKeyWithNode.GetText()); + m_replaceKeyWithHasBeenSet = true; + } + } + + return *this; +} + +void Redirect::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_hostNameHasBeenSet) + { + XmlNode hostNameNode = parentNode.CreateChildElement("HostName"); + hostNameNode.SetText(m_hostName); + } + + if(m_httpRedirectCodeHasBeenSet) + { + XmlNode httpRedirectCodeNode = parentNode.CreateChildElement("HttpRedirectCode"); + httpRedirectCodeNode.SetText(m_httpRedirectCode); + } + + if(m_protocolHasBeenSet) + { + XmlNode protocolNode = parentNode.CreateChildElement("Protocol"); + protocolNode.SetText(ProtocolMapper::GetNameForProtocol(m_protocol)); + } + + if(m_replaceKeyPrefixWithHasBeenSet) + { + XmlNode replaceKeyPrefixWithNode = parentNode.CreateChildElement("ReplaceKeyPrefixWith"); + replaceKeyPrefixWithNode.SetText(m_replaceKeyPrefixWith); + } + + if(m_replaceKeyWithHasBeenSet) + { + XmlNode replaceKeyWithNode = parentNode.CreateChildElement("ReplaceKeyWith"); + replaceKeyWithNode.SetText(m_replaceKeyWith); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RedirectAllRequestsTo.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RedirectAllRequestsTo.cpp new file mode 100644 index 0000000000..bf4660d625 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RedirectAllRequestsTo.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/RedirectAllRequestsTo.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 +{ + +RedirectAllRequestsTo::RedirectAllRequestsTo() : + m_hostNameHasBeenSet(false), + m_protocol(Protocol::NOT_SET), + m_protocolHasBeenSet(false) +{ +} + +RedirectAllRequestsTo::RedirectAllRequestsTo(const XmlNode& xmlNode) : + m_hostNameHasBeenSet(false), + m_protocol(Protocol::NOT_SET), + m_protocolHasBeenSet(false) +{ + *this = xmlNode; +} + +RedirectAllRequestsTo& RedirectAllRequestsTo::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode hostNameNode = resultNode.FirstChild("HostName"); + if(!hostNameNode.IsNull()) + { + m_hostName = Aws::Utils::Xml::DecodeEscapedXmlText(hostNameNode.GetText()); + m_hostNameHasBeenSet = true; + } + XmlNode protocolNode = resultNode.FirstChild("Protocol"); + if(!protocolNode.IsNull()) + { + m_protocol = ProtocolMapper::GetProtocolForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(protocolNode.GetText()).c_str()).c_str()); + m_protocolHasBeenSet = true; + } + } + + return *this; +} + +void RedirectAllRequestsTo::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_hostNameHasBeenSet) + { + XmlNode hostNameNode = parentNode.CreateChildElement("HostName"); + hostNameNode.SetText(m_hostName); + } + + if(m_protocolHasBeenSet) + { + XmlNode protocolNode = parentNode.CreateChildElement("Protocol"); + protocolNode.SetText(ProtocolMapper::GetNameForProtocol(m_protocol)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicaModifications.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicaModifications.cpp new file mode 100644 index 0000000000..e7da8f43e0 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicaModifications.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ReplicaModifications.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 +{ + +ReplicaModifications::ReplicaModifications() : + m_status(ReplicaModificationsStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +ReplicaModifications::ReplicaModifications(const XmlNode& xmlNode) : + m_status(ReplicaModificationsStatus::NOT_SET), + m_statusHasBeenSet(false) +{ + *this = xmlNode; +} + +ReplicaModifications& ReplicaModifications::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode statusNode = resultNode.FirstChild("Status"); + if(!statusNode.IsNull()) + { + m_status = ReplicaModificationsStatusMapper::GetReplicaModificationsStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusNode.GetText()).c_str()).c_str()); + m_statusHasBeenSet = true; + } + } + + return *this; +} + +void ReplicaModifications::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_statusHasBeenSet) + { + XmlNode statusNode = parentNode.CreateChildElement("Status"); + statusNode.SetText(ReplicaModificationsStatusMapper::GetNameForReplicaModificationsStatus(m_status)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicaModificationsStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicaModificationsStatus.cpp new file mode 100644 index 0000000000..c25c3a82c4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicaModificationsStatus.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ReplicaModificationsStatus.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ReplicaModificationsStatusMapper + { + + static const int Enabled_HASH = HashingUtils::HashString("Enabled"); + static const int Disabled_HASH = HashingUtils::HashString("Disabled"); + + + ReplicaModificationsStatus GetReplicaModificationsStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Enabled_HASH) + { + return ReplicaModificationsStatus::Enabled; + } + else if (hashCode == Disabled_HASH) + { + return ReplicaModificationsStatus::Disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ReplicaModificationsStatus>(hashCode); + } + + return ReplicaModificationsStatus::NOT_SET; + } + + Aws::String GetNameForReplicaModificationsStatus(ReplicaModificationsStatus enumValue) + { + switch(enumValue) + { + case ReplicaModificationsStatus::Enabled: + return "Enabled"; + case ReplicaModificationsStatus::Disabled: + return "Disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ReplicaModificationsStatusMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationConfiguration.cpp new file mode 100644 index 0000000000..bd14b010b2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationConfiguration.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ReplicationConfiguration.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 +{ + +ReplicationConfiguration::ReplicationConfiguration() : + m_roleHasBeenSet(false), + m_rulesHasBeenSet(false) +{ +} + +ReplicationConfiguration::ReplicationConfiguration(const XmlNode& xmlNode) : + m_roleHasBeenSet(false), + m_rulesHasBeenSet(false) +{ + *this = xmlNode; +} + +ReplicationConfiguration& ReplicationConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode roleNode = resultNode.FirstChild("Role"); + if(!roleNode.IsNull()) + { + m_role = Aws::Utils::Xml::DecodeEscapedXmlText(roleNode.GetText()); + m_roleHasBeenSet = true; + } + XmlNode rulesNode = resultNode.FirstChild("Rule"); + if(!rulesNode.IsNull()) + { + XmlNode ruleMember = rulesNode; + while(!ruleMember.IsNull()) + { + m_rules.push_back(ruleMember); + ruleMember = ruleMember.NextNode("Rule"); + } + + m_rulesHasBeenSet = true; + } + } + + return *this; +} + +void ReplicationConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_roleHasBeenSet) + { + XmlNode roleNode = parentNode.CreateChildElement("Role"); + roleNode.SetText(m_role); + } + + if(m_rulesHasBeenSet) + { + for(const auto& item : m_rules) + { + XmlNode rulesNode = parentNode.CreateChildElement("Rule"); + item.AddToNode(rulesNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationRule.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationRule.cpp new file mode 100644 index 0000000000..a0f883d0f2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationRule.cpp @@ -0,0 +1,168 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ReplicationRule.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 +{ + +ReplicationRule::ReplicationRule() : + m_iDHasBeenSet(false), + m_priority(0), + m_priorityHasBeenSet(false), + m_filterHasBeenSet(false), + m_status(ReplicationRuleStatus::NOT_SET), + m_statusHasBeenSet(false), + m_sourceSelectionCriteriaHasBeenSet(false), + m_existingObjectReplicationHasBeenSet(false), + m_destinationHasBeenSet(false), + m_deleteMarkerReplicationHasBeenSet(false) +{ +} + +ReplicationRule::ReplicationRule(const XmlNode& xmlNode) : + m_iDHasBeenSet(false), + m_priority(0), + m_priorityHasBeenSet(false), + m_filterHasBeenSet(false), + m_status(ReplicationRuleStatus::NOT_SET), + m_statusHasBeenSet(false), + m_sourceSelectionCriteriaHasBeenSet(false), + m_existingObjectReplicationHasBeenSet(false), + m_destinationHasBeenSet(false), + m_deleteMarkerReplicationHasBeenSet(false) +{ + *this = xmlNode; +} + +ReplicationRule& ReplicationRule::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode iDNode = resultNode.FirstChild("ID"); + if(!iDNode.IsNull()) + { + m_iD = Aws::Utils::Xml::DecodeEscapedXmlText(iDNode.GetText()); + m_iDHasBeenSet = true; + } + XmlNode priorityNode = resultNode.FirstChild("Priority"); + if(!priorityNode.IsNull()) + { + m_priority = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(priorityNode.GetText()).c_str()).c_str()); + m_priorityHasBeenSet = 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 = ReplicationRuleStatusMapper::GetReplicationRuleStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusNode.GetText()).c_str()).c_str()); + m_statusHasBeenSet = true; + } + XmlNode sourceSelectionCriteriaNode = resultNode.FirstChild("SourceSelectionCriteria"); + if(!sourceSelectionCriteriaNode.IsNull()) + { + m_sourceSelectionCriteria = sourceSelectionCriteriaNode; + m_sourceSelectionCriteriaHasBeenSet = true; + } + XmlNode existingObjectReplicationNode = resultNode.FirstChild("ExistingObjectReplication"); + if(!existingObjectReplicationNode.IsNull()) + { + m_existingObjectReplication = existingObjectReplicationNode; + m_existingObjectReplicationHasBeenSet = true; + } + XmlNode destinationNode = resultNode.FirstChild("Destination"); + if(!destinationNode.IsNull()) + { + m_destination = destinationNode; + m_destinationHasBeenSet = true; + } + XmlNode deleteMarkerReplicationNode = resultNode.FirstChild("DeleteMarkerReplication"); + if(!deleteMarkerReplicationNode.IsNull()) + { + m_deleteMarkerReplication = deleteMarkerReplicationNode; + m_deleteMarkerReplicationHasBeenSet = true; + } + } + + return *this; +} + +void ReplicationRule::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_iDHasBeenSet) + { + XmlNode iDNode = parentNode.CreateChildElement("ID"); + iDNode.SetText(m_iD); + } + + if(m_priorityHasBeenSet) + { + XmlNode priorityNode = parentNode.CreateChildElement("Priority"); + ss << m_priority; + priorityNode.SetText(ss.str()); + ss.str(""); + } + + if(m_filterHasBeenSet) + { + XmlNode filterNode = parentNode.CreateChildElement("Filter"); + m_filter.AddToNode(filterNode); + } + + if(m_statusHasBeenSet) + { + XmlNode statusNode = parentNode.CreateChildElement("Status"); + statusNode.SetText(ReplicationRuleStatusMapper::GetNameForReplicationRuleStatus(m_status)); + } + + if(m_sourceSelectionCriteriaHasBeenSet) + { + XmlNode sourceSelectionCriteriaNode = parentNode.CreateChildElement("SourceSelectionCriteria"); + m_sourceSelectionCriteria.AddToNode(sourceSelectionCriteriaNode); + } + + if(m_existingObjectReplicationHasBeenSet) + { + XmlNode existingObjectReplicationNode = parentNode.CreateChildElement("ExistingObjectReplication"); + m_existingObjectReplication.AddToNode(existingObjectReplicationNode); + } + + if(m_destinationHasBeenSet) + { + XmlNode destinationNode = parentNode.CreateChildElement("Destination"); + m_destination.AddToNode(destinationNode); + } + + if(m_deleteMarkerReplicationHasBeenSet) + { + XmlNode deleteMarkerReplicationNode = parentNode.CreateChildElement("DeleteMarkerReplication"); + m_deleteMarkerReplication.AddToNode(deleteMarkerReplicationNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationRuleAndOperator.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationRuleAndOperator.cpp new file mode 100644 index 0000000000..00d04e7ec3 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationRuleAndOperator.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ReplicationRuleAndOperator.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 +{ + +ReplicationRuleAndOperator::ReplicationRuleAndOperator() : + m_prefixHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +ReplicationRuleAndOperator::ReplicationRuleAndOperator(const XmlNode& xmlNode) : + m_prefixHasBeenSet(false), + m_tagsHasBeenSet(false) +{ + *this = xmlNode; +} + +ReplicationRuleAndOperator& ReplicationRuleAndOperator::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + m_prefixHasBeenSet = true; + } + XmlNode tagsNode = resultNode.FirstChild("Tag"); + if(!tagsNode.IsNull()) + { + XmlNode tagMember = tagsNode; + while(!tagMember.IsNull()) + { + m_tags.push_back(tagMember); + tagMember = tagMember.NextNode("Tag"); + } + + m_tagsHasBeenSet = true; + } + } + + return *this; +} + +void ReplicationRuleAndOperator::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_prefixHasBeenSet) + { + XmlNode prefixNode = parentNode.CreateChildElement("Prefix"); + prefixNode.SetText(m_prefix); + } + + if(m_tagsHasBeenSet) + { + XmlNode tagsParentNode = parentNode.CreateChildElement("Tags"); + for(const auto& item : m_tags) + { + XmlNode tagsNode = tagsParentNode.CreateChildElement("Tag"); + item.AddToNode(tagsNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationRuleFilter.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationRuleFilter.cpp new file mode 100644 index 0000000000..a423e4ae10 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationRuleFilter.cpp @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ReplicationRuleFilter.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 +{ + +ReplicationRuleFilter::ReplicationRuleFilter() : + m_prefixHasBeenSet(false), + m_tagHasBeenSet(false), + m_andHasBeenSet(false) +{ +} + +ReplicationRuleFilter::ReplicationRuleFilter(const XmlNode& xmlNode) : + m_prefixHasBeenSet(false), + m_tagHasBeenSet(false), + m_andHasBeenSet(false) +{ + *this = xmlNode; +} + +ReplicationRuleFilter& ReplicationRuleFilter::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + m_prefixHasBeenSet = true; + } + XmlNode tagNode = resultNode.FirstChild("Tag"); + if(!tagNode.IsNull()) + { + m_tag = tagNode; + m_tagHasBeenSet = true; + } + XmlNode andNode = resultNode.FirstChild("And"); + if(!andNode.IsNull()) + { + m_and = andNode; + m_andHasBeenSet = true; + } + } + + return *this; +} + +void ReplicationRuleFilter::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_prefixHasBeenSet) + { + XmlNode prefixNode = parentNode.CreateChildElement("Prefix"); + prefixNode.SetText(m_prefix); + } + + if(m_tagHasBeenSet) + { + XmlNode tagNode = parentNode.CreateChildElement("Tag"); + m_tag.AddToNode(tagNode); + } + + if(m_andHasBeenSet) + { + XmlNode andNode = parentNode.CreateChildElement("And"); + m_and.AddToNode(andNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationRuleStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationRuleStatus.cpp new file mode 100644 index 0000000000..656e48a227 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationRuleStatus.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ReplicationRuleStatus.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ReplicationRuleStatusMapper + { + + static const int Enabled_HASH = HashingUtils::HashString("Enabled"); + static const int Disabled_HASH = HashingUtils::HashString("Disabled"); + + + ReplicationRuleStatus GetReplicationRuleStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Enabled_HASH) + { + return ReplicationRuleStatus::Enabled; + } + else if (hashCode == Disabled_HASH) + { + return ReplicationRuleStatus::Disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ReplicationRuleStatus>(hashCode); + } + + return ReplicationRuleStatus::NOT_SET; + } + + Aws::String GetNameForReplicationRuleStatus(ReplicationRuleStatus enumValue) + { + switch(enumValue) + { + case ReplicationRuleStatus::Enabled: + return "Enabled"; + case ReplicationRuleStatus::Disabled: + return "Disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ReplicationRuleStatusMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationStatus.cpp new file mode 100644 index 0000000000..02d056c0eb --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationStatus.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ReplicationStatus.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ReplicationStatusMapper + { + + static const int COMPLETED_HASH = HashingUtils::HashString("COMPLETED"); + static const int PENDING_HASH = HashingUtils::HashString("PENDING"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int REPLICA_HASH = HashingUtils::HashString("REPLICA"); + + + ReplicationStatus GetReplicationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == COMPLETED_HASH) + { + return ReplicationStatus::COMPLETED; + } + else if (hashCode == PENDING_HASH) + { + return ReplicationStatus::PENDING; + } + else if (hashCode == FAILED_HASH) + { + return ReplicationStatus::FAILED; + } + else if (hashCode == REPLICA_HASH) + { + return ReplicationStatus::REPLICA; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ReplicationStatus>(hashCode); + } + + return ReplicationStatus::NOT_SET; + } + + Aws::String GetNameForReplicationStatus(ReplicationStatus enumValue) + { + switch(enumValue) + { + case ReplicationStatus::COMPLETED: + return "COMPLETED"; + case ReplicationStatus::PENDING: + return "PENDING"; + case ReplicationStatus::FAILED: + return "FAILED"; + case ReplicationStatus::REPLICA: + return "REPLICA"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ReplicationStatusMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationTime.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationTime.cpp new file mode 100644 index 0000000000..1fb6c0a36e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationTime.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ReplicationTime.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 +{ + +ReplicationTime::ReplicationTime() : + m_status(ReplicationTimeStatus::NOT_SET), + m_statusHasBeenSet(false), + m_timeHasBeenSet(false) +{ +} + +ReplicationTime::ReplicationTime(const XmlNode& xmlNode) : + m_status(ReplicationTimeStatus::NOT_SET), + m_statusHasBeenSet(false), + m_timeHasBeenSet(false) +{ + *this = xmlNode; +} + +ReplicationTime& ReplicationTime::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode statusNode = resultNode.FirstChild("Status"); + if(!statusNode.IsNull()) + { + m_status = ReplicationTimeStatusMapper::GetReplicationTimeStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusNode.GetText()).c_str()).c_str()); + m_statusHasBeenSet = true; + } + XmlNode timeNode = resultNode.FirstChild("Time"); + if(!timeNode.IsNull()) + { + m_time = timeNode; + m_timeHasBeenSet = true; + } + } + + return *this; +} + +void ReplicationTime::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_statusHasBeenSet) + { + XmlNode statusNode = parentNode.CreateChildElement("Status"); + statusNode.SetText(ReplicationTimeStatusMapper::GetNameForReplicationTimeStatus(m_status)); + } + + if(m_timeHasBeenSet) + { + XmlNode timeNode = parentNode.CreateChildElement("Time"); + m_time.AddToNode(timeNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationTimeStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationTimeStatus.cpp new file mode 100644 index 0000000000..cbae603edc --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationTimeStatus.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ReplicationTimeStatus.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ReplicationTimeStatusMapper + { + + static const int Enabled_HASH = HashingUtils::HashString("Enabled"); + static const int Disabled_HASH = HashingUtils::HashString("Disabled"); + + + ReplicationTimeStatus GetReplicationTimeStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Enabled_HASH) + { + return ReplicationTimeStatus::Enabled; + } + else if (hashCode == Disabled_HASH) + { + return ReplicationTimeStatus::Disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ReplicationTimeStatus>(hashCode); + } + + return ReplicationTimeStatus::NOT_SET; + } + + Aws::String GetNameForReplicationTimeStatus(ReplicationTimeStatus enumValue) + { + switch(enumValue) + { + case ReplicationTimeStatus::Enabled: + return "Enabled"; + case ReplicationTimeStatus::Disabled: + return "Disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ReplicationTimeStatusMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationTimeValue.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationTimeValue.cpp new file mode 100644 index 0000000000..6431ad60fa --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationTimeValue.cpp @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ReplicationTimeValue.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 +{ + +ReplicationTimeValue::ReplicationTimeValue() : + m_minutes(0), + m_minutesHasBeenSet(false) +{ +} + +ReplicationTimeValue::ReplicationTimeValue(const XmlNode& xmlNode) : + m_minutes(0), + m_minutesHasBeenSet(false) +{ + *this = xmlNode; +} + +ReplicationTimeValue& ReplicationTimeValue::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode minutesNode = resultNode.FirstChild("Minutes"); + if(!minutesNode.IsNull()) + { + m_minutes = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(minutesNode.GetText()).c_str()).c_str()); + m_minutesHasBeenSet = true; + } + } + + return *this; +} + +void ReplicationTimeValue::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_minutesHasBeenSet) + { + XmlNode minutesNode = parentNode.CreateChildElement("Minutes"); + ss << m_minutes; + minutesNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RequestCharged.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RequestCharged.cpp new file mode 100644 index 0000000000..50fb60397c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RequestCharged.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/RequestCharged.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace RequestChargedMapper + { + + static const int requester_HASH = HashingUtils::HashString("requester"); + + + RequestCharged GetRequestChargedForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == requester_HASH) + { + return RequestCharged::requester; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<RequestCharged>(hashCode); + } + + return RequestCharged::NOT_SET; + } + + Aws::String GetNameForRequestCharged(RequestCharged enumValue) + { + switch(enumValue) + { + case RequestCharged::requester: + return "requester"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace RequestChargedMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RequestPayer.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RequestPayer.cpp new file mode 100644 index 0000000000..5ed9ad7bf0 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RequestPayer.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace RequestPayerMapper + { + + static const int requester_HASH = HashingUtils::HashString("requester"); + + + RequestPayer GetRequestPayerForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == requester_HASH) + { + return RequestPayer::requester; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<RequestPayer>(hashCode); + } + + return RequestPayer::NOT_SET; + } + + Aws::String GetNameForRequestPayer(RequestPayer enumValue) + { + switch(enumValue) + { + case RequestPayer::requester: + return "requester"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace RequestPayerMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RequestPaymentConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RequestPaymentConfiguration.cpp new file mode 100644 index 0000000000..ccb0b759b7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RequestPaymentConfiguration.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/RequestPaymentConfiguration.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 +{ + +RequestPaymentConfiguration::RequestPaymentConfiguration() : + m_payer(Payer::NOT_SET), + m_payerHasBeenSet(false) +{ +} + +RequestPaymentConfiguration::RequestPaymentConfiguration(const XmlNode& xmlNode) : + m_payer(Payer::NOT_SET), + m_payerHasBeenSet(false) +{ + *this = xmlNode; +} + +RequestPaymentConfiguration& RequestPaymentConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode payerNode = resultNode.FirstChild("Payer"); + if(!payerNode.IsNull()) + { + m_payer = PayerMapper::GetPayerForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(payerNode.GetText()).c_str()).c_str()); + m_payerHasBeenSet = true; + } + } + + return *this; +} + +void RequestPaymentConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_payerHasBeenSet) + { + XmlNode payerNode = parentNode.CreateChildElement("Payer"); + payerNode.SetText(PayerMapper::GetNameForPayer(m_payer)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RequestProgress.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RequestProgress.cpp new file mode 100644 index 0000000000..14773c2a4c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RequestProgress.cpp @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/RequestProgress.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 +{ + +RequestProgress::RequestProgress() : + m_enabled(false), + m_enabledHasBeenSet(false) +{ +} + +RequestProgress::RequestProgress(const XmlNode& xmlNode) : + m_enabled(false), + m_enabledHasBeenSet(false) +{ + *this = xmlNode; +} + +RequestProgress& RequestProgress::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode enabledNode = resultNode.FirstChild("Enabled"); + if(!enabledNode.IsNull()) + { + m_enabled = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(enabledNode.GetText()).c_str()).c_str()); + m_enabledHasBeenSet = true; + } + } + + return *this; +} + +void RequestProgress::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_enabledHasBeenSet) + { + XmlNode enabledNode = parentNode.CreateChildElement("Enabled"); + ss << std::boolalpha << m_enabled; + enabledNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RestoreObjectRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RestoreObjectRequest.cpp new file mode 100644 index 0000000000..a755fc7828 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RestoreObjectRequest.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/RestoreObjectRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +RestoreObjectRequest::RestoreObjectRequest() : + m_bucketHasBeenSet(false), + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_restoreRequestHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String RestoreObjectRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("RestoreRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + m_restoreRequest.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + +void RestoreObjectRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_versionIdHasBeenSet) + { + ss << m_versionId; + uri.AddQueryStringParameter("versionId", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection RestoreObjectRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RestoreObjectResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RestoreObjectResult.cpp new file mode 100644 index 0000000000..bae21fb8a2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RestoreObjectResult.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/RestoreObjectResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +RestoreObjectResult::RestoreObjectResult() : + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +RestoreObjectResult::RestoreObjectResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +RestoreObjectResult& RestoreObjectResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + const auto& restoreOutputPathIter = headers.find("x-amz-restore-output-path"); + if(restoreOutputPathIter != headers.end()) + { + m_restoreOutputPath = restoreOutputPathIter->second; + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RestoreRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RestoreRequest.cpp new file mode 100644 index 0000000000..367096aa61 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RestoreRequest.cpp @@ -0,0 +1,156 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/RestoreRequest.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 +{ + +RestoreRequest::RestoreRequest() : + m_days(0), + m_daysHasBeenSet(false), + m_glacierJobParametersHasBeenSet(false), + m_type(RestoreRequestType::NOT_SET), + m_typeHasBeenSet(false), + m_tier(Tier::NOT_SET), + m_tierHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_selectParametersHasBeenSet(false), + m_outputLocationHasBeenSet(false) +{ +} + +RestoreRequest::RestoreRequest(const XmlNode& xmlNode) : + m_days(0), + m_daysHasBeenSet(false), + m_glacierJobParametersHasBeenSet(false), + m_type(RestoreRequestType::NOT_SET), + m_typeHasBeenSet(false), + m_tier(Tier::NOT_SET), + m_tierHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_selectParametersHasBeenSet(false), + m_outputLocationHasBeenSet(false) +{ + *this = xmlNode; +} + +RestoreRequest& RestoreRequest::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode daysNode = resultNode.FirstChild("Days"); + if(!daysNode.IsNull()) + { + m_days = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(daysNode.GetText()).c_str()).c_str()); + m_daysHasBeenSet = true; + } + XmlNode glacierJobParametersNode = resultNode.FirstChild("GlacierJobParameters"); + if(!glacierJobParametersNode.IsNull()) + { + m_glacierJobParameters = glacierJobParametersNode; + m_glacierJobParametersHasBeenSet = true; + } + XmlNode typeNode = resultNode.FirstChild("Type"); + if(!typeNode.IsNull()) + { + m_type = RestoreRequestTypeMapper::GetRestoreRequestTypeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(typeNode.GetText()).c_str()).c_str()); + m_typeHasBeenSet = true; + } + XmlNode tierNode = resultNode.FirstChild("Tier"); + if(!tierNode.IsNull()) + { + m_tier = TierMapper::GetTierForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(tierNode.GetText()).c_str()).c_str()); + m_tierHasBeenSet = true; + } + XmlNode descriptionNode = resultNode.FirstChild("Description"); + if(!descriptionNode.IsNull()) + { + m_description = Aws::Utils::Xml::DecodeEscapedXmlText(descriptionNode.GetText()); + m_descriptionHasBeenSet = true; + } + XmlNode selectParametersNode = resultNode.FirstChild("SelectParameters"); + if(!selectParametersNode.IsNull()) + { + m_selectParameters = selectParametersNode; + m_selectParametersHasBeenSet = true; + } + XmlNode outputLocationNode = resultNode.FirstChild("OutputLocation"); + if(!outputLocationNode.IsNull()) + { + m_outputLocation = outputLocationNode; + m_outputLocationHasBeenSet = true; + } + } + + return *this; +} + +void RestoreRequest::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_daysHasBeenSet) + { + XmlNode daysNode = parentNode.CreateChildElement("Days"); + ss << m_days; + daysNode.SetText(ss.str()); + ss.str(""); + } + + if(m_glacierJobParametersHasBeenSet) + { + XmlNode glacierJobParametersNode = parentNode.CreateChildElement("GlacierJobParameters"); + m_glacierJobParameters.AddToNode(glacierJobParametersNode); + } + + if(m_typeHasBeenSet) + { + XmlNode typeNode = parentNode.CreateChildElement("Type"); + typeNode.SetText(RestoreRequestTypeMapper::GetNameForRestoreRequestType(m_type)); + } + + if(m_tierHasBeenSet) + { + XmlNode tierNode = parentNode.CreateChildElement("Tier"); + tierNode.SetText(TierMapper::GetNameForTier(m_tier)); + } + + if(m_descriptionHasBeenSet) + { + XmlNode descriptionNode = parentNode.CreateChildElement("Description"); + descriptionNode.SetText(m_description); + } + + if(m_selectParametersHasBeenSet) + { + XmlNode selectParametersNode = parentNode.CreateChildElement("SelectParameters"); + m_selectParameters.AddToNode(selectParametersNode); + } + + if(m_outputLocationHasBeenSet) + { + XmlNode outputLocationNode = parentNode.CreateChildElement("OutputLocation"); + m_outputLocation.AddToNode(outputLocationNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RestoreRequestType.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RestoreRequestType.cpp new file mode 100644 index 0000000000..00ee015230 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RestoreRequestType.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/RestoreRequestType.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace RestoreRequestTypeMapper + { + + static const int SELECT_HASH = HashingUtils::HashString("SELECT"); + + + RestoreRequestType GetRestoreRequestTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SELECT_HASH) + { + return RestoreRequestType::SELECT; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<RestoreRequestType>(hashCode); + } + + return RestoreRequestType::NOT_SET; + } + + Aws::String GetNameForRestoreRequestType(RestoreRequestType enumValue) + { + switch(enumValue) + { + case RestoreRequestType::SELECT: + return "SELECT"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace RestoreRequestTypeMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RoutingRule.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RoutingRule.cpp new file mode 100644 index 0000000000..513f6cc84d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RoutingRule.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/RoutingRule.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 +{ + +RoutingRule::RoutingRule() : + m_conditionHasBeenSet(false), + m_redirectHasBeenSet(false) +{ +} + +RoutingRule::RoutingRule(const XmlNode& xmlNode) : + m_conditionHasBeenSet(false), + m_redirectHasBeenSet(false) +{ + *this = xmlNode; +} + +RoutingRule& RoutingRule::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode conditionNode = resultNode.FirstChild("Condition"); + if(!conditionNode.IsNull()) + { + m_condition = conditionNode; + m_conditionHasBeenSet = true; + } + XmlNode redirectNode = resultNode.FirstChild("Redirect"); + if(!redirectNode.IsNull()) + { + m_redirect = redirectNode; + m_redirectHasBeenSet = true; + } + } + + return *this; +} + +void RoutingRule::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_conditionHasBeenSet) + { + XmlNode conditionNode = parentNode.CreateChildElement("Condition"); + m_condition.AddToNode(conditionNode); + } + + if(m_redirectHasBeenSet) + { + XmlNode redirectNode = parentNode.CreateChildElement("Redirect"); + m_redirect.AddToNode(redirectNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Rule.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Rule.cpp new file mode 100644 index 0000000000..00311551c4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Rule.cpp @@ -0,0 +1,164 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Rule.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 +{ + +Rule::Rule() : + m_expirationHasBeenSet(false), + m_iDHasBeenSet(false), + m_prefixHasBeenSet(false), + m_status(ExpirationStatus::NOT_SET), + m_statusHasBeenSet(false), + m_transitionHasBeenSet(false), + m_noncurrentVersionTransitionHasBeenSet(false), + m_noncurrentVersionExpirationHasBeenSet(false), + m_abortIncompleteMultipartUploadHasBeenSet(false) +{ +} + +Rule::Rule(const XmlNode& xmlNode) : + m_expirationHasBeenSet(false), + m_iDHasBeenSet(false), + m_prefixHasBeenSet(false), + m_status(ExpirationStatus::NOT_SET), + m_statusHasBeenSet(false), + m_transitionHasBeenSet(false), + m_noncurrentVersionTransitionHasBeenSet(false), + m_noncurrentVersionExpirationHasBeenSet(false), + m_abortIncompleteMultipartUploadHasBeenSet(false) +{ + *this = xmlNode; +} + +Rule& Rule::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 prefixNode = resultNode.FirstChild("Prefix"); + if(!prefixNode.IsNull()) + { + m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText()); + m_prefixHasBeenSet = 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 transitionNode = resultNode.FirstChild("Transition"); + if(!transitionNode.IsNull()) + { + m_transition = transitionNode; + m_transitionHasBeenSet = true; + } + XmlNode noncurrentVersionTransitionNode = resultNode.FirstChild("NoncurrentVersionTransition"); + if(!noncurrentVersionTransitionNode.IsNull()) + { + m_noncurrentVersionTransition = noncurrentVersionTransitionNode; + m_noncurrentVersionTransitionHasBeenSet = 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 Rule::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_prefixHasBeenSet) + { + XmlNode prefixNode = parentNode.CreateChildElement("Prefix"); + prefixNode.SetText(m_prefix); + } + + if(m_statusHasBeenSet) + { + XmlNode statusNode = parentNode.CreateChildElement("Status"); + statusNode.SetText(ExpirationStatusMapper::GetNameForExpirationStatus(m_status)); + } + + if(m_transitionHasBeenSet) + { + XmlNode transitionNode = parentNode.CreateChildElement("Transition"); + m_transition.AddToNode(transitionNode); + } + + if(m_noncurrentVersionTransitionHasBeenSet) + { + XmlNode noncurrentVersionTransitionNode = parentNode.CreateChildElement("NoncurrentVersionTransition"); + m_noncurrentVersionTransition.AddToNode(noncurrentVersionTransitionNode); + } + + 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 diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/S3KeyFilter.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/S3KeyFilter.cpp new file mode 100644 index 0000000000..c3c1893237 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/S3KeyFilter.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/S3KeyFilter.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 +{ + +S3KeyFilter::S3KeyFilter() : + m_filterRulesHasBeenSet(false) +{ +} + +S3KeyFilter::S3KeyFilter(const XmlNode& xmlNode) : + m_filterRulesHasBeenSet(false) +{ + *this = xmlNode; +} + +S3KeyFilter& S3KeyFilter::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode filterRulesNode = resultNode.FirstChild("FilterRule"); + if(!filterRulesNode.IsNull()) + { + XmlNode filterRuleMember = filterRulesNode; + while(!filterRuleMember.IsNull()) + { + m_filterRules.push_back(filterRuleMember); + filterRuleMember = filterRuleMember.NextNode("FilterRule"); + } + + m_filterRulesHasBeenSet = true; + } + } + + return *this; +} + +void S3KeyFilter::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_filterRulesHasBeenSet) + { + for(const auto& item : m_filterRules) + { + XmlNode filterRulesNode = parentNode.CreateChildElement("FilterRule"); + item.AddToNode(filterRulesNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws 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 diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SSEKMS.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SSEKMS.cpp new file mode 100644 index 0000000000..5f2b5ea544 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SSEKMS.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/SSEKMS.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 +{ + +SSEKMS::SSEKMS() : + m_keyIdHasBeenSet(false) +{ +} + +SSEKMS::SSEKMS(const XmlNode& xmlNode) : + m_keyIdHasBeenSet(false) +{ + *this = xmlNode; +} + +SSEKMS& SSEKMS::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode keyIdNode = resultNode.FirstChild("KeyId"); + if(!keyIdNode.IsNull()) + { + m_keyId = Aws::Utils::Xml::DecodeEscapedXmlText(keyIdNode.GetText()); + m_keyIdHasBeenSet = true; + } + } + + return *this; +} + +void SSEKMS::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_keyIdHasBeenSet) + { + XmlNode keyIdNode = parentNode.CreateChildElement("KeyId"); + keyIdNode.SetText(m_keyId); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SSES3.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SSES3.cpp new file mode 100644 index 0000000000..c76e55718b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SSES3.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/SSES3.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 +{ + +SSES3::SSES3() +{ +} + +SSES3::SSES3(const XmlNode& xmlNode) +{ + *this = xmlNode; +} + +SSES3& SSES3::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + } + + return *this; +} + +void SSES3::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + AWS_UNREFERENCED_PARAM(parentNode); +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ScanRange.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ScanRange.cpp new file mode 100644 index 0000000000..c52aaa02c2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ScanRange.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ScanRange.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 +{ + +ScanRange::ScanRange() : + m_start(0), + m_startHasBeenSet(false), + m_end(0), + m_endHasBeenSet(false) +{ +} + +ScanRange::ScanRange(const XmlNode& xmlNode) : + m_start(0), + m_startHasBeenSet(false), + m_end(0), + m_endHasBeenSet(false) +{ + *this = xmlNode; +} + +ScanRange& ScanRange::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode startNode = resultNode.FirstChild("Start"); + if(!startNode.IsNull()) + { + m_start = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(startNode.GetText()).c_str()).c_str()); + m_startHasBeenSet = true; + } + XmlNode endNode = resultNode.FirstChild("End"); + if(!endNode.IsNull()) + { + m_end = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(endNode.GetText()).c_str()).c_str()); + m_endHasBeenSet = true; + } + } + + return *this; +} + +void ScanRange::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_startHasBeenSet) + { + XmlNode startNode = parentNode.CreateChildElement("Start"); + ss << m_start; + startNode.SetText(ss.str()); + ss.str(""); + } + + if(m_endHasBeenSet) + { + XmlNode endNode = parentNode.CreateChildElement("End"); + ss << m_end; + endNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectObjectContentHandler.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectObjectContentHandler.cpp new file mode 100644 index 0000000000..a4e8756d27 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectObjectContentHandler.cpp @@ -0,0 +1,271 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/SelectObjectContentHandler.h> +#include <aws/s3/S3ErrorMarshaller.h> +#include <aws/core/client/CoreErrors.h> +#include <aws/core/utils/event/EventStreamErrors.h> +#include <aws/core/utils/logging/LogMacros.h> +#include <aws/core/utils/xml/XmlSerializer.h> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Event; +using namespace Aws::Utils::Xml; + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + using namespace Aws::Client; + + static const char SELECTOBJECTCONTENT_HANDLER_CLASS_TAG[] = "SelectObjectContentHandler"; + + SelectObjectContentHandler::SelectObjectContentHandler() : EventStreamHandler() + { + m_onRecordsEvent = [&](const RecordsEvent&) + { + AWS_LOGSTREAM_TRACE(SELECTOBJECTCONTENT_HANDLER_CLASS_TAG, "RecordsEvent received."); + }; + + m_onStatsEvent = [&](const StatsEvent&) + { + AWS_LOGSTREAM_TRACE(SELECTOBJECTCONTENT_HANDLER_CLASS_TAG, "StatsEvent received."); + }; + + m_onProgressEvent = [&](const ProgressEvent&) + { + AWS_LOGSTREAM_TRACE(SELECTOBJECTCONTENT_HANDLER_CLASS_TAG, "ProgressEvent received."); + }; + + m_onContinuationEvent = [&]() + { + AWS_LOGSTREAM_TRACE(SELECTOBJECTCONTENT_HANDLER_CLASS_TAG, "ContinuationEvent received."); + }; + + m_onEndEvent = [&]() + { + AWS_LOGSTREAM_TRACE(SELECTOBJECTCONTENT_HANDLER_CLASS_TAG, "EndEvent received."); + }; + + m_onError = [&](const AWSError<S3Errors>& error) + { + AWS_LOGSTREAM_TRACE(SELECTOBJECTCONTENT_HANDLER_CLASS_TAG, "S3 Errors received, " << error); + }; + } + + void SelectObjectContentHandler::OnEvent() + { + // Handler internal error during event stream decoding. + if (!*this) + { + AWSError<CoreErrors> error = EventStreamErrorsMapper::GetAwsErrorForEventStreamError(GetInternalError()); + error.SetMessage(GetEventPayloadAsString()); + m_onError(AWSError<S3Errors>(error)); + return; + } + + const auto& headers = GetEventHeaders(); + auto messageTypeHeaderIter = headers.find(MESSAGE_TYPE_HEADER); + if (messageTypeHeaderIter == headers.end()) + { + AWS_LOGSTREAM_WARN(SELECTOBJECTCONTENT_HANDLER_CLASS_TAG, "Header: " << MESSAGE_TYPE_HEADER << " not found in the message."); + return; + } + + switch (Aws::Utils::Event::Message::GetMessageTypeForName(messageTypeHeaderIter->second.GetEventHeaderValueAsString())) + { + case Aws::Utils::Event::Message::MessageType::EVENT: + HandleEventInMessage(); + break; + case Aws::Utils::Event::Message::MessageType::REQUEST_LEVEL_ERROR: + case Aws::Utils::Event::Message::MessageType::REQUEST_LEVEL_EXCEPTION: + { + HandleErrorInMessage(); + break; + } + default: + AWS_LOGSTREAM_WARN(SELECTOBJECTCONTENT_HANDLER_CLASS_TAG, + "Unexpected message type: " << messageTypeHeaderIter->second.GetEventHeaderValueAsString()); + break; + } + } + + void SelectObjectContentHandler::HandleEventInMessage() + { + const auto& headers = GetEventHeaders(); + auto eventTypeHeaderIter = headers.find(EVENT_TYPE_HEADER); + if (eventTypeHeaderIter == headers.end()) + { + AWS_LOGSTREAM_WARN(SELECTOBJECTCONTENT_HANDLER_CLASS_TAG, "Header: " << EVENT_TYPE_HEADER << " not found in the message."); + return; + } + switch (SelectObjectContentEventMapper::GetSelectObjectContentEventTypeForName(eventTypeHeaderIter->second.GetEventHeaderValueAsString())) + { + case SelectObjectContentEventType::RECORDS: + { + RecordsEvent event(GetEventPayloadWithOwnership()); + m_onRecordsEvent(event); + break; + } + case SelectObjectContentEventType::STATS: + { + auto xmlDoc = XmlDocument::CreateFromXmlString(GetEventPayloadAsString()); + if (!xmlDoc.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN(SELECTOBJECTCONTENT_HANDLER_CLASS_TAG, "Unable to generate a proper StatsEvent object from the response in XML format."); + break; + } + + m_onStatsEvent(StatsEvent(xmlDoc.GetRootElement())); + break; + } + case SelectObjectContentEventType::PROGRESS: + { + auto xmlDoc = XmlDocument::CreateFromXmlString(GetEventPayloadAsString()); + if (!xmlDoc.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN(SELECTOBJECTCONTENT_HANDLER_CLASS_TAG, "Unable to generate a proper ProgressEvent object from the response in XML format."); + break; + } + + m_onProgressEvent(ProgressEvent(xmlDoc.GetRootElement())); + break; + } + case SelectObjectContentEventType::CONT: + { + m_onContinuationEvent(); + break; + } + case SelectObjectContentEventType::END: + { + m_onEndEvent(); + break; + } + default: + AWS_LOGSTREAM_WARN(SELECTOBJECTCONTENT_HANDLER_CLASS_TAG, + "Unexpected event type: " << eventTypeHeaderIter->second.GetEventHeaderValueAsString()); + break; + } + } + + void SelectObjectContentHandler::HandleErrorInMessage() + { + const auto& headers = GetEventHeaders(); + Aws::String errorCode; + Aws::String errorMessage; + auto errorHeaderIter = headers.find(ERROR_CODE_HEADER); + if (errorHeaderIter == headers.end()) + { + errorHeaderIter = headers.find(EXCEPTION_TYPE_HEADER); + if (errorHeaderIter == headers.end()) + { + AWS_LOGSTREAM_WARN(SELECTOBJECTCONTENT_HANDLER_CLASS_TAG, + "Error type was not found in the event message."); + return; + } + } + + errorCode = errorHeaderIter->second.GetEventHeaderValueAsString(); + errorHeaderIter = headers.find(ERROR_MESSAGE_HEADER); + if (errorHeaderIter == headers.end()) + { + errorHeaderIter = headers.find(EXCEPTION_TYPE_HEADER); + if (errorHeaderIter == headers.end()) + { + AWS_LOGSTREAM_WARN(SELECTOBJECTCONTENT_HANDLER_CLASS_TAG, + "Error description was not found in the event message."); + return; + } + } + errorMessage = errorHeaderIter->second.GetEventHeaderValueAsString(); + MarshallError(errorCode, errorMessage); + } + + void SelectObjectContentHandler::MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage) + { + S3ErrorMarshaller errorMarshaller; + AWSError<CoreErrors> error; + + if (errorCode.empty()) + { + error = AWSError<CoreErrors>(CoreErrors::UNKNOWN, "", errorMessage, false); + } + else + { + error = errorMarshaller.FindErrorByName(errorMessage.c_str()); + if (error.GetErrorType() != CoreErrors::UNKNOWN) + { + AWS_LOGSTREAM_WARN(SELECTOBJECTCONTENT_HANDLER_CLASS_TAG, "Encountered AWSError '" << errorCode.c_str() << "': " << errorMessage.c_str()); + error.SetExceptionName(errorCode); + error.SetMessage(errorMessage); + } + else + { + AWS_LOGSTREAM_WARN(SELECTOBJECTCONTENT_HANDLER_CLASS_TAG, "Encountered Unknown AWSError '" << errorCode.c_str() << "': " << errorMessage.c_str()); + error = AWSError<CoreErrors>(CoreErrors::UNKNOWN, errorCode, "Unable to parse ExceptionName: " + errorCode + " Message: " + errorMessage, false); + } + } + + m_onError(AWSError<S3Errors>(error)); + } + +namespace SelectObjectContentEventMapper +{ + static const int RECORDS_HASH = Aws::Utils::HashingUtils::HashString("Records"); + static const int STATS_HASH = Aws::Utils::HashingUtils::HashString("Stats"); + static const int PROGRESS_HASH = Aws::Utils::HashingUtils::HashString("Progress"); + static const int CONT_HASH = Aws::Utils::HashingUtils::HashString("Cont"); + static const int END_HASH = Aws::Utils::HashingUtils::HashString("End"); + + SelectObjectContentEventType GetSelectObjectContentEventTypeForName(const Aws::String& name) + { + int hashCode = Aws::Utils::HashingUtils::HashString(name.c_str()); + if (hashCode == RECORDS_HASH) + { + return SelectObjectContentEventType::RECORDS; + } + else if (hashCode == STATS_HASH) + { + return SelectObjectContentEventType::STATS; + } + else if (hashCode == PROGRESS_HASH) + { + return SelectObjectContentEventType::PROGRESS; + } + else if (hashCode == CONT_HASH) + { + return SelectObjectContentEventType::CONT; + } + else if (hashCode == END_HASH) + { + return SelectObjectContentEventType::END; + } + return SelectObjectContentEventType::UNKNOWN; + } + + Aws::String GetNameForSelectObjectContentEventType(SelectObjectContentEventType value) + { + switch (value) + { + case SelectObjectContentEventType::RECORDS: + return "Records"; + case SelectObjectContentEventType::STATS: + return "Stats"; + case SelectObjectContentEventType::PROGRESS: + return "Progress"; + case SelectObjectContentEventType::CONT: + return "Cont"; + case SelectObjectContentEventType::END: + return "End"; + default: + return "Unknown"; + } + } +} // namespace SelectObjectContentEventMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectObjectContentRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectObjectContentRequest.cpp new file mode 100644 index 0000000000..f3443311dd --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectObjectContentRequest.cpp @@ -0,0 +1,140 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/SelectObjectContentRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +SelectObjectContentRequest::SelectObjectContentRequest() : + m_bucketHasBeenSet(false), + m_keyHasBeenSet(false), + m_sSECustomerAlgorithmHasBeenSet(false), + m_sSECustomerKeyHasBeenSet(false), + m_sSECustomerKeyMD5HasBeenSet(false), + m_expressionHasBeenSet(false), + m_expressionType(ExpressionType::NOT_SET), + m_expressionTypeHasBeenSet(false), + m_requestProgressHasBeenSet(false), + m_inputSerializationHasBeenSet(false), + m_outputSerializationHasBeenSet(false), + m_scanRangeHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false), + m_decoder(Aws::Utils::Event::EventStreamDecoder(&m_handler)) +{ +} + +Aws::String SelectObjectContentRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("SelectObjectContentRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + + Aws::StringStream ss; + if(m_expressionHasBeenSet) + { + XmlNode expressionNode = parentNode.CreateChildElement("Expression"); + expressionNode.SetText(m_expression); + } + + if(m_expressionTypeHasBeenSet) + { + XmlNode expressionTypeNode = parentNode.CreateChildElement("ExpressionType"); + expressionTypeNode.SetText(ExpressionTypeMapper::GetNameForExpressionType(m_expressionType)); + } + + if(m_requestProgressHasBeenSet) + { + XmlNode requestProgressNode = parentNode.CreateChildElement("RequestProgress"); + m_requestProgress.AddToNode(requestProgressNode); + } + + if(m_inputSerializationHasBeenSet) + { + XmlNode inputSerializationNode = parentNode.CreateChildElement("InputSerialization"); + m_inputSerialization.AddToNode(inputSerializationNode); + } + + if(m_outputSerializationHasBeenSet) + { + XmlNode outputSerializationNode = parentNode.CreateChildElement("OutputSerialization"); + m_outputSerialization.AddToNode(outputSerializationNode); + } + + if(m_scanRangeHasBeenSet) + { + XmlNode scanRangeNode = parentNode.CreateChildElement("ScanRange"); + m_scanRange.AddToNode(scanRangeNode); + } + + return payloadDoc.ConvertToString(); +} + +void SelectObjectContentRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection SelectObjectContentRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_sSECustomerAlgorithmHasBeenSet) + { + ss << m_sSECustomerAlgorithm; + headers.emplace("x-amz-server-side-encryption-customer-algorithm", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyHasBeenSet) + { + ss << m_sSECustomerKey; + headers.emplace("x-amz-server-side-encryption-customer-key", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyMD5HasBeenSet) + { + ss << m_sSECustomerKeyMD5; + headers.emplace("x-amz-server-side-encryption-customer-key-md5", ss.str()); + ss.str(""); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectParameters.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectParameters.cpp new file mode 100644 index 0000000000..f7891a00d7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectParameters.cpp @@ -0,0 +1,108 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/SelectParameters.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 +{ + +SelectParameters::SelectParameters() : + m_inputSerializationHasBeenSet(false), + m_expressionType(ExpressionType::NOT_SET), + m_expressionTypeHasBeenSet(false), + m_expressionHasBeenSet(false), + m_outputSerializationHasBeenSet(false) +{ +} + +SelectParameters::SelectParameters(const XmlNode& xmlNode) : + m_inputSerializationHasBeenSet(false), + m_expressionType(ExpressionType::NOT_SET), + m_expressionTypeHasBeenSet(false), + m_expressionHasBeenSet(false), + m_outputSerializationHasBeenSet(false) +{ + *this = xmlNode; +} + +SelectParameters& SelectParameters::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode inputSerializationNode = resultNode.FirstChild("InputSerialization"); + if(!inputSerializationNode.IsNull()) + { + m_inputSerialization = inputSerializationNode; + m_inputSerializationHasBeenSet = true; + } + XmlNode expressionTypeNode = resultNode.FirstChild("ExpressionType"); + if(!expressionTypeNode.IsNull()) + { + m_expressionType = ExpressionTypeMapper::GetExpressionTypeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(expressionTypeNode.GetText()).c_str()).c_str()); + m_expressionTypeHasBeenSet = true; + } + XmlNode expressionNode = resultNode.FirstChild("Expression"); + if(!expressionNode.IsNull()) + { + m_expression = Aws::Utils::Xml::DecodeEscapedXmlText(expressionNode.GetText()); + m_expressionHasBeenSet = true; + } + XmlNode outputSerializationNode = resultNode.FirstChild("OutputSerialization"); + if(!outputSerializationNode.IsNull()) + { + m_outputSerialization = outputSerializationNode; + m_outputSerializationHasBeenSet = true; + } + } + + return *this; +} + +void SelectParameters::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_inputSerializationHasBeenSet) + { + XmlNode inputSerializationNode = parentNode.CreateChildElement("InputSerialization"); + m_inputSerialization.AddToNode(inputSerializationNode); + } + + if(m_expressionTypeHasBeenSet) + { + XmlNode expressionTypeNode = parentNode.CreateChildElement("ExpressionType"); + expressionTypeNode.SetText(ExpressionTypeMapper::GetNameForExpressionType(m_expressionType)); + } + + if(m_expressionHasBeenSet) + { + XmlNode expressionNode = parentNode.CreateChildElement("Expression"); + expressionNode.SetText(m_expression); + } + + if(m_outputSerializationHasBeenSet) + { + XmlNode outputSerializationNode = parentNode.CreateChildElement("OutputSerialization"); + m_outputSerialization.AddToNode(outputSerializationNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ServerSideEncryption.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ServerSideEncryption.cpp new file mode 100644 index 0000000000..08474a6aee --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ServerSideEncryption.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ServerSideEncryption.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ServerSideEncryptionMapper + { + + static const int AES256_HASH = HashingUtils::HashString("AES256"); + static const int aws_kms_HASH = HashingUtils::HashString("aws:kms"); + + + ServerSideEncryption GetServerSideEncryptionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AES256_HASH) + { + return ServerSideEncryption::AES256; + } + else if (hashCode == aws_kms_HASH) + { + return ServerSideEncryption::aws_kms; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ServerSideEncryption>(hashCode); + } + + return ServerSideEncryption::NOT_SET; + } + + Aws::String GetNameForServerSideEncryption(ServerSideEncryption enumValue) + { + switch(enumValue) + { + case ServerSideEncryption::AES256: + return "AES256"; + case ServerSideEncryption::aws_kms: + return "aws:kms"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ServerSideEncryptionMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ServerSideEncryptionByDefault.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ServerSideEncryptionByDefault.cpp new file mode 100644 index 0000000000..aca556a65d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ServerSideEncryptionByDefault.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ServerSideEncryptionByDefault.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 +{ + +ServerSideEncryptionByDefault::ServerSideEncryptionByDefault() : + m_sSEAlgorithm(ServerSideEncryption::NOT_SET), + m_sSEAlgorithmHasBeenSet(false), + m_kMSMasterKeyIDHasBeenSet(false) +{ +} + +ServerSideEncryptionByDefault::ServerSideEncryptionByDefault(const XmlNode& xmlNode) : + m_sSEAlgorithm(ServerSideEncryption::NOT_SET), + m_sSEAlgorithmHasBeenSet(false), + m_kMSMasterKeyIDHasBeenSet(false) +{ + *this = xmlNode; +} + +ServerSideEncryptionByDefault& ServerSideEncryptionByDefault::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode sSEAlgorithmNode = resultNode.FirstChild("SSEAlgorithm"); + if(!sSEAlgorithmNode.IsNull()) + { + m_sSEAlgorithm = ServerSideEncryptionMapper::GetServerSideEncryptionForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(sSEAlgorithmNode.GetText()).c_str()).c_str()); + m_sSEAlgorithmHasBeenSet = true; + } + XmlNode kMSMasterKeyIDNode = resultNode.FirstChild("KMSMasterKeyID"); + if(!kMSMasterKeyIDNode.IsNull()) + { + m_kMSMasterKeyID = Aws::Utils::Xml::DecodeEscapedXmlText(kMSMasterKeyIDNode.GetText()); + m_kMSMasterKeyIDHasBeenSet = true; + } + } + + return *this; +} + +void ServerSideEncryptionByDefault::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_sSEAlgorithmHasBeenSet) + { + XmlNode sSEAlgorithmNode = parentNode.CreateChildElement("SSEAlgorithm"); + sSEAlgorithmNode.SetText(ServerSideEncryptionMapper::GetNameForServerSideEncryption(m_sSEAlgorithm)); + } + + if(m_kMSMasterKeyIDHasBeenSet) + { + XmlNode kMSMasterKeyIDNode = parentNode.CreateChildElement("KMSMasterKeyID"); + kMSMasterKeyIDNode.SetText(m_kMSMasterKeyID); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ServerSideEncryptionConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ServerSideEncryptionConfiguration.cpp new file mode 100644 index 0000000000..eebbc32acc --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ServerSideEncryptionConfiguration.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ServerSideEncryptionConfiguration.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 +{ + +ServerSideEncryptionConfiguration::ServerSideEncryptionConfiguration() : + m_rulesHasBeenSet(false) +{ +} + +ServerSideEncryptionConfiguration::ServerSideEncryptionConfiguration(const XmlNode& xmlNode) : + m_rulesHasBeenSet(false) +{ + *this = xmlNode; +} + +ServerSideEncryptionConfiguration& ServerSideEncryptionConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode rulesNode = resultNode.FirstChild("Rule"); + if(!rulesNode.IsNull()) + { + XmlNode ruleMember = rulesNode; + while(!ruleMember.IsNull()) + { + m_rules.push_back(ruleMember); + ruleMember = ruleMember.NextNode("Rule"); + } + + m_rulesHasBeenSet = true; + } + } + + return *this; +} + +void ServerSideEncryptionConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_rulesHasBeenSet) + { + for(const auto& item : m_rules) + { + XmlNode rulesNode = parentNode.CreateChildElement("Rule"); + item.AddToNode(rulesNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ServerSideEncryptionRule.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ServerSideEncryptionRule.cpp new file mode 100644 index 0000000000..6c14b66989 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ServerSideEncryptionRule.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ServerSideEncryptionRule.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 +{ + +ServerSideEncryptionRule::ServerSideEncryptionRule() : + m_applyServerSideEncryptionByDefaultHasBeenSet(false), + m_bucketKeyEnabled(false), + m_bucketKeyEnabledHasBeenSet(false) +{ +} + +ServerSideEncryptionRule::ServerSideEncryptionRule(const XmlNode& xmlNode) : + m_applyServerSideEncryptionByDefaultHasBeenSet(false), + m_bucketKeyEnabled(false), + m_bucketKeyEnabledHasBeenSet(false) +{ + *this = xmlNode; +} + +ServerSideEncryptionRule& ServerSideEncryptionRule::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode applyServerSideEncryptionByDefaultNode = resultNode.FirstChild("ApplyServerSideEncryptionByDefault"); + if(!applyServerSideEncryptionByDefaultNode.IsNull()) + { + m_applyServerSideEncryptionByDefault = applyServerSideEncryptionByDefaultNode; + m_applyServerSideEncryptionByDefaultHasBeenSet = true; + } + XmlNode bucketKeyEnabledNode = resultNode.FirstChild("BucketKeyEnabled"); + if(!bucketKeyEnabledNode.IsNull()) + { + m_bucketKeyEnabled = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(bucketKeyEnabledNode.GetText()).c_str()).c_str()); + m_bucketKeyEnabledHasBeenSet = true; + } + } + + return *this; +} + +void ServerSideEncryptionRule::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_applyServerSideEncryptionByDefaultHasBeenSet) + { + XmlNode applyServerSideEncryptionByDefaultNode = parentNode.CreateChildElement("ApplyServerSideEncryptionByDefault"); + m_applyServerSideEncryptionByDefault.AddToNode(applyServerSideEncryptionByDefaultNode); + } + + if(m_bucketKeyEnabledHasBeenSet) + { + XmlNode bucketKeyEnabledNode = parentNode.CreateChildElement("BucketKeyEnabled"); + ss << std::boolalpha << m_bucketKeyEnabled; + bucketKeyEnabledNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SourceSelectionCriteria.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SourceSelectionCriteria.cpp new file mode 100644 index 0000000000..5f712101f5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SourceSelectionCriteria.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/SourceSelectionCriteria.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 +{ + +SourceSelectionCriteria::SourceSelectionCriteria() : + m_sseKmsEncryptedObjectsHasBeenSet(false), + m_replicaModificationsHasBeenSet(false) +{ +} + +SourceSelectionCriteria::SourceSelectionCriteria(const XmlNode& xmlNode) : + m_sseKmsEncryptedObjectsHasBeenSet(false), + m_replicaModificationsHasBeenSet(false) +{ + *this = xmlNode; +} + +SourceSelectionCriteria& SourceSelectionCriteria::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode sseKmsEncryptedObjectsNode = resultNode.FirstChild("SseKmsEncryptedObjects"); + if(!sseKmsEncryptedObjectsNode.IsNull()) + { + m_sseKmsEncryptedObjects = sseKmsEncryptedObjectsNode; + m_sseKmsEncryptedObjectsHasBeenSet = true; + } + XmlNode replicaModificationsNode = resultNode.FirstChild("ReplicaModifications"); + if(!replicaModificationsNode.IsNull()) + { + m_replicaModifications = replicaModificationsNode; + m_replicaModificationsHasBeenSet = true; + } + } + + return *this; +} + +void SourceSelectionCriteria::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_sseKmsEncryptedObjectsHasBeenSet) + { + XmlNode sseKmsEncryptedObjectsNode = parentNode.CreateChildElement("SseKmsEncryptedObjects"); + m_sseKmsEncryptedObjects.AddToNode(sseKmsEncryptedObjectsNode); + } + + if(m_replicaModificationsHasBeenSet) + { + XmlNode replicaModificationsNode = parentNode.CreateChildElement("ReplicaModifications"); + m_replicaModifications.AddToNode(replicaModificationsNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SseKmsEncryptedObjects.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SseKmsEncryptedObjects.cpp new file mode 100644 index 0000000000..94e7e9091d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SseKmsEncryptedObjects.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/SseKmsEncryptedObjects.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 +{ + +SseKmsEncryptedObjects::SseKmsEncryptedObjects() : + m_status(SseKmsEncryptedObjectsStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +SseKmsEncryptedObjects::SseKmsEncryptedObjects(const XmlNode& xmlNode) : + m_status(SseKmsEncryptedObjectsStatus::NOT_SET), + m_statusHasBeenSet(false) +{ + *this = xmlNode; +} + +SseKmsEncryptedObjects& SseKmsEncryptedObjects::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode statusNode = resultNode.FirstChild("Status"); + if(!statusNode.IsNull()) + { + m_status = SseKmsEncryptedObjectsStatusMapper::GetSseKmsEncryptedObjectsStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusNode.GetText()).c_str()).c_str()); + m_statusHasBeenSet = true; + } + } + + return *this; +} + +void SseKmsEncryptedObjects::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_statusHasBeenSet) + { + XmlNode statusNode = parentNode.CreateChildElement("Status"); + statusNode.SetText(SseKmsEncryptedObjectsStatusMapper::GetNameForSseKmsEncryptedObjectsStatus(m_status)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SseKmsEncryptedObjectsStatus.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SseKmsEncryptedObjectsStatus.cpp new file mode 100644 index 0000000000..010a94fda5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SseKmsEncryptedObjectsStatus.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/SseKmsEncryptedObjectsStatus.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace SseKmsEncryptedObjectsStatusMapper + { + + static const int Enabled_HASH = HashingUtils::HashString("Enabled"); + static const int Disabled_HASH = HashingUtils::HashString("Disabled"); + + + SseKmsEncryptedObjectsStatus GetSseKmsEncryptedObjectsStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Enabled_HASH) + { + return SseKmsEncryptedObjectsStatus::Enabled; + } + else if (hashCode == Disabled_HASH) + { + return SseKmsEncryptedObjectsStatus::Disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<SseKmsEncryptedObjectsStatus>(hashCode); + } + + return SseKmsEncryptedObjectsStatus::NOT_SET; + } + + Aws::String GetNameForSseKmsEncryptedObjectsStatus(SseKmsEncryptedObjectsStatus enumValue) + { + switch(enumValue) + { + case SseKmsEncryptedObjectsStatus::Enabled: + return "Enabled"; + case SseKmsEncryptedObjectsStatus::Disabled: + return "Disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace SseKmsEncryptedObjectsStatusMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Stats.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Stats.cpp new file mode 100644 index 0000000000..5179103ef0 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Stats.cpp @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Stats.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 +{ + +Stats::Stats() : + m_bytesScanned(0), + m_bytesScannedHasBeenSet(false), + m_bytesProcessed(0), + m_bytesProcessedHasBeenSet(false), + m_bytesReturned(0), + m_bytesReturnedHasBeenSet(false) +{ +} + +Stats::Stats(const XmlNode& xmlNode) : + m_bytesScanned(0), + m_bytesScannedHasBeenSet(false), + m_bytesProcessed(0), + m_bytesProcessedHasBeenSet(false), + m_bytesReturned(0), + m_bytesReturnedHasBeenSet(false) +{ + *this = xmlNode; +} + +Stats& Stats::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode bytesScannedNode = resultNode.FirstChild("BytesScanned"); + if(!bytesScannedNode.IsNull()) + { + m_bytesScanned = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(bytesScannedNode.GetText()).c_str()).c_str()); + m_bytesScannedHasBeenSet = true; + } + XmlNode bytesProcessedNode = resultNode.FirstChild("BytesProcessed"); + if(!bytesProcessedNode.IsNull()) + { + m_bytesProcessed = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(bytesProcessedNode.GetText()).c_str()).c_str()); + m_bytesProcessedHasBeenSet = true; + } + XmlNode bytesReturnedNode = resultNode.FirstChild("BytesReturned"); + if(!bytesReturnedNode.IsNull()) + { + m_bytesReturned = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(bytesReturnedNode.GetText()).c_str()).c_str()); + m_bytesReturnedHasBeenSet = true; + } + } + + return *this; +} + +void Stats::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_bytesScannedHasBeenSet) + { + XmlNode bytesScannedNode = parentNode.CreateChildElement("BytesScanned"); + ss << m_bytesScanned; + bytesScannedNode.SetText(ss.str()); + ss.str(""); + } + + if(m_bytesProcessedHasBeenSet) + { + XmlNode bytesProcessedNode = parentNode.CreateChildElement("BytesProcessed"); + ss << m_bytesProcessed; + bytesProcessedNode.SetText(ss.str()); + ss.str(""); + } + + if(m_bytesReturnedHasBeenSet) + { + XmlNode bytesReturnedNode = parentNode.CreateChildElement("BytesReturned"); + ss << m_bytesReturned; + bytesReturnedNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StatsEvent.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StatsEvent.cpp new file mode 100644 index 0000000000..7e04773139 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StatsEvent.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/StatsEvent.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 +{ + +StatsEvent::StatsEvent() : + m_detailsHasBeenSet(false) +{ +} + +StatsEvent::StatsEvent(const XmlNode& xmlNode) : + m_detailsHasBeenSet(false) +{ + *this = xmlNode; +} + +StatsEvent& StatsEvent::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode detailsNode = resultNode; + if(!detailsNode.IsNull()) + { + m_details = detailsNode; + m_detailsHasBeenSet = true; + } + } + + return *this; +} + +void StatsEvent::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_detailsHasBeenSet) + { + XmlNode detailsNode = parentNode.CreateChildElement("Details"); + m_details.AddToNode(detailsNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StorageClass.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StorageClass.cpp new file mode 100644 index 0000000000..0ab7edd5de --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StorageClass.cpp @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/StorageClass.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace StorageClassMapper + { + + static const int STANDARD_HASH = HashingUtils::HashString("STANDARD"); + static const int REDUCED_REDUNDANCY_HASH = HashingUtils::HashString("REDUCED_REDUNDANCY"); + static const int STANDARD_IA_HASH = HashingUtils::HashString("STANDARD_IA"); + static const int ONEZONE_IA_HASH = HashingUtils::HashString("ONEZONE_IA"); + static const int INTELLIGENT_TIERING_HASH = HashingUtils::HashString("INTELLIGENT_TIERING"); + static const int GLACIER_HASH = HashingUtils::HashString("GLACIER"); + static const int DEEP_ARCHIVE_HASH = HashingUtils::HashString("DEEP_ARCHIVE"); + static const int OUTPOSTS_HASH = HashingUtils::HashString("OUTPOSTS"); + + + StorageClass GetStorageClassForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == STANDARD_HASH) + { + return StorageClass::STANDARD; + } + else if (hashCode == REDUCED_REDUNDANCY_HASH) + { + return StorageClass::REDUCED_REDUNDANCY; + } + else if (hashCode == STANDARD_IA_HASH) + { + return StorageClass::STANDARD_IA; + } + else if (hashCode == ONEZONE_IA_HASH) + { + return StorageClass::ONEZONE_IA; + } + else if (hashCode == INTELLIGENT_TIERING_HASH) + { + return StorageClass::INTELLIGENT_TIERING; + } + else if (hashCode == GLACIER_HASH) + { + return StorageClass::GLACIER; + } + else if (hashCode == DEEP_ARCHIVE_HASH) + { + return StorageClass::DEEP_ARCHIVE; + } + else if (hashCode == OUTPOSTS_HASH) + { + return StorageClass::OUTPOSTS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<StorageClass>(hashCode); + } + + return StorageClass::NOT_SET; + } + + Aws::String GetNameForStorageClass(StorageClass enumValue) + { + switch(enumValue) + { + case StorageClass::STANDARD: + return "STANDARD"; + case StorageClass::REDUCED_REDUNDANCY: + return "REDUCED_REDUNDANCY"; + case StorageClass::STANDARD_IA: + return "STANDARD_IA"; + case StorageClass::ONEZONE_IA: + return "ONEZONE_IA"; + case StorageClass::INTELLIGENT_TIERING: + return "INTELLIGENT_TIERING"; + case StorageClass::GLACIER: + return "GLACIER"; + case StorageClass::DEEP_ARCHIVE: + return "DEEP_ARCHIVE"; + case StorageClass::OUTPOSTS: + return "OUTPOSTS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace StorageClassMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StorageClassAnalysis.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StorageClassAnalysis.cpp new file mode 100644 index 0000000000..ec25b2fac1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StorageClassAnalysis.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/StorageClassAnalysis.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 +{ + +StorageClassAnalysis::StorageClassAnalysis() : + m_dataExportHasBeenSet(false) +{ +} + +StorageClassAnalysis::StorageClassAnalysis(const XmlNode& xmlNode) : + m_dataExportHasBeenSet(false) +{ + *this = xmlNode; +} + +StorageClassAnalysis& StorageClassAnalysis::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode dataExportNode = resultNode.FirstChild("DataExport"); + if(!dataExportNode.IsNull()) + { + m_dataExport = dataExportNode; + m_dataExportHasBeenSet = true; + } + } + + return *this; +} + +void StorageClassAnalysis::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_dataExportHasBeenSet) + { + XmlNode dataExportNode = parentNode.CreateChildElement("DataExport"); + m_dataExport.AddToNode(dataExportNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StorageClassAnalysisDataExport.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StorageClassAnalysisDataExport.cpp new file mode 100644 index 0000000000..104703d2fb --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StorageClassAnalysisDataExport.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/StorageClassAnalysisDataExport.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 +{ + +StorageClassAnalysisDataExport::StorageClassAnalysisDataExport() : + m_outputSchemaVersion(StorageClassAnalysisSchemaVersion::NOT_SET), + m_outputSchemaVersionHasBeenSet(false), + m_destinationHasBeenSet(false) +{ +} + +StorageClassAnalysisDataExport::StorageClassAnalysisDataExport(const XmlNode& xmlNode) : + m_outputSchemaVersion(StorageClassAnalysisSchemaVersion::NOT_SET), + m_outputSchemaVersionHasBeenSet(false), + m_destinationHasBeenSet(false) +{ + *this = xmlNode; +} + +StorageClassAnalysisDataExport& StorageClassAnalysisDataExport::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode outputSchemaVersionNode = resultNode.FirstChild("OutputSchemaVersion"); + if(!outputSchemaVersionNode.IsNull()) + { + m_outputSchemaVersion = StorageClassAnalysisSchemaVersionMapper::GetStorageClassAnalysisSchemaVersionForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(outputSchemaVersionNode.GetText()).c_str()).c_str()); + m_outputSchemaVersionHasBeenSet = true; + } + XmlNode destinationNode = resultNode.FirstChild("Destination"); + if(!destinationNode.IsNull()) + { + m_destination = destinationNode; + m_destinationHasBeenSet = true; + } + } + + return *this; +} + +void StorageClassAnalysisDataExport::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_outputSchemaVersionHasBeenSet) + { + XmlNode outputSchemaVersionNode = parentNode.CreateChildElement("OutputSchemaVersion"); + outputSchemaVersionNode.SetText(StorageClassAnalysisSchemaVersionMapper::GetNameForStorageClassAnalysisSchemaVersion(m_outputSchemaVersion)); + } + + if(m_destinationHasBeenSet) + { + XmlNode destinationNode = parentNode.CreateChildElement("Destination"); + m_destination.AddToNode(destinationNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StorageClassAnalysisSchemaVersion.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StorageClassAnalysisSchemaVersion.cpp new file mode 100644 index 0000000000..766e3bfd12 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StorageClassAnalysisSchemaVersion.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/StorageClassAnalysisSchemaVersion.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace StorageClassAnalysisSchemaVersionMapper + { + + static const int V_1_HASH = HashingUtils::HashString("V_1"); + + + StorageClassAnalysisSchemaVersion GetStorageClassAnalysisSchemaVersionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == V_1_HASH) + { + return StorageClassAnalysisSchemaVersion::V_1; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<StorageClassAnalysisSchemaVersion>(hashCode); + } + + return StorageClassAnalysisSchemaVersion::NOT_SET; + } + + Aws::String GetNameForStorageClassAnalysisSchemaVersion(StorageClassAnalysisSchemaVersion enumValue) + { + switch(enumValue) + { + case StorageClassAnalysisSchemaVersion::V_1: + return "V_1"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace StorageClassAnalysisSchemaVersionMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Tag.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Tag.cpp new file mode 100644 index 0000000000..817c0929f6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Tag.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Tag.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 +{ + +Tag::Tag() : + m_keyHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +Tag::Tag(const XmlNode& xmlNode) : + m_keyHasBeenSet(false), + m_valueHasBeenSet(false) +{ + *this = xmlNode; +} + +Tag& Tag::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode keyNode = resultNode.FirstChild("Key"); + if(!keyNode.IsNull()) + { + m_key = Aws::Utils::Xml::DecodeEscapedXmlText(keyNode.GetText()); + m_keyHasBeenSet = true; + } + XmlNode valueNode = resultNode.FirstChild("Value"); + if(!valueNode.IsNull()) + { + m_value = Aws::Utils::Xml::DecodeEscapedXmlText(valueNode.GetText()); + m_valueHasBeenSet = true; + } + } + + return *this; +} + +void Tag::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + XmlNode keyNode = parentNode.CreateChildElement("Key"); + keyNode.SetText(m_key); + } + + if(m_valueHasBeenSet) + { + XmlNode valueNode = parentNode.CreateChildElement("Value"); + valueNode.SetText(m_value); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Tagging.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Tagging.cpp new file mode 100644 index 0000000000..bb31db9db7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Tagging.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Tagging.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 +{ + +Tagging::Tagging() : + m_tagSetHasBeenSet(false) +{ +} + +Tagging::Tagging(const XmlNode& xmlNode) : + m_tagSetHasBeenSet(false) +{ + *this = xmlNode; +} + +Tagging& Tagging::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode tagSetNode = resultNode.FirstChild("TagSet"); + if(!tagSetNode.IsNull()) + { + XmlNode tagSetMember = tagSetNode.FirstChild("Tag"); + while(!tagSetMember.IsNull()) + { + m_tagSet.push_back(tagSetMember); + tagSetMember = tagSetMember.NextNode("Tag"); + } + + m_tagSetHasBeenSet = true; + } + } + + return *this; +} + +void Tagging::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_tagSetHasBeenSet) + { + XmlNode tagSetParentNode = parentNode.CreateChildElement("TagSet"); + for(const auto& item : m_tagSet) + { + XmlNode tagSetNode = tagSetParentNode.CreateChildElement("Tag"); + item.AddToNode(tagSetNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TaggingDirective.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TaggingDirective.cpp new file mode 100644 index 0000000000..aa0d9e7806 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TaggingDirective.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/TaggingDirective.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace TaggingDirectiveMapper + { + + static const int COPY_HASH = HashingUtils::HashString("COPY"); + static const int REPLACE_HASH = HashingUtils::HashString("REPLACE"); + + + TaggingDirective GetTaggingDirectiveForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == COPY_HASH) + { + return TaggingDirective::COPY; + } + else if (hashCode == REPLACE_HASH) + { + return TaggingDirective::REPLACE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<TaggingDirective>(hashCode); + } + + return TaggingDirective::NOT_SET; + } + + Aws::String GetNameForTaggingDirective(TaggingDirective enumValue) + { + switch(enumValue) + { + case TaggingDirective::COPY: + return "COPY"; + case TaggingDirective::REPLACE: + return "REPLACE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace TaggingDirectiveMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TargetGrant.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TargetGrant.cpp new file mode 100644 index 0000000000..900c5d8dc1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TargetGrant.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/TargetGrant.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 +{ + +TargetGrant::TargetGrant() : + m_granteeHasBeenSet(false), + m_permission(BucketLogsPermission::NOT_SET), + m_permissionHasBeenSet(false) +{ +} + +TargetGrant::TargetGrant(const XmlNode& xmlNode) : + m_granteeHasBeenSet(false), + m_permission(BucketLogsPermission::NOT_SET), + m_permissionHasBeenSet(false) +{ + *this = xmlNode; +} + +TargetGrant& TargetGrant::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode granteeNode = resultNode.FirstChild("Grantee"); + if(!granteeNode.IsNull()) + { + m_grantee = granteeNode; + m_granteeHasBeenSet = true; + } + XmlNode permissionNode = resultNode.FirstChild("Permission"); + if(!permissionNode.IsNull()) + { + m_permission = BucketLogsPermissionMapper::GetBucketLogsPermissionForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(permissionNode.GetText()).c_str()).c_str()); + m_permissionHasBeenSet = true; + } + } + + return *this; +} + +void TargetGrant::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_granteeHasBeenSet) + { + XmlNode granteeNode = parentNode.CreateChildElement("Grantee"); + m_grantee.AddToNode(granteeNode); + } + + if(m_permissionHasBeenSet) + { + XmlNode permissionNode = parentNode.CreateChildElement("Permission"); + permissionNode.SetText(BucketLogsPermissionMapper::GetNameForBucketLogsPermission(m_permission)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Tier.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Tier.cpp new file mode 100644 index 0000000000..874f6b744f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Tier.cpp @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Tier.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace TierMapper + { + + static const int Standard_HASH = HashingUtils::HashString("Standard"); + static const int Bulk_HASH = HashingUtils::HashString("Bulk"); + static const int Expedited_HASH = HashingUtils::HashString("Expedited"); + + + Tier GetTierForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Standard_HASH) + { + return Tier::Standard; + } + else if (hashCode == Bulk_HASH) + { + return Tier::Bulk; + } + else if (hashCode == Expedited_HASH) + { + return Tier::Expedited; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<Tier>(hashCode); + } + + return Tier::NOT_SET; + } + + Aws::String GetNameForTier(Tier enumValue) + { + switch(enumValue) + { + case Tier::Standard: + return "Standard"; + case Tier::Bulk: + return "Bulk"; + case Tier::Expedited: + return "Expedited"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace TierMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Tiering.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Tiering.cpp new file mode 100644 index 0000000000..e3149b9c43 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Tiering.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Tiering.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 +{ + +Tiering::Tiering() : + m_days(0), + m_daysHasBeenSet(false), + m_accessTier(IntelligentTieringAccessTier::NOT_SET), + m_accessTierHasBeenSet(false) +{ +} + +Tiering::Tiering(const XmlNode& xmlNode) : + m_days(0), + m_daysHasBeenSet(false), + m_accessTier(IntelligentTieringAccessTier::NOT_SET), + m_accessTierHasBeenSet(false) +{ + *this = xmlNode; +} + +Tiering& Tiering::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode daysNode = resultNode.FirstChild("Days"); + if(!daysNode.IsNull()) + { + m_days = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(daysNode.GetText()).c_str()).c_str()); + m_daysHasBeenSet = true; + } + XmlNode accessTierNode = resultNode.FirstChild("AccessTier"); + if(!accessTierNode.IsNull()) + { + m_accessTier = IntelligentTieringAccessTierMapper::GetIntelligentTieringAccessTierForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(accessTierNode.GetText()).c_str()).c_str()); + m_accessTierHasBeenSet = true; + } + } + + return *this; +} + +void Tiering::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_daysHasBeenSet) + { + XmlNode daysNode = parentNode.CreateChildElement("Days"); + ss << m_days; + daysNode.SetText(ss.str()); + ss.str(""); + } + + if(m_accessTierHasBeenSet) + { + XmlNode accessTierNode = parentNode.CreateChildElement("AccessTier"); + accessTierNode.SetText(IntelligentTieringAccessTierMapper::GetNameForIntelligentTieringAccessTier(m_accessTier)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TopicConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TopicConfiguration.cpp new file mode 100644 index 0000000000..768acf8f8f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TopicConfiguration.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/TopicConfiguration.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 +{ + +TopicConfiguration::TopicConfiguration() : + m_idHasBeenSet(false), + m_topicArnHasBeenSet(false), + m_eventsHasBeenSet(false), + m_filterHasBeenSet(false) +{ +} + +TopicConfiguration::TopicConfiguration(const XmlNode& xmlNode) : + m_idHasBeenSet(false), + m_topicArnHasBeenSet(false), + m_eventsHasBeenSet(false), + m_filterHasBeenSet(false) +{ + *this = xmlNode; +} + +TopicConfiguration& TopicConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode idNode = resultNode.FirstChild("Id"); + if(!idNode.IsNull()) + { + m_id = Aws::Utils::Xml::DecodeEscapedXmlText(idNode.GetText()); + m_idHasBeenSet = true; + } + XmlNode topicArnNode = resultNode.FirstChild("Topic"); + if(!topicArnNode.IsNull()) + { + m_topicArn = Aws::Utils::Xml::DecodeEscapedXmlText(topicArnNode.GetText()); + m_topicArnHasBeenSet = true; + } + XmlNode eventsNode = resultNode.FirstChild("Event"); + if(!eventsNode.IsNull()) + { + XmlNode eventMember = eventsNode; + while(!eventMember.IsNull()) + { + m_events.push_back(EventMapper::GetEventForName(StringUtils::Trim(eventMember.GetText().c_str()))); + eventMember = eventMember.NextNode("Event"); + } + + m_eventsHasBeenSet = true; + } + XmlNode filterNode = resultNode.FirstChild("Filter"); + if(!filterNode.IsNull()) + { + m_filter = filterNode; + m_filterHasBeenSet = true; + } + } + + return *this; +} + +void TopicConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + XmlNode idNode = parentNode.CreateChildElement("Id"); + idNode.SetText(m_id); + } + + if(m_topicArnHasBeenSet) + { + XmlNode topicArnNode = parentNode.CreateChildElement("Topic"); + topicArnNode.SetText(m_topicArn); + } + + if(m_eventsHasBeenSet) + { + for(const auto& item : m_events) + { + XmlNode eventsNode = parentNode.CreateChildElement("Event"); + eventsNode.SetText(EventMapper::GetNameForEvent(item)); + } + } + + if(m_filterHasBeenSet) + { + XmlNode filterNode = parentNode.CreateChildElement("Filter"); + m_filter.AddToNode(filterNode); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TopicConfigurationDeprecated.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TopicConfigurationDeprecated.cpp new file mode 100644 index 0000000000..321fb3eafa --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TopicConfigurationDeprecated.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/TopicConfigurationDeprecated.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 +{ + +TopicConfigurationDeprecated::TopicConfigurationDeprecated() : + m_idHasBeenSet(false), + m_eventsHasBeenSet(false), + m_topicHasBeenSet(false) +{ +} + +TopicConfigurationDeprecated::TopicConfigurationDeprecated(const XmlNode& xmlNode) : + m_idHasBeenSet(false), + m_eventsHasBeenSet(false), + m_topicHasBeenSet(false) +{ + *this = xmlNode; +} + +TopicConfigurationDeprecated& TopicConfigurationDeprecated::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode idNode = resultNode.FirstChild("Id"); + if(!idNode.IsNull()) + { + m_id = Aws::Utils::Xml::DecodeEscapedXmlText(idNode.GetText()); + m_idHasBeenSet = true; + } + XmlNode eventsNode = resultNode.FirstChild("Event"); + if(!eventsNode.IsNull()) + { + XmlNode eventMember = eventsNode; + while(!eventMember.IsNull()) + { + m_events.push_back(EventMapper::GetEventForName(StringUtils::Trim(eventMember.GetText().c_str()))); + eventMember = eventMember.NextNode("Event"); + } + + m_eventsHasBeenSet = true; + } + XmlNode topicNode = resultNode.FirstChild("Topic"); + if(!topicNode.IsNull()) + { + m_topic = Aws::Utils::Xml::DecodeEscapedXmlText(topicNode.GetText()); + m_topicHasBeenSet = true; + } + } + + return *this; +} + +void TopicConfigurationDeprecated::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_idHasBeenSet) + { + XmlNode idNode = parentNode.CreateChildElement("Id"); + idNode.SetText(m_id); + } + + if(m_eventsHasBeenSet) + { + for(const auto& item : m_events) + { + XmlNode eventsNode = parentNode.CreateChildElement("Event"); + eventsNode.SetText(EventMapper::GetNameForEvent(item)); + } + } + + if(m_topicHasBeenSet) + { + XmlNode topicNode = parentNode.CreateChildElement("Topic"); + topicNode.SetText(m_topic); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Transition.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Transition.cpp new file mode 100644 index 0000000000..8dcefe5df2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Transition.cpp @@ -0,0 +1,98 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Transition.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 +{ + +Transition::Transition() : + m_dateHasBeenSet(false), + m_days(0), + m_daysHasBeenSet(false), + m_storageClass(TransitionStorageClass::NOT_SET), + m_storageClassHasBeenSet(false) +{ +} + +Transition::Transition(const XmlNode& xmlNode) : + m_dateHasBeenSet(false), + m_days(0), + m_daysHasBeenSet(false), + m_storageClass(TransitionStorageClass::NOT_SET), + m_storageClassHasBeenSet(false) +{ + *this = xmlNode; +} + +Transition& Transition::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode dateNode = resultNode.FirstChild("Date"); + if(!dateNode.IsNull()) + { + m_date = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(dateNode.GetText()).c_str()).c_str(), DateFormat::ISO_8601); + m_dateHasBeenSet = true; + } + XmlNode daysNode = resultNode.FirstChild("Days"); + if(!daysNode.IsNull()) + { + m_days = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(daysNode.GetText()).c_str()).c_str()); + m_daysHasBeenSet = true; + } + XmlNode storageClassNode = resultNode.FirstChild("StorageClass"); + if(!storageClassNode.IsNull()) + { + m_storageClass = TransitionStorageClassMapper::GetTransitionStorageClassForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(storageClassNode.GetText()).c_str()).c_str()); + m_storageClassHasBeenSet = true; + } + } + + return *this; +} + +void Transition::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_dateHasBeenSet) + { + XmlNode dateNode = parentNode.CreateChildElement("Date"); + dateNode.SetText(m_date.ToGmtString(DateFormat::ISO_8601)); + } + + if(m_daysHasBeenSet) + { + XmlNode daysNode = parentNode.CreateChildElement("Days"); + ss << m_days; + daysNode.SetText(ss.str()); + ss.str(""); + } + + if(m_storageClassHasBeenSet) + { + XmlNode storageClassNode = parentNode.CreateChildElement("StorageClass"); + storageClassNode.SetText(TransitionStorageClassMapper::GetNameForTransitionStorageClass(m_storageClass)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TransitionStorageClass.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TransitionStorageClass.cpp new file mode 100644 index 0000000000..2149177071 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TransitionStorageClass.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/TransitionStorageClass.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace TransitionStorageClassMapper + { + + static const int GLACIER_HASH = HashingUtils::HashString("GLACIER"); + static const int STANDARD_IA_HASH = HashingUtils::HashString("STANDARD_IA"); + static const int ONEZONE_IA_HASH = HashingUtils::HashString("ONEZONE_IA"); + static const int INTELLIGENT_TIERING_HASH = HashingUtils::HashString("INTELLIGENT_TIERING"); + static const int DEEP_ARCHIVE_HASH = HashingUtils::HashString("DEEP_ARCHIVE"); + + + TransitionStorageClass GetTransitionStorageClassForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == GLACIER_HASH) + { + return TransitionStorageClass::GLACIER; + } + else if (hashCode == STANDARD_IA_HASH) + { + return TransitionStorageClass::STANDARD_IA; + } + else if (hashCode == ONEZONE_IA_HASH) + { + return TransitionStorageClass::ONEZONE_IA; + } + else if (hashCode == INTELLIGENT_TIERING_HASH) + { + return TransitionStorageClass::INTELLIGENT_TIERING; + } + else if (hashCode == DEEP_ARCHIVE_HASH) + { + return TransitionStorageClass::DEEP_ARCHIVE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<TransitionStorageClass>(hashCode); + } + + return TransitionStorageClass::NOT_SET; + } + + Aws::String GetNameForTransitionStorageClass(TransitionStorageClass enumValue) + { + switch(enumValue) + { + case TransitionStorageClass::GLACIER: + return "GLACIER"; + case TransitionStorageClass::STANDARD_IA: + return "STANDARD_IA"; + case TransitionStorageClass::ONEZONE_IA: + return "ONEZONE_IA"; + case TransitionStorageClass::INTELLIGENT_TIERING: + return "INTELLIGENT_TIERING"; + case TransitionStorageClass::DEEP_ARCHIVE: + return "DEEP_ARCHIVE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace TransitionStorageClassMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Type.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Type.cpp new file mode 100644 index 0000000000..3e325609a2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Type.cpp @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/Type.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace TypeMapper + { + + static const int CanonicalUser_HASH = HashingUtils::HashString("CanonicalUser"); + static const int AmazonCustomerByEmail_HASH = HashingUtils::HashString("AmazonCustomerByEmail"); + static const int Group_HASH = HashingUtils::HashString("Group"); + + + Type GetTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CanonicalUser_HASH) + { + return Type::CanonicalUser; + } + else if (hashCode == AmazonCustomerByEmail_HASH) + { + return Type::AmazonCustomerByEmail; + } + else if (hashCode == Group_HASH) + { + return Type::Group; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<Type>(hashCode); + } + + return Type::NOT_SET; + } + + Aws::String GetNameForType(Type enumValue) + { + switch(enumValue) + { + case Type::CanonicalUser: + return "CanonicalUser"; + case Type::AmazonCustomerByEmail: + return "AmazonCustomerByEmail"; + case Type::Group: + return "Group"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace TypeMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/UploadPartCopyRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/UploadPartCopyRequest.cpp new file mode 100644 index 0000000000..364af9b8fc --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/UploadPartCopyRequest.cpp @@ -0,0 +1,190 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/UploadPartCopyRequest.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +UploadPartCopyRequest::UploadPartCopyRequest() : + m_bucketHasBeenSet(false), + m_copySourceHasBeenSet(false), + m_copySourceIfMatchHasBeenSet(false), + m_copySourceIfModifiedSinceHasBeenSet(false), + m_copySourceIfNoneMatchHasBeenSet(false), + m_copySourceIfUnmodifiedSinceHasBeenSet(false), + m_copySourceRangeHasBeenSet(false), + m_keyHasBeenSet(false), + m_partNumber(0), + m_partNumberHasBeenSet(false), + m_uploadIdHasBeenSet(false), + m_sSECustomerAlgorithmHasBeenSet(false), + m_sSECustomerKeyHasBeenSet(false), + m_sSECustomerKeyMD5HasBeenSet(false), + m_copySourceSSECustomerAlgorithmHasBeenSet(false), + m_copySourceSSECustomerKeyHasBeenSet(false), + m_copySourceSSECustomerKeyMD5HasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_expectedSourceBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String UploadPartCopyRequest::SerializePayload() const +{ + return {}; +} + +void UploadPartCopyRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_partNumberHasBeenSet) + { + ss << m_partNumber; + uri.AddQueryStringParameter("partNumber", ss.str()); + ss.str(""); + } + + if(m_uploadIdHasBeenSet) + { + ss << m_uploadId; + uri.AddQueryStringParameter("uploadId", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection UploadPartCopyRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_copySourceHasBeenSet) + { + ss << m_copySource; + headers.emplace("x-amz-copy-source", URI::URLEncodePath(ss.str())); + ss.str(""); + } + + if(m_copySourceIfMatchHasBeenSet) + { + ss << m_copySourceIfMatch; + headers.emplace("x-amz-copy-source-if-match", ss.str()); + ss.str(""); + } + + if(m_copySourceIfModifiedSinceHasBeenSet) + { + headers.emplace("x-amz-copy-source-if-modified-since", m_copySourceIfModifiedSince.ToGmtString(DateFormat::RFC822)); + } + + if(m_copySourceIfNoneMatchHasBeenSet) + { + ss << m_copySourceIfNoneMatch; + headers.emplace("x-amz-copy-source-if-none-match", ss.str()); + ss.str(""); + } + + if(m_copySourceIfUnmodifiedSinceHasBeenSet) + { + headers.emplace("x-amz-copy-source-if-unmodified-since", m_copySourceIfUnmodifiedSince.ToGmtString(DateFormat::RFC822)); + } + + if(m_copySourceRangeHasBeenSet) + { + ss << m_copySourceRange; + headers.emplace("x-amz-copy-source-range", ss.str()); + ss.str(""); + } + + if(m_sSECustomerAlgorithmHasBeenSet) + { + ss << m_sSECustomerAlgorithm; + headers.emplace("x-amz-server-side-encryption-customer-algorithm", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyHasBeenSet) + { + ss << m_sSECustomerKey; + headers.emplace("x-amz-server-side-encryption-customer-key", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyMD5HasBeenSet) + { + ss << m_sSECustomerKeyMD5; + headers.emplace("x-amz-server-side-encryption-customer-key-md5", ss.str()); + ss.str(""); + } + + if(m_copySourceSSECustomerAlgorithmHasBeenSet) + { + ss << m_copySourceSSECustomerAlgorithm; + headers.emplace("x-amz-copy-source-server-side-encryption-customer-algorithm", ss.str()); + ss.str(""); + } + + if(m_copySourceSSECustomerKeyHasBeenSet) + { + ss << m_copySourceSSECustomerKey; + headers.emplace("x-amz-copy-source-server-side-encryption-customer-key", ss.str()); + ss.str(""); + } + + if(m_copySourceSSECustomerKeyMD5HasBeenSet) + { + ss << m_copySourceSSECustomerKeyMD5; + headers.emplace("x-amz-copy-source-server-side-encryption-customer-key-md5", ss.str()); + ss.str(""); + } + + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + if(m_expectedSourceBucketOwnerHasBeenSet) + { + ss << m_expectedSourceBucketOwner; + headers.emplace("x-amz-source-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/UploadPartCopyResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/UploadPartCopyResult.cpp new file mode 100644 index 0000000000..22cd2cf4d7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/UploadPartCopyResult.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/UploadPartCopyResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +UploadPartCopyResult::UploadPartCopyResult() : + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_bucketKeyEnabled(false), + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +UploadPartCopyResult::UploadPartCopyResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_bucketKeyEnabled(false), + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +UploadPartCopyResult& UploadPartCopyResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_copyPartResult = resultNode; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& copySourceVersionIdIter = headers.find("x-amz-copy-source-version-id"); + if(copySourceVersionIdIter != headers.end()) + { + m_copySourceVersionId = copySourceVersionIdIter->second; + } + + const auto& serverSideEncryptionIter = headers.find("x-amz-server-side-encryption"); + if(serverSideEncryptionIter != headers.end()) + { + m_serverSideEncryption = ServerSideEncryptionMapper::GetServerSideEncryptionForName(serverSideEncryptionIter->second); + } + + const auto& sSECustomerAlgorithmIter = headers.find("x-amz-server-side-encryption-customer-algorithm"); + if(sSECustomerAlgorithmIter != headers.end()) + { + m_sSECustomerAlgorithm = sSECustomerAlgorithmIter->second; + } + + const auto& sSECustomerKeyMD5Iter = headers.find("x-amz-server-side-encryption-customer-key-md5"); + if(sSECustomerKeyMD5Iter != headers.end()) + { + m_sSECustomerKeyMD5 = sSECustomerKeyMD5Iter->second; + } + + const auto& sSEKMSKeyIdIter = headers.find("x-amz-server-side-encryption-aws-kms-key-id"); + if(sSEKMSKeyIdIter != headers.end()) + { + m_sSEKMSKeyId = sSEKMSKeyIdIter->second; + } + + const auto& bucketKeyEnabledIter = headers.find("x-amz-server-side-encryption-bucket-key-enabled"); + if(bucketKeyEnabledIter != headers.end()) + { + m_bucketKeyEnabled = StringUtils::ConvertToBool(bucketKeyEnabledIter->second.c_str()); + } + + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/UploadPartRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/UploadPartRequest.cpp new file mode 100644 index 0000000000..ee4a67ee07 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/UploadPartRequest.cpp @@ -0,0 +1,129 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/UploadPartRequest.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws::Http; +using namespace Aws; + +UploadPartRequest::UploadPartRequest() : + m_bucketHasBeenSet(false), + m_contentLength(0), + m_contentLengthHasBeenSet(false), + m_contentMD5HasBeenSet(false), + m_keyHasBeenSet(false), + m_partNumber(0), + m_partNumberHasBeenSet(false), + m_uploadIdHasBeenSet(false), + m_sSECustomerAlgorithmHasBeenSet(false), + m_sSECustomerKeyHasBeenSet(false), + m_sSECustomerKeyMD5HasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + + +void UploadPartRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_partNumberHasBeenSet) + { + ss << m_partNumber; + uri.AddQueryStringParameter("partNumber", ss.str()); + ss.str(""); + } + + if(m_uploadIdHasBeenSet) + { + ss << m_uploadId; + uri.AddQueryStringParameter("uploadId", ss.str()); + ss.str(""); + } + + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection UploadPartRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_contentLengthHasBeenSet) + { + ss << m_contentLength; + headers.emplace("content-length", ss.str()); + ss.str(""); + } + + if(m_contentMD5HasBeenSet) + { + ss << m_contentMD5; + headers.emplace("content-md5", ss.str()); + ss.str(""); + } + + if(m_sSECustomerAlgorithmHasBeenSet) + { + ss << m_sSECustomerAlgorithm; + headers.emplace("x-amz-server-side-encryption-customer-algorithm", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyHasBeenSet) + { + ss << m_sSECustomerKey; + headers.emplace("x-amz-server-side-encryption-customer-key", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyMD5HasBeenSet) + { + ss << m_sSECustomerKeyMD5; + headers.emplace("x-amz-server-side-encryption-customer-key-md5", ss.str()); + ss.str(""); + } + + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; + +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/UploadPartResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/UploadPartResult.cpp new file mode 100644 index 0000000000..13ad60a463 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/UploadPartResult.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/UploadPartResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +UploadPartResult::UploadPartResult() : + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_bucketKeyEnabled(false), + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +UploadPartResult::UploadPartResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_bucketKeyEnabled(false), + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +UploadPartResult& UploadPartResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& serverSideEncryptionIter = headers.find("x-amz-server-side-encryption"); + if(serverSideEncryptionIter != headers.end()) + { + m_serverSideEncryption = ServerSideEncryptionMapper::GetServerSideEncryptionForName(serverSideEncryptionIter->second); + } + + const auto& eTagIter = headers.find("etag"); + if(eTagIter != headers.end()) + { + m_eTag = eTagIter->second; + } + + const auto& sSECustomerAlgorithmIter = headers.find("x-amz-server-side-encryption-customer-algorithm"); + if(sSECustomerAlgorithmIter != headers.end()) + { + m_sSECustomerAlgorithm = sSECustomerAlgorithmIter->second; + } + + const auto& sSECustomerKeyMD5Iter = headers.find("x-amz-server-side-encryption-customer-key-md5"); + if(sSECustomerKeyMD5Iter != headers.end()) + { + m_sSECustomerKeyMD5 = sSECustomerKeyMD5Iter->second; + } + + const auto& sSEKMSKeyIdIter = headers.find("x-amz-server-side-encryption-aws-kms-key-id"); + if(sSEKMSKeyIdIter != headers.end()) + { + m_sSEKMSKeyId = sSEKMSKeyIdIter->second; + } + + const auto& bucketKeyEnabledIter = headers.find("x-amz-server-side-encryption-bucket-key-enabled"); + if(bucketKeyEnabledIter != headers.end()) + { + m_bucketKeyEnabled = StringUtils::ConvertToBool(bucketKeyEnabledIter->second.c_str()); + } + + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/VersioningConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/VersioningConfiguration.cpp new file mode 100644 index 0000000000..aee5ece27d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/VersioningConfiguration.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/VersioningConfiguration.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 +{ + +VersioningConfiguration::VersioningConfiguration() : + m_mFADelete(MFADelete::NOT_SET), + m_mFADeleteHasBeenSet(false), + m_status(BucketVersioningStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +VersioningConfiguration::VersioningConfiguration(const XmlNode& xmlNode) : + m_mFADelete(MFADelete::NOT_SET), + m_mFADeleteHasBeenSet(false), + m_status(BucketVersioningStatus::NOT_SET), + m_statusHasBeenSet(false) +{ + *this = xmlNode; +} + +VersioningConfiguration& VersioningConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode mFADeleteNode = resultNode.FirstChild("MfaDelete"); + if(!mFADeleteNode.IsNull()) + { + m_mFADelete = MFADeleteMapper::GetMFADeleteForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(mFADeleteNode.GetText()).c_str()).c_str()); + m_mFADeleteHasBeenSet = true; + } + XmlNode statusNode = resultNode.FirstChild("Status"); + if(!statusNode.IsNull()) + { + m_status = BucketVersioningStatusMapper::GetBucketVersioningStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusNode.GetText()).c_str()).c_str()); + m_statusHasBeenSet = true; + } + } + + return *this; +} + +void VersioningConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_mFADeleteHasBeenSet) + { + XmlNode mFADeleteNode = parentNode.CreateChildElement("MfaDelete"); + mFADeleteNode.SetText(MFADeleteMapper::GetNameForMFADelete(m_mFADelete)); + } + + if(m_statusHasBeenSet) + { + XmlNode statusNode = parentNode.CreateChildElement("Status"); + statusNode.SetText(BucketVersioningStatusMapper::GetNameForBucketVersioningStatus(m_status)); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/WebsiteConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/WebsiteConfiguration.cpp new file mode 100644 index 0000000000..c911eae838 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/WebsiteConfiguration.cpp @@ -0,0 +1,116 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/WebsiteConfiguration.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 +{ + +WebsiteConfiguration::WebsiteConfiguration() : + m_errorDocumentHasBeenSet(false), + m_indexDocumentHasBeenSet(false), + m_redirectAllRequestsToHasBeenSet(false), + m_routingRulesHasBeenSet(false) +{ +} + +WebsiteConfiguration::WebsiteConfiguration(const XmlNode& xmlNode) : + m_errorDocumentHasBeenSet(false), + m_indexDocumentHasBeenSet(false), + m_redirectAllRequestsToHasBeenSet(false), + m_routingRulesHasBeenSet(false) +{ + *this = xmlNode; +} + +WebsiteConfiguration& WebsiteConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode errorDocumentNode = resultNode.FirstChild("ErrorDocument"); + if(!errorDocumentNode.IsNull()) + { + m_errorDocument = errorDocumentNode; + m_errorDocumentHasBeenSet = true; + } + XmlNode indexDocumentNode = resultNode.FirstChild("IndexDocument"); + if(!indexDocumentNode.IsNull()) + { + m_indexDocument = indexDocumentNode; + m_indexDocumentHasBeenSet = true; + } + XmlNode redirectAllRequestsToNode = resultNode.FirstChild("RedirectAllRequestsTo"); + if(!redirectAllRequestsToNode.IsNull()) + { + m_redirectAllRequestsTo = redirectAllRequestsToNode; + m_redirectAllRequestsToHasBeenSet = true; + } + XmlNode routingRulesNode = resultNode.FirstChild("RoutingRules"); + if(!routingRulesNode.IsNull()) + { + XmlNode routingRulesMember = routingRulesNode.FirstChild("RoutingRule"); + while(!routingRulesMember.IsNull()) + { + m_routingRules.push_back(routingRulesMember); + routingRulesMember = routingRulesMember.NextNode("RoutingRule"); + } + + m_routingRulesHasBeenSet = true; + } + } + + return *this; +} + +void WebsiteConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_errorDocumentHasBeenSet) + { + XmlNode errorDocumentNode = parentNode.CreateChildElement("ErrorDocument"); + m_errorDocument.AddToNode(errorDocumentNode); + } + + if(m_indexDocumentHasBeenSet) + { + XmlNode indexDocumentNode = parentNode.CreateChildElement("IndexDocument"); + m_indexDocument.AddToNode(indexDocumentNode); + } + + if(m_redirectAllRequestsToHasBeenSet) + { + XmlNode redirectAllRequestsToNode = parentNode.CreateChildElement("RedirectAllRequestsTo"); + m_redirectAllRequestsTo.AddToNode(redirectAllRequestsToNode); + } + + if(m_routingRulesHasBeenSet) + { + XmlNode routingRulesParentNode = parentNode.CreateChildElement("RoutingRules"); + for(const auto& item : m_routingRules) + { + XmlNode routingRulesNode = routingRulesParentNode.CreateChildElement("RoutingRule"); + item.AddToNode(routingRulesNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws |